我想使用收到的日期或赞成票对图像列表进行排序。还可以使用打开的图像的链接,例如www.mywebsite.com/images?selected=73723.jpg
在其他排序术语仍然适用的情况下直接打开图像。
所选图像应该是第一个元素,但之后应再次按日期或投票排序,就像往常一样。这是我所拥有的:
$sortingstring = "image_uploads.UPVOTES DESC"; // <-- order by upvote
$sortingstring = "image_uploads.THMPATH = '".$selectedCode."'"; // <-- selected image
$query = "SELECT * FROM test_users, image_uploads ORDER BY " . $sortingstring;
在此示例中,我们可以看到用于点赞排序和过滤掉所选图像的代码。如何将按点赞排序并首先显示所选图像结合起来,无论我尝试什么似乎都不起作用?
也许你可以用 FIELD 函数来做到这一点,就像这样
ORDER BY FIELD(image_uploads.THMPATH, "your code") DESC, image_uploads.UPVOTES DESC
这是一个简单的例子
CREATE TABLE `items` (
`id` int(11) NOT NULL,
`sort_field` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
ALTER TABLE `items` ADD PRIMARY KEY (`id`);
INSERT INTO `items` (`id`, `sort_field`) VALUES
(1, 1),
(2, 3),
(3, 2);
查询
SELECT * FROM items ORDER BY FIELD(items.id, 1) DESC, sort_field DESC
结果
| id | sort_field |
|----|------------|
| 1 | 1 |
| 2 | 3 |
| 3 | 2 |