[請益] 請問一個字串操作的問題~~

看板PHP作者 (jims)時間18年前 (2006/09/09 12:24), 編輯推噓0(0016)
留言16則, 3人參與, 最新討論串1/1
想請教各位一個字串操作的問題 我原先對MySQL中的資料給予兩碼數字編號 ex: a 01 ,a 02...... 但是現在發現資料多出99了~~ 所以變成 a 100,a 101 但是如此一來排序就會有問題 變成 a 01 ~ a 10 a 100 我要用php寫一個程式來處理.但不知要用何種方法與函式 另外想請教各位 在EXCEL中的LEFT跟RIGHT字串函式 php中要用何種函式來作 ex: res=LEFT("aaa",2) 結果 res=aa 感謝~~

09/09 12:54, , 1F
排序邊看不太懂..natsort 不就好了嗎??
09/09 12:54, 1F

09/09 12:57, , 2F
left 和 right 你可以參考 substr 這個函式
09/09 12:57, 2F

09/09 12:58, , 3F
補充:natsort排序完,鍵和值不會改變。
09/09 12:58, 3F

09/09 17:53, , 4F
a 01 只是一筆紀錄的欄位值.因為我用SQL提取資料並排序
09/09 17:53, 4F

09/09 17:55, , 5F
所以資料列變成a 10,a 100,a 101,a102...a109,a 11
09/09 17:55, 5F

09/09 17:57, , 6F
natsort還需要php額外處理~~所以我才想要直接更改欄位值
09/09 17:57, 6F
※ 編輯: jimshsu 來自: 59.115.217.45 (09/09 18:36)

09/10 00:07, , 7F
select number from (table) order by (number+0);
09/10 00:07, 7F

09/10 00:07, , 8F
這樣就可以強制把text 轉換成數字方式來排序
09/10 00:07, 8F

09/10 00:08, , 9F
不過這也表示你 number 這個欄位的型態是文字型態不是用數字
09/10 00:08, 9F

09/10 00:09, , 10F
去存的,所以才需要做型態轉換(設計不良!?)
09/10 00:09, 10F

09/10 00:10, , 11F
附帶一提,因為每次查詢都要做型態轉換,所以會"很慢"喔XDD
09/10 00:10, 11F

09/10 01:12, , 12F
這個欄位本來就類似書本名稱一般....ex:book 01
09/10 01:12, 12F

09/10 01:12, , 13F
所以是以varchar形式...所以我才想寫個php process
09/10 01:12, 13F

09/10 01:13, , 14F
把之前沒預想到的錯誤編目更正為三碼....
09/10 01:13, 14F

09/10 01:15, , 15F
原先以為MySQL有提供natural sort.不過上官網看.似乎還沒
09/10 01:15, 15F

09/10 06:42, , 16F
那就把01 存成 001就好了(前面都補上0)>.<"
09/10 06:42, 16F
文章代碼(AID): #150a8PvK (PHP)