我有一些PHP代码,它允许我将列排序为升序和降序(单击表行标题时),这是很好的。它非常适合我的D.O.B colum (日期/时间字段类型),但不适用于数量列。
例如,我有10,50,100,30的量化,还有另外的100。
顺序似乎只是在欣赏第一个整数,所以我对列的排序是这样的:10、100、100、30、50.和50,30,100,100,10。
这显然是不正确的,因为100是大于50,因此,这两个100值应该出现在结尾?在我看来,100只是考虑到它有'1‘值,然后它出现在10之前,因为系统识别它有另一个0。
这正常吗?我有办法解决这个问题吗?谢谢你的帮助。如果必要的话,我可以显示代码,但是想知道默认情况下这是否是一个常见的问题。
发布于 2010-04-05 19:50:17
听起来你在排序,把这些值看作字符串,而不是数字。你在做什么分类?PHP,还是MySQL?如果不看到实际排序的代码,很难说出出了什么问题。
发布于 2010-04-05 19:49:50
您的字段可能被定义为char/varchar/text/.,即字符串类型,而不是数字类型。在这种情况下,进行词典编纂排序。
发布于 2010-04-05 19:50:22
排序是将数据视为字符串而不是整数。检查数据库中列的数据类型。如果这是一个数字而不是一个字符串,那么数据将在数据库和排序例程之间的某个位置转换为字符串。
https://stackoverflow.com/questions/2580720
复制相似问题