gpt4 book ai didi

php - SQL 查询返回错误结果

转载 作者:行者123 更新时间:2023-11-29 01:29:20 25 4
gpt4 key购买 nike

在我的网站上,用户可以从 32 名球员中选择球员。首发阵容中有 15 个位置,因此需要从 32 名球员中选出 15 名球员。

1 名球员可以打多个位置,如下图所示:

enter image description here

现在,当用户从球队中选择首发阵容时,某个可以打多个位置的球员名字(如上图所示)需要出现在两个位置上,不幸的是,这不起作用可以在下图中看到:

enter image description here

如果你看图 1,你会发现巴登科尔可以打边后卫和边后卫。

问题

在选择列表中,玩家的次要位置不会显示出来。例如,如果您再次查看图 1,您会发现巴登科尔可以同时打边后卫和边后卫。但在第二张图片中,边后卫位置是空的,巴登科尔斯的名字也没有出现在他的次要位置(边后卫)


当我在 Phpmyadmin 中运行以下 sql 语句时:

SELECT *
FROM `allsquads`
WHERE `Team` = 'Blues'
AND `Position` = 'flyhalf'
AND `Secondary` = 'fullback'

我得到了正确的返回结果,如下图所示: enter image description here

但是,当我尝试在我的 PHP 代码中运行相同的 SQL 语句时,它会给我错误/不希望的结果(如您在图 2 中所见)

我的 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 代码中的查询不会产生所需的结果,因为您将 PositionSecondary 设置为相同的值。根据您提供的示例数据,不会返回任何内容。

如果您正在寻找一个查询来为 dropdwon 选择符合条件的玩家,您可以将查询更改为如下所示:

SELECT * FROM `allsquads` 
WHERE `Team` = '$t1select'
AND (`Position` = '$position[$i]' OR `Secondary` = '$position[$i]')

关于php - SQL 查询返回错误结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21978905/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com