SQL排序列表,但在PHP中将特定元素放在第一位

SQL排序列表,但在PHP中将特定元素放在第一位,php,mysql,Php,Mysql,我想使用收到的日期或更新投票对图像列表进行排序。也可以使用打开图像的链接,例如www.mywebsite.com/images?selected=73723.jpg直接打开图像,而其他排序条件仍然适用 选定的图像应该是第一个元素,但在这之后,它应该再次按日期或向上投票进行排序,因为它通常是这样的。以下是我所拥有的: $sortingstring = "image_uploads.UPVOTES DESC"; // <-- order by upvote $sortingstring = "

我想使用收到的日期或更新投票对图像列表进行排序。也可以使用打开图像的链接,例如
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;

$sortingstring=“image\u uploads.updesc”// 也许你可以用场函数,像这样

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 |

你需要两个单独的查询或者一个联合查询如果我能一次完成所有的查询,那会节省我很多时间。。如果你想帮助我,你可以用union给我这个解决方案。。但是谢谢你的提示!请注意,我们更喜欢这里的技术风格。我们轻轻地劝阻问候,希望你能帮助,谢谢,提前感谢,感谢信,问候,亲切的问候,签名,请你能帮助,闲聊的材料和缩写的txtspk,恳求,你被困多久了,投票建议,元评论等。只需解释你的问题,并展示你已经尝试了什么,你期望什么,以及实际发生的情况。谢谢,只是一个简单的问题,“你的代码”参数是什么,你在说什么代码。。不知怎的,它不是这样的:
SELECT*来自测试用户,image\u按字段顺序上传(image\u uploads.THMPATH,“?”),image\u uploads.uploads DESC
Ah我看到它可能是
SELECT*来自测试用户,image\u按字段顺序上传(image\u uploads.THMPATH,$selectedCode),image\u uploads.uploads DESC
@Miger这是您的$selectedCode变量它似乎不起作用
image\u uploads.uploads DESC
似乎覆盖了
字段()中的语句,我无法让它起作用。@Miger try字段(image\u uploads.THMPATH,$selectedCode)DESC。。。