① 用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
)
)