-1

我有一个网站通过 mysql 为 iOS 应用程序托管一些数据,它有一些升序和降序数字,它们显示为 1、11、12、13 等、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)。

4

1 回答 1

2

从屏幕截图中我可以看到这不是一个int(11)列,而是一些字符串类型。

使用此查询,您可以欺骗 MySQL 以首先订购带有数字的那些,如果这是您想要的。当数字位于值的左侧时,这将起作用:

select * from sections
order by 0+name, name
于 2012-04-15T22:37:16.233 回答