使用PHP和MYSQL在MariaDb中实现数据排序
P粉085689707
P粉085689707 2024-04-03 12:44:47
0
2
342

我正在尝试按照我认为的访问顺序检索记录。

我的代码如下:

要搜索的数据:

$to_check="Yes_ij_affirmation', ',_cm', 'there_px_ex', 'is_vbz_1', '._fs";

选择语句:

$sql = "SELECT wd, wd_ps2, rt1, rt4, definition FROM august_2022 WHERE wd_ps2 IN ($to_check) order by ".$to_check."";

结果是(我将其放在列表中以便更容易看到与原始结果的对比):

  • 是_ij_确认
  • there_px_ex
  • ._fs(应该是最后一个)
  • ,_cm(应该是第二个)
  • is_vbz_1(应该是第三个)

我不确定我尝试做的事情是否可行,但欢迎建议。

WW

P粉085689707
P粉085689707

全部回复(2)
P粉638343995

你需要在代码中添加引号

$to_check="'Yes_ij_affirmation', ',_cm', 'there_px_ex', 'is_vbz_1', '._fs'";

并且选择语句应该像这样:

$sql = "SELECT wd, wd_ps2, rt1, rt4, definition FROM august_2022 WHERE wd_ps2 IN ($to_check) order by " .$to_check;
P粉131455722

你需要在$to_check的开头和结尾添加引号。

然后你可以使用FIELD()函数按照列表中的位置进行排序。

$to_check="'Yes_ij_affirmation', ',_cm', 'there_px_ex', 'is_vbz_1', '._fs'";

$sql = "SELECT wd, wd_ps2, rt1, rt4, definition 
        FROM august_2022 
        WHERE wd_ps2 IN ($to_check) 
        order by FIELD(wd_ps2, $to_check)"
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!