仅显示表格中每个标题之一

时间:2012-12-06 10:43:11

标签: php sorting

我正在谈论的网页是http://transfigurationstattoostudio.com/showcase.php该表由ID(唯一),TITLE,DESCRIPTION,IMAGE_1,IMAGE_1_DESCRIPTION(以及其他五个图像插槽)组成

网页当前显示每个IMAGE_1的缩略图,通过TITLE字段链接到完整图库。

我要做的是删除重复的TITLE条目,因此用户可以添加几个具有相同标题的图库,但只有一个出现在页面上(所有带有相同标题的图像都显示在完整的图库中)

我尝试使用DISTINCT,但每条记录都是唯一的,具有不同的ID。我想要的甚至可能吗?

2 个答案:

答案 0 :(得分:3)

SELECT DISTINCT(title), image_1 FROM table;

虽然应该说明你不应该将具有相同标题的项目视为画廊。为什么不创建一个引用具有图库ID的图像ID的附加表?

--Image
id | title | thumb1 | thumb2

--Gallery
id | title | description

--GalleryImage
gallery_id | image_id

这甚至可以向前迈出一步,并且有另一种拇指关系,而不是使用thumb1 / thumb2 - 但你希望得到这一点。

答案 1 :(得分:0)

尝试两个查询,一个循环遍历所有不同的标题,第二个获取该标题的第一个图像记录。你没有说出你的表名,所以我认为它是图像:

$mysqli = new mysqli(...);
$titleSql = "SELECT DISTINCT TITLE FROM IMAGES ORDER BY TITLE";
$result = $mysqli->query($titleSql);
while ($row = $mysqli->fetch_row($result)) {
    // Now just get the first image record associated with that title
    $imageSql = "SELECT ID, IMAGE_1 FROM IMAGES WHERE TITLE = " + $row[0] + " LIMIT 1";
    ...
}