美元。
$qtwo = str_split_unicode($q);
$arrlength = count($qtwo);
然后我得到了:
$where = array();
foreach ( $qtwo as $word ) {
$where[] = "CHS LIKE '%" . $word . "%'";
}
$where = implode(' OR ', $where);
if ($q[0] == "#") {
} else {$results4 = $db->query("SELECT * FROM FOUR WHERE $where");
while ($row4 = $results4->fetchArray()) {
然后是一堆回音等等--但结果按字母顺序返回--先到先得,例如:
隔山买老牛
回来时
“现代汉语方言音库·成都话音档” 词语:隔 ge2 :发音 国际音标: ke 2 “现代汉语方言音库·成都话音档” 词语:买 mai3 :发音 国际音标: mai⁵ “现代汉语方言音库·成都话音档” 词语:老 lao3 :发音 国际音标: nau⁵ “现代汉语方言音库·成都话音档” 词语:牛 niu2 :发音 国际音标:ȵIəu 2 “现代汉语方言音库·成都话音档” 词语:山 san1 :发音 国际音标: san⁵⁵
对于那些发现中文的外国人来说,这就像是在搜索:GSMLN
,并按字母顺序得到结果:GMLNS
。
我的目标是获得与输入(顺序)相同的(输出)顺序。
有我能用的简单的订单吗?还是变得更复杂了?
发布于 2016-12-19 09:36:05
在SQL中,表总是无序的;不能保证查询使用任何特定的顺序。
如果要按特定顺序获取行,则必须在查询中使用order对它们进行显式排序。
如果没有可以直接用于排序的表数据,则必须使用案例表达将表值映射到一些可用于排序的值:
SELECT ...
ORDER BY CASE WordColumn
WHEN '隔' THEN 1
WHEN '山' THEN 2
WHEN '买' THEN 3
WHEN '老' THEN 4
WHEN '牛' THEN 5
END;
https://stackoverflow.com/questions/41217563
复制相似问题