① 用php为数据中中的字段排序
楼上说的比较正确
<?php
首先链接亩册你的数据和耐旦库
sql="select
*
from
test
order
by
t
desc
limit
0,100"
$ret=mysql_query($sql,$db);//$db为数据库连接
$zone=1;
while($row=mysql_fetch_array($ret)){
echo
"名次:".$zone.",";
echo
$row['m'];//用户名
echo
$row['t'];//唤扰积分
echo
$row['u'];//序号
echo
"<br/>";
}
?>
② php增加一个字段后并按照前一个字段的数字按从小到大排序后填到里面
下面这样就可以了:
<?php//更新组选
$con=mysql_connect("localhost","root","野谨root");
if(!$con)die('Couldnot氏脊猜connect:'歼型.mysql_error());
mysql_select_db("mydb",$con);
mysql_query("UPDATEkjnumSETnum2=num1");
mysql_close($con);
?>
③ php按某个字段排序,怎么取某个id的名次
是不是在查出来的已缓世经排序过的数组中找到某个id?如果扰含肢是,那么假如说现在有10条数据,已经排序完成, 我需要找到老肆我的id是2的排在第几个?
/**
*假如说现在是数组$data,里面有id是2的数据.那么,$id=2.(我是按照从数据库中查出来的数据进行写的,数据库查出来的是二维数组)
*循环数组$data,判断id字段是2的值,如果相等,那么拿出该数组的下标,并+1(数组默认从0开始)
**/
$id=2;
$key='';
foreach($dataas$k=>$v){
if($v['id']==$id){
$key=$k+1;
}
}
var_mp($key);//这就是你需要的名次
④ php 二维数组排序问题 某字段按照自定义规则排序
复杂的数组排序可以用自定义的排序规则
<?php
$arr=array(
0=>array('id'=>'2014347856','name'=>'张甜','科目'=>'语文','tag'=>'期中考试','成绩'=>'142'),
1=>array('id'=>'2014347856','name'=>'张甜','科目'=>'数学','tag'=>'期中考试','成绩'=>'98'),
2=>array('id'=>'2014347856','name'=>'张甜','科目'=>'英语','tag'=>'期中考试','成绩'=>'118'),
3=>array('id'=>'2014347856','name'=>'张甜','科目'=>'化学','tag'=>'期中考试','成绩'=>'78'),
4=>array('id'=>'2014347856','name'=>'张甜','科目'=>'物理','tag'=>'期中考试','成绩'=>'132'),
5=>array('id'=>'2014347856','name'=>'张甜','科目'=>'生物','tag'=>'期中考试','成绩'=>'115'),
6=>array('id'=>'2014347856','name'=>'张甜','科目'=>'地理','tag'=>'期中考试','成绩'=>'99'),
7=>array('id'=>'2014347856','name'=>'张甜','科目'=>'历史','tag'=>'期中考试','成绩'=>'88'),
8=>array('id'=>'2014347856','name'=>'张甜','科目'=>'政治','tag'=>'期中考试','成绩'=>'125'),
9=>array('id'=>'2014347880','name'=>'李鸣','科目'=>'语文','tag'=>'期中考试','成绩'=>'79'),
10=>array('id'=>'2014347880','name'=>'李鸣','科目'=>'数学','tag'=>'期中考试','成绩'=>'148'),
11=>array('id'=>'2014347880','name'=>'李鸣','科目'=>'英语','tag'=>'期中考试','成绩'=>'142'),
);
/*自定义排序*/
functionuserSort($a,$b)
{
if($a['name']==$b['name']){
/*排序科目*/
$subjectSort=array('语文','数学','英语','历史','政治','地理','物理','化学','生物');
foreach($subjectSortas$index=>$item){
if($a['科目']==$item){
$tmp1=$index;
}
if($b['科目']==$item){
$tmp2=$index;
}
}
return$tmp1<$tmp2?-1:1;
}else{
/*排序name*/
$tmpArr=[$a['name'],$b['name']];
sort($tmpArr);
return$a['name']==$tmpArr[0]?-1:1;
}
}
usort($arr,'userSort');
var_mp($arr);
⑤ php中二维数组怎么按指定的字段排序
请确定说二维数组式,?: array('name一'=>'value一','name二'=>'value二'); 或者?: array( array('name一'=>'value一','name二'=>'value二'), array('name一'=>'value三','name二'=>'value四') )
⑥ 如何使用thinkphp框架实现多个字段排序
thinkphp使用的数据库是mysql,mysql多大运个字段排序的语句:
select
* from `表名` where 条件 order by 字段1 desc,字段2
asc,...
thinkphp中排序方法为
$User->where('score>0')->order('score desc')....;
但是蔽漏例子中只能单字段排序,不过可以理解成字符串,那就可以这样写试试
$User->宏仿烂where('score>0')->order('score desc,id asc,...')....;
⑦ php查询数据库,如何根据两个字段的值排序
多重排慎扒序,order by 字段 方式,字姿或段 方式...
order by age desc,id desc 先按年龄降序,相同的年龄里按id降序
order by id,age desc 先按id升序,宽册昌相同的id里按年龄降序
至于你到底需要什么样的排序方式,按这个思路自己写就可以了
⑧ php怎么mysql的字段id来排序啊。
为了给你答题,必须得写这么多才能通过检查,要不然根本不让通过。急用的话直接复制最后一行代码即可!
我看了下,你这个是需要将正序排列转为倒序排列吧
mysql中的排序是使用 order by 来排序的,你要根据什么字段排序,就order by 什么字段
所以这里得用 order by ,例如 order by id asc 就是根据id正序排序,那么倒序排序呢?
下面我给你贴出答案:
selectid,zh,zcm,time,tsfromsccorderbyiddesc;
⑨ php 根据某个字段对二维数组这个数组排序
试编写代码如下:
<?php
$array[] = array('id'=>1,'price'=>50);
$array[] = array('id'=>2,'price'=>70);
$array[] = array('id'=>3,'price'=>30);
$array[] = array('id'=>4,'price'=>20);
foreach ($array as $key=>$value){
$id[$key] = $value['id'];
$price[$key] = $value['price'];
}
array_multisort($price,SORT_NUMERIC,SORT_DESC,$id,SORT_STRING,SORT_ASC,$array);
echo '<pre>';
print_r($array);
echo '</pre>';
?>
运行结果:
Array
(
[0] => Array
(
[id] => 2
[price] => 70
)
[1] => Array
(
[id] => 1
[price] => 50
)
[2] => Array
(
[id] => 3
[price] => 30
)
[3] => Array
(
[id] => 4
[price] => 20
)
)