php - 按自定义数组对行进行排序

标签 php mysql

是否可以通过从另一个表或以某种方式给出的自定义 ids 数组对行进行排序。

$str = "5,2,3,6,911,18,118,65,985,15...";  

$arr = explode(',', $str);

function get_titles($status){
    global $db;
    $sql = "select * from arts where status = :astatus order by " . $arr . " asc";
    $st = $db->prepare($sql);
    $st->execute([":astatus" => $status]);
    ...
}

最佳答案

如果您想按自定义 id 订单订购...

# $str = "5,2,3,6,911,18,118,65,985,15...";
# Values separated by comma
# It can be from array
#     $str = implode(",",[5,2,3,6,911,18,118,65,985,15])

$str = "5,2,3,6,911,18,118,65,985,15";  

function get_titles($status,$arr){
    global $db;
    $sql = "SELECT * FROM arts WHERE status = :astatus ORDER BY FIELD(id,".$arr .") ASC";
    $st = $db->prepare($sql);
    $st->execute([":astatus" => $status]);
    ...
}

get_titles($status,$str)

关于php - 按自定义数组对行进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53966790/

相关文章:

MYSQL 单表 Count() 即使它 = NULL 也显示

php - PHP IteratorIterator 类是如何工作的?

PHP 复制 MongoDB 中的文档,替换其 MongoID

PHP 解码 JSON POST

php - 将关联数组传递到 PHP 中的其他页面

PHP 注册表 - SQL

MYSQL每个表必须有自己的别名错误?

MySQL 按行数排序

php - 使用 ajax 登录并从 php 登录脚本返回大量数据?

javascript - 在 CMS 中的何处放置简单的 "Accept Conditions and Book"脚本