gpt4 book ai didi

php - mysql连接不显示所有行

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

我在获取此查询的所有结果时遇到了一些问题。你能帮我解决这个问题吗?

我有这个问题:

if (!$SqlCount = $db->sql_query("SELECT count(*) as count FROM
actividades
LEFT JOIN tarifas
ON actividades.id = tarifas.id_actividade
WHERE
$query
AND actividades.dias LIKE '%$diaExtenso%'
AND (tarifas.id_actividade IS NULL
OR (tarifas.dia = '$dia' AND tarifas.fechado = 0 AND tarifas.id_actividade = actividades.id))
")) {
message_die("DS", TRUE);
}

如果出现以下情况,我想显示第一个表中的所有内容:第二张表中根本没有匹配项,或者如果当天匹配 ($dia) 并且 fechado = 0

如果我有特定日期的规则,尽管选择了日期,它也不会显示任何内容。我做错了什么?

非常感谢!

编辑:

感谢大家的帮助,我想这个问题没有提出最好的方法,这就是我认为的问题所在:

查询正在检查 tarifas.id_actividade 是否不为 null,如果有一天的规则,假设明天,确实 tarifas.id_actividade 不会为 null,它将转到 OR 部分,在那里他检查是否有那天的规则。

因此,今天没有规则,但如果明天有规则,tarifas.id_actividade 将不会为 null,并且今天不会有规则.. 所以它没有显示任何内容,但它应该显示任何内容。

这有什么意义吗?我应该发布 mysql 表和“$query”部分吗?

再次感谢您帮助我解决这个问题。

最佳答案

请注意,此查询仍然(可能)很慢,因为它不能在 a.dias 上使用任何索引。此外,它只会显示一个计数,因为这就是所要求的全部内容。

SELECT COUNT(t.id_actividade) count 
FROM actividades a
LEFT
JOIN tarifas t
ON t.id_actividade = a.id
AND t.dia = '$dia'
AND t.fechado = 0
WHERE a.dias LIKE '%$diaExtenso%';

关于php - mysql连接不显示所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27781031/

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