【发布时间】:2011-12-05 21:28:40
【问题描述】:
我有一个关键字搜索,它使用 UNION ALL 在多个数据库表中搜索缩略图。我有两个页面,results.php 和 view.php。我的目标是能够单击 results.php 上的缩略图并被定向到 view.php 上同一图像的更大版本。问题是我所有表中的每个图像都使用字段名称“id”,因此当我单击 results.php 上的缩略图时,我会从不同的表中获得两个具有相同 id 的不同图像。我尝试将 id 更改为不同的名称,但是当需要传递 url 参数时,我只能选择 1 个值。 (如果你可以选择超过 1 我不知道如何)。所以我的问题是为什么我的 id 来自不同的表被分组在一起,我该如何改变呢?
图像结果页面(完美运行):
SELECT *
FROM table1
WHERE keyword LIKE %colname% OR id LIKE %colname%
UNION ALL
SELECT *
FROM table2
WHERE keyword LIKE %colname% OR id LIKE %colname%
查看图片页面(这里有问题):
SELECT *
FROM table1
WHERE id = colname
UNION ALL
FROM table2
WHERE id = colname
【问题讨论】:
-
请注意,使用
*来命名所有列并不是一个好习惯,即使如果您需要返回所有列.. :)跨度>