2017-02-11 2 views
-1

SQL結果をフォーマットして、最初の文字(すべての数字を一緒にASCで始まり、次にA、B、Cなどで始まる) 。しかし、私はまた、それぞれのキャラクターに独自のセクションを持たせたいと思っています。MYSQLiが最初の文字で順序付けし、結果をセクションに分割する

例:

# 

123 Company 
21st Century 
45th Avenue 
99th whatever 

A 

Aerosmith 
Animal 
Apple 

B 

Bat 
Binary 
Bishop 


etc. 

私は、可能な場合は、1つのクエリでこれを行うことを好むだろう。私はちょうどこれのような何かを設定する方法の手がかりがありません。

+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

関連する問題