我正在为一个运动队制作一个页面,教练可以在其中选择他的球队。我想做的是:
1)打印不同的位置
2) 在位置名称旁边指定仅与该位置相关的球员。(即如果位置名称为侧卫,则下拉菜单中应仅显示侧卫)
我对上述问题的逻辑是:
将位置名称分配给名为 $position 的数组循环遍历数组
查询数据库,每次循环后位置具有不同的值。
与位置匹配的选定球员被分配到一个名为 $playerName 的数组中
打印 $position 变量
为每个职位创建下拉菜单
将 $playername 数组中的值分配给下拉菜单中的选项元素。
现在应该有不同的位置和下拉菜单,在它们旁边,包含与位置相关的球员姓名。
//创建位置数组
$position = array(
"THP",
"HKR",
"LH",
"LK4",
"LK5",
"FLH"
);
echo '<form name="slectPlayers" method="post">';
foreach ($position as $pposition) {
$result = mysql_query("SELECT `player_id`,`name`,`surname` FROM `player_info` WHERE `position` = '$pposition'") or die(mysql_error());
while ($row = mysql_fetch_array($result)) { //create arrays
$id[] = $row['player_id'];
$playerName[] = $row['name'];
$playerLastName[] = $row['surname'];
// print position and open select element
foreach ($position as $playerPosition) {
print $playerPosition;
echo '<select>';
foreach ($playerName as $name) { //assign playername to position element
echo '<option>' . $name;
'</option>';
echo '</select>';
echo '<br />';
} //close assign player nae to position loop
} //end print position and open select loop
} //end while loop
} //end opening for each loop
echo '</form>';
对我来说不幸的是,要么我的逻辑错误,要么我的代码不正确。这是我得到的输出:( 注意只有名称 Tendai 显示在所有下拉菜单中,没有其他名称出现)
如果整个早上都在为此苦苦挣扎,如果有人能指出我正确的方向,将不胜感激
(版主请注意,上面的图片不包含真实姓名,只是一个虚构的数据库)