gpt4 book ai didi

php - 如何使用 PHP 和 Mysql 从数据库中获取比较某些值的数据

转载 作者:行者123 更新时间:2023-11-30 22:10:09 24 4
gpt4 key购买 nike

我有点怀疑。实际上,我需要通过使用 PHP 和 MySQL 连接两个表来根据列值获取数据。我在下面解释我的表。

db_specials:

id        special                  type

1 Food and Beverage 1

2 Liquor 2

db_basic:

 id      special_id     name

1 2 aaa

2 1 Raj

3 2 Ram

4 2 Jay

5 1 Nikesh

在这里,我需要从表 db_basic 中获取所有数据,这些数据与第一个表中的 Liquor 相关联。我在下面解释我的代码。

$res=mysqli_query($connect,"select b.id,b.special_id,b.name,s.type from db_basic as b inner join db_specials as s on b.special_id=s.id where b.special_id=2 order by b.id desc");

while($row=mysqli_fetch_array($res)){
$data[]=$row;
}

我也得到了正确的数据。这里的问题是 db_specials 在带有插入的前端也有删除功能。假设用户在 db_specials 表中删除了 id=2 的行并再次插入,在这种情况下 id 将由 2 变为 3。所以查询也需要相应地改变。在这里我需要知道什么应该是最好的逻辑,以便每次用户在删除并再次插入任何特价商品时都不会更改查询。请帮助我。

最佳答案

您应该依赖 db_specials 表的 type 列而不是 id 列,因为它不会为每个自动递增INSERT 操作。所以你的查询应该是这样的:

select b.id,b.special_id,b.name,s.type 
from db_basic as b
inner join db_specials as s
on b.special_id=s.type
where b.special_id=2
order by b.id desc

此外,我建议您将 db_basic 表的 special_id 列名称更改为 type,如下所示:

+------+------+------+
| id | type | name |
+------+------+------+
| | | |

这样,您可以更轻松地构建查询,如下所示:

select b.id,b.type,b.name
from db_basic as b
inner join db_specials as s
on b.type=s.type
where b.type=2
order by b.id desc

关于php - 如何使用 PHP 和 Mysql 从数据库中获取比较某些值的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40337293/

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