Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MYSQL数字排序_Php_Mysql - Fatal编程技术网

Php MYSQL数字排序

Php MYSQL数字排序,php,mysql,Php,Mysql,我有一个网站,通过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($c

我有一个网站,通过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;
}
function sortPage($pageName、$sortBy、$sortOrder、$qry=''){
$getParameters=“$pageName?sortBy=$sortBy&sortOrder=$sortOrder”;
如果($catID!=''){
$getParameters.=“&catID=$catID”;
}   
如果($extraParams!=''){
$getParameters.='&'$extraParams;
}
如果($qry!='')
$getParameters.=$qry;
$url=”“;
返回$url;
}

我是否需要更改结构类型以使其不按这种方式排序?当前是int(11)。

从截图中我可以看到,这不是
int(11)
列,而是某种字符串类型

通过这个查询,如果您想要的话,您可以愚弄MySQL先订购带有数字的。当数字位于值的左侧时,此操作将起作用:

select * from sections
order by 0+name, name

排序就像是文本一样进行。数据库里有些东西。它认为它在对一个文本字段进行排序。您说过它被定义为
int(11)
。当您直接查询数据库时,结果的顺序是否正确?当我对其进行查询时,结果的顺序是否正确。我不确定是数据库还是php函数排序的方式。事实上,这并不能回答我的问题。如果在表上执行
select
,您会得到什么?您认为
int(11)
列可以保存值
20B
?:)然而,这将破坏任何速度增加,你会得到indexes@joeframbach对。实际上,这样做意味着:“我选择了错误的数据类型,或者我没有正确地设计模式”@MaxRoper否,请再次查看您拍摄的屏幕截图。代码和数据都正常。哦,还有一件事。还可以按名称排序,以便
A
位于
B