2017-02-11 54 views
-1

我想格式化SQL结果以按第一个字符列出sql条目(以所有数字一起开始ASC,然后从A开始,然后从B开始,然后从C开始) 。但我也希望每个角色都有自己的部分。MYSQLi按第一个字符排序并将结果拆分为部分

例:

# 

123 Company 
21st Century 
45th Avenue 
99th whatever 

A 

Aerosmith 
Animal 
Apple 

B 

Bat 
Binary 
Bishop 


etc. 

我宁愿如果可能这样做的一个查询。我只是不知道如何设置这样的东西。

+1

入住PHP的首字母在每次迭代。 – chris85

+0

你可以帮助一个代码示例吗?我不知道如何写这个是有效的 – KDJ

+1

作为答案发布。 – chris85

回答

1

下面是如何迭代数组并检查第一个字符与前一个字符的示例。如果你的SQL正确地排序,这应该是你所需要的。

$last = ''; 
foreach(array('12', '33 what', '44 more', 'aa', 'ab', 'b', 'c', 'cd', 'd', 'dd') as $words){ 
    $current = substr($words, 0, 1); 
    if(is_numeric($current)) { 
     $current = '#'; 
    } 
    if($current != $last) { 
     echo "\n" . strtoupper($current) . "\n\n"; 
    } 
    echo $words . "\n"; 
    $last = $current; 
} 

演示:https://eval.in/735196

+0

完美工作!谢谢! – KDJ

+0

我有另一个问题把它带到另一个层面。 http://stackoverflow.com/questions/42180469/how-do-i-combine-numbers-into-one-group – KDJ

相关问题