gpt4 book ai didi

php - 如何使用 php 选择 mysqli 进行标签搜索?

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

如何使用 php 选择 mysqli 进行标签搜索?

我有表:像这样测试

 ___________________________________________
|_id_|_______name_______|________tag________|
| 1 | dog | animal,pet,dog |
| 2 | donuts | food,donuts |
| 3 | BMW | car |
| 4 | football | sport |
| 5 | ferrari | car,supercar |

这是用于选择的 mysqli php 代码

$query = "SELECT * FROM test WHERE tag = '$_GET[tag]' order by id desc";

然后我通过这个网址测试我的代码

www.example.com/search_tag.php?tag=car

但是它只会显示行id 3 ,如何选择显示行id 35

最佳答案

正如 @nogad 在评论部分建议的那样,修复您的数据库结构。我建议单独一个表来存储每个名称的标签。

首先,我们创建一个表来存储不同的标签 (tags_tb):

tags_id | tags_desc
--------+----------
1 | animal
2 | pet
3 | dog
4 | food
5 | donuts
6 | car
/*** LIST GOES ON ***/

然后,创建另一个表来存储主题 (subject_tb):

subj_id | subj_desc
--------+----------
1 | dog
2 | donuts
3 | BMW
/*** LIST GOES ON ***/

然后,创建一个表来存储每个主题的相关标签 (selected_tags_tb):

 id | subj_id | tags_id
----+---------+---------
1 | 1 | 1
2 | 1 | 2
3 | 1 | 3
4 | 2 | 4
5 | 2 | 5
6 | 3 | 6

因此,当用户选择一个标签时(例如,用户选择标签 - animal,将显示与该标签相关的所有主题),一个简单的查询即可完成:

SELECT b.*
FROM selected_tags_tb a
LEFT JOIN subject_tb b ON a.subj_id = b.subj_id
WHERE a.tags_id = ?

这种方法将使您的系统充满活力。

关于php - 如何使用 php 选择 mysqli 进行标签搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40144843/

25 4 0