>我有一个网站,它通过mysql托管iOS应用程序的一些数据,它有一些升序和降序数字,它们显示为1,11,12,13等,2,2,20,21,22等。
这是管理网站上的排序功能,应转换为 iOS 应用程序的 JSON 响应...
function sortPage($pageName,$sortBy,$sortOrder, $qry = '' ){
$getParameters = "$pageName?sortBy=$sortBy&sortOrder=$sortOrder";
if($catID!=''){
$getParameters .="&catID=$catID";
}
if($extraParams!=''){
$getParameters .='&'.$extraParams;
}
if( $qry != '')
$getParameters .= $qry ;
$url ="<a href='$getParameters' style='text-decoration:none'>";
if($sortOrder=='ASC'){
$url .="<img src='".HOST."images/up-arrow.gif' width='8' height='4' border='0' />";
}else{
$url .="<img src='".HOST."images/down-arrow.gif' width='8' height='4' border='0'/>";
}
$url .="</a>";
return $url;
}
我是否需要更改结构类型以使其不以这种方式排序?它目前是 int(11)。
从屏幕截图中我可以看到这不是int(11)
列,而是某种字符串类型。
使用此查询,您可以欺骗MySQL首先对带有数字的那些进行排序,如果这是您想要的。当数字位于值的左侧时,这将起作用:
select * from sections
order by 0+name, name