【发布时间】:2019-07-10 17:45:17
【问题描述】:
当我运行查询时,它会以随机顺序对标签进行分组。
这是目前的样子:
https://www.example.com/app/user-images.php?tags=peace&tags2=dogs&tags3=aesthetic
图片 #1 - 和平
图片 #2 - 和平
图片 #3 - 狗
图片 #4 - 狗
图片#5 - 审美
图片 #6 - 和平
预期结果:
图片 #1 - 和平
图片 #2 - 和平
图片 #3 - 和平
图片 #4 - 狗
图片 #5 - 狗
图片 #6 - 审美
有没有办法可以做到这一点?第一个标签是和平,第二个是狗,第三个是基于 URL 的审美。这是我的代码:
$tags = $_GET['tags'];
$tags2 = $_GET['tags2'];
$tags3 = $_GET['tags3'];
$fetch = mysqli_query($conn, "SELECT * FROM users JOIN user_images ON users.username = user_images.username WHERE tags = '$tags' OR tags = '$tags2' OR tags = '$tags3' ORDER BY user_images.tags ASC");
我尝试使用ORDER BY user_images.tags ASC,但这并没有真正的帮助,因为无论我将标签放在 URL 的哪个位置,它们的顺序都是相同的。
【问题讨论】:
-
order by tags = '$tags', tags = '$tags2', tags = '$tags3' -
@Moob 谢谢,这几乎可以工作,但由于某种原因它正在倒退。第三个标签在前,第一个在第三。
-
降序排列。例如:
order by tags = '$tags' desc, tags = '$tags2' desc, tags = '$tags3' desc -
嘿@Moob :这是一个不错的解决方案,我相信您应该将其发布为答案。
-
@GMB 你是对的。我已经发布了我的解决方案作为答案。
标签: php mysql url mysqli parameters