在我的网站上,用户可以从32名球员中选择球员。首发阵容中有15个位置,因此需要从32个球员阵容中选择15个球员。
如果您看图1,您会发现Badden Kerr可以同时打蝇头和后卫。
问题
在选择列表中,没有显示玩家的次要位置。作为示例,如果再次查看图像1,您会看到Badden Kerr可以同时发挥蝇头和后卫。但在第二张图片中,后卫位置为空,Baden Kerrs的名字未出现在其次要位置(后卫)
当我在Phpmyadmin中运行以下sql语句时:
SELECT * FROM `allsquads` WHERE `Team` = 'Blues' AND `Position` = 'flyhalf' AND `Secondary` = 'fullback'
您可以在下图中看到返回的正确结果:
但是,当我尝试在我的PHP代码中运行相同的SQL语句时,会给我错误/不想要的结果(如您在image2中所看到的)
我的PHP代码如下:
// assign each position to array variable position $position = array( "prop", "hooker", "prop", "lock", "lock", "flank", "flank", "no8", "scrumhalf", "flyhalf", "center", "center", "wing", "wing", "fullback" ); // for loop to loop through the number of positions in the team, which will be used to query DB $size = sizeof($position); for ($i = 0; $i < $size; $i++) { // Query For positions $sqlprops = mysql_query("SELECT * FROM `allsquads` WHERE `Team` = '$t1select' AND `Position` = '$position[$i]' OR `Secondary` = '$position[$i]'") or die(mysql_error());
新问题 当我执行以下查询时
SELECT * FROM `allsquads` WHERE `Team` = '$t1select' AND `Position` = '$position[$i]' OR `Secondary` = '$position[$i]'") or die(mysql_error());
查询现在显示两个位置的球员,但显示不在选择团队中的其他球员?
任何帮助或建议,将不胜感激
先感谢您
因为你有它设置你的PHP代码查询不会产生期望的结果Position,并Secondary以相同的值。根据您提供的示例数据,该数据将不会返回任何内容。
Position
Secondary
如果您正在寻找一个查询来选择合格的玩家来参加比赛,那么您可以将查询更改为以下形式:
SELECT * FROM `allsquads` WHERE `Team` = '$t1select' AND (`Position` = '$position[$i]' OR `Secondary` = '$position[$i]')