![]() ![]() ![]() ![]() |
|||||
|
|||||
樓主 max ![]()
![]() |
A_1-1 A_1-2 A_10 A_11 A_2 A_3 A_4 A_5 A_6 A_7 A_8 A_9 B1-1 B_1-2 B_10 B_11 B_2 B_3 這樣的問題。該如何修改成順序A_10及A_11是連在A_9後面 php讀取原碼如下: $string2=$b; while ($AllData=mysqli_fetch_array($query_AllData)) { $fai = $AllData['FAI_Number']; $nom = $AllData['Nominal_Dim']; $upper = $AllData['Upper_Dim']; $lower = $AllData['Lower_Dim']; $scale = $AllData['Scale_Type']; $string2 = $string2. ' <tr> <td>'.$fai.'</th> ---------->此為上方排序的資料抓取部分 <td>'.$nom.'</th> <td>'.$upper.'</th> <td>'.$lower.'</th> <td></th> <td>5980</th> <td>2017-05-05 17:16:50</th> <td>OK</th> </tr>'; } echo $string2.'</table>'; 感謝您的閱讀
搜尋相關Tags的文章:
[ php ] , [ mysql ] , [ database ] , [ read data ] , [ order porblem ] , [ 排序問題 ] ,
本篇文章發表於2017-05-19 14:12 |
1樓
最有價值解答
彩虹 ![]() |
這不是排序出問題
而是非常正常的現象,因為這不是「數字」排序,而是「字串」的排序 字串的排序是依序從第一個字元依序往後來做排序,注意紅色部分 A_10 A_11 A_2 A_3 .... A_8 A_9 以此類推 A_1一定會排在A_9前面 不管是A_11000000還是A_1999999 除非你自己加入一欄位,例如 real_sort,如下 FAI_Number real_sort A_1-1 1 A_1-2 2 A_2 3 A_3 4 A_4 5 A_5 6 A_6 7 A_7 8 A_8 9 A_9 10 A_10 11 A_11 12 最後使用 select * from XXX order by real_sort ASC 就可以達到你的需求
本篇文章回覆於2017-05-19 16:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
回覆 |
如要回應,請先登入. |