2010-12-09 23 views
0

Je crée le poste sous la forme suivante:Comment extraire des données d'un tableau complexe en php?

while ($tracks = mysql_fetch_array($trackstring)){ 
    $tracks = mysql_fetch_array($trackstring)){ 
echo "<li class="tracklist"> 
<input type="text" name="tracknum-[$tracks['song_id']]" 
value="".$tracks['song_tracknumber']"/> 
<input type="text" name="trackname[$tracks['song_id']]" 
value="".$tracks['song_title'].""/> 
</li>"; 
    } 

il est la création d'un tableau de $ _POST qui ressemble à ceci:

Array ([tracknum] => Array ([13] => 1 [14] => 2 [15] => 3) [trackname] => Array ([13] => One Beat [14] => Faraway [15] => Oh!) 

essentiellement Je veux
1 - One Beat aller dans id = 13 2 - Lointain d'entrer dans id = 14

Je peux voir toutes les données là-bas, mais je ne suis pas vraiment sûr de savoir comment le manipuler ... Je ne suis pas si chaud avec les tableaux. Comment puis-je référence à ces avec $ _POST [ '????'] impliquant l'identifiant des valeurs

+0

Pouvez-vous le rendre plus facile à comprendre? –

Répondre

0

grand merci à calibre crânienne aux forums SitePoint :)

$tracknum = $_POST['tracknum']; 
$trackname = $_POST['trackname']; 
if(count($tracknum) == count($trackname)){ // make sure both the array have same elements 
    foreach($tracknum as $songid=>$tracknumber){ 
     $song_tracknumber = $tracknum[$songid]; 
     $song_title = $trackname[$songid]; 
     $sql = "UPDATE songs SET song_tracknumber='$song_tracknumber', song_title='$song_title' WHERE song_id=$songid"; 
    } 
} 
3

utilisation

$_POST['trackname'][13] 

pour obtenir "One Beat".

0

Essayez d'utiliser

print_r($_POST);

Cela vous donnera votre message clairement en retrait, de sorte que vous pouvez facilement naviguer à travers elle. Ensuite, éditez votre question pour qu'elle soit plus claire si vous avez encore besoin d'aide.