台灣最大程式設計社群網站
線上人數
1253
 
會員總數:239905
討論主題:186053
歡迎您免費加入會員
討論區列表 >> MySQL >> 資料讀取顯示的排序問題
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
資料讀取顯示的排序問題
價值 : 30 QP  點閱數:237 回應數:1

樓主

max
門外漢
0 4
42 0
發送站內信

在讀取資料顯示的部分出了點排序問題,像是
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
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
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
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.