作者jimshsu (jims)
看板PHP
标题[请益] 请问一个字串操作的问题~~
时间Sat Sep 9 12:33:09 2006
想请教各位一个字串操作的问题
我原先对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
感谢~~
1F:→ teds:排序边看不太懂..natsort 不就好了吗?? 09/09 12:54
2F:→ teds:left 和 right 你可以参考 substr 这个函式 09/09 12:57
3F:→ cleanwind:补充:natsort排序完,键和值不会改变。 09/09 12:58
4F:→ jimshsu:a 01 只是一笔纪录的栏位值.因为我用SQL提取资料并排序 09/09 17:53
5F:→ jimshsu:所以资料列变成a 10,a 100,a 101,a102...a109,a 11 09/09 17:55
6F:→ jimshsu:natsort还需要php额外处理~~所以我才想要直接更改栏位值 09/09 17:57
※ 编辑: jimshsu 来自: 59.115.217.45 (09/09 18:36)
7F:→ teds:select number from (table) order by (number+0); 09/10 00:07
8F:→ teds:这样就可以强制把text 转换成数字方式来排序 09/10 00:07
9F:→ teds:不过这也表示你 number 这个栏位的型态是文字型态不是用数字 09/10 00:08
10F:→ teds:去存的,所以才需要做型态转换(设计不良!?) 09/10 00:09
11F:→ teds:附带一提,因为每次查询都要做型态转换,所以会"很慢"喔XDD 09/10 00:10
12F:→ jimshsu:这个栏位本来就类似书本名称一般....ex:book 01 09/10 01:12
13F:→ jimshsu:所以是以varchar形式...所以我才想写个php process 09/10 01:12
14F:→ jimshsu:把之前没预想到的错误编目更正为三码.... 09/10 01:13
15F:→ jimshsu:原先以为MySQL有提供natural sort.不过上官网看.似乎还没 09/10 01:15
16F:→ teds:那就把01 存成 001就好了(前面都补上0)>.<" 09/10 06:42