我正在为一个运动队制作一个页面,教练可以在其中选择他的球队。我想做的是:
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 显示在所有下拉菜单中,没有其他名称出现)
我整个早上都在努力解决这个问题,如果有人能指出我正确的方向,我将不胜感激
(版主请注意,上面的图片不包含真实姓名,只是一个虚构的数据库)