2013-10-20 89 views
0

請原諒這個新手問題,但最近纔開始使用PHP。過去一小時我一直堅持這一點。顯示數組值的PHP selectmenu錯誤

從我的db中的表中拉動玩家名稱和位置 然後,我爲每個循環使用a來提取分配給數組的數據。 在foreach循環中,我有一個變量的選項標籤

當我執行腳本時,我期望看到與selectmenu中不同位置相關的玩家名稱。但我正在通過圖像看到一些奇怪的錯誤。

enter image description here

我的代碼如下:

include 'connect.php'; 
$position = array("THP", "HKR", "LHP", "LK4", "LK5", "FL6", "FL7", "NR8", "SH", "FH"); 
var_dump($position); 
$size = sizeof($position); 
    for($i=0; $size > $i; $i++) 
    { 
     $result = mysql_query("SELECT `player_id`, `name`, `surname`, `position` 
        FROM `player_info` 
        WHERE `position` = '$position[$i]'") 
        or die(mysql_error()); 
var_dump($position[$i]); 
       while($row = mysql_fetch_array($result)) 
       { 
        $playername = $row['name']; 
        $player_lastname = $row['surname']; 
        $player_position = $row['position'];  
       } 
    var_dump($playername); 
echo'<form name="teamselect" method="post">'; 
    print $position[$i]; 
    echo'<select name="team">'; 
     foreach($playername as $name) 
     { 
      echo '<option value="'.$name.'">'.$name.'</option>';    
     } 
     echo'</select>'; 
     echo'</form>'; 
unset($name); 
    } 

如果任何人都可以在正確的方向點我將不勝感激。

非常感謝你提前

P.S我意識到我的代碼是SQL注入非常脆弱。當我開始學習時,我會解決這個問題

+0

我沒有看到任何錯誤這是var_dump()的輸出 –

+0

yes是var_dump()的輸出 –

+0

所以有什麼奇怪的 –

回答

1

我不明白爲什麼你迭代兩次相同的數據。試試這個:

include 'connect.php'; 
$position = array("THP", "HKR", "LHP", "LK4", "LK5", "FL6", "FL7", "NR8", "SH", "FH"); 
var_dump($position); 
$size = sizeof($position); 
echo'<form name="teamselect" method="post">'; 
    for($i=0; $size > $i; $i++) 
    { 
     echo'<select name="team[]">'; 
     $result = mysql_query("SELECT `player_id`, `name`, `surname`, `position` 
        FROM `player_info` 
        WHERE `position` = '$position[$i]'") 
        or die(mysql_error()); 
     while($row = mysql_fetch_array($result)) 
     { 
      echo '<option value="'.$row['name'].'">'.$row['name'].'</option>'; 
      /*$playername = $row['name']; 
       $player_lastname = $row['surname']; 
       $player_position = $row['position']; */ 
     } 
     echo'</select>'; 
    } 
echo'</form>'; 

注「選擇名稱=」團隊[]」這將發送給您的所有選擇的數組$ _ POST [‘團隊’]