2010-12-09 31 views
0

我創建以下表格後:如何在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>"; 
    } 

它創建$ _POST數組,看起來像這樣:

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

基本上我想
1 - 一個節拍進入ID = 13 2 - 遠程進入id = 14

我可以看到所有的數據,但我真的不知道如何操縱它...我對數組並不太熱。我如何引用這些以$ _ POST [ '????']涉及ID值

+0

你能使其更容易理解? – 2010-12-09 10:06:38

回答

0

非常感謝在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

使用

$_POST['trackname'][13] 

得到 「一所拍」。

0

嘗試使用

print_r($_POST);

這會給你您的文章清楚地縮進,這樣你就可以通過它輕鬆導航。

然後,編輯你的問題聽起來更清楚,如果你仍然需要幫助。