其實(shí)我感覺(jué)你這個(gè)邏輯沒(méi)問(wèn)題,代碼有點(diǎn)問(wèn)題,我是這么認(rèn)為的,代碼應(yīng)該是這樣

成都創(chuàng)新互聯(lián)公司專(zhuān)注于企業(yè)營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、網(wǎng)站重做改版、牟平網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)、商城建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性?xún)r(jià)比高,為牟平等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。
$idzhi = rand(0,表中數(shù)據(jù)條數(shù));
$data = $data['id']; // 我不明白你這里是什么意思
$arr = $m-where($data = $idzhi)-limit(8) -select();
不過(guò)我總感覺(jué)上面的有問(wèn)題
$idzhi = rand(0,表中數(shù)據(jù)條數(shù));
$arr = $m-where("id = $idzhi")-limit(8) -select();
不對(duì)的話(huà)就試試這個(gè),我個(gè)人覺(jué)得這樣是對(duì)的,不明白你那個(gè)$data['id'];是干嘛用的
這個(gè)如果想要性能的話(huà),就用下面的sql語(yǔ)句實(shí)現(xiàn):
select orderNo from (select (@rowNum:=@rowNum+1) orderNo , xuehao,cishu from record,(Select (@rowNum :=0) ) b
order by cishu desc)t where t.xuehao=112
然后php獲得這條結(jié)果數(shù)組,取第一個(gè)元素即是排序
如果對(duì)這個(gè)sql語(yǔ)句有疑問(wèn),不明白,可以使用一個(gè)比較耗費(fèi)性能的方法:
select xuehao,cishu from record order by cishu desc
執(zhí)行這條語(yǔ)句,獲得一個(gè)數(shù)組$res
遍歷前設(shè)置一個(gè)記錄排序的標(biāo)識(shí) $seq=1;
for(...){
$xuehao=$res['xuehao'];//把第seq 個(gè)位置的學(xué)號(hào)拿出來(lái),跟想要的學(xué)號(hào)比
if($xuehao==112){
break;
}
$seq++;
}
//如果 這個(gè)排序標(biāo)識(shí)比結(jié)果集數(shù)組大小還大,說(shuō)明沒(méi)這個(gè)學(xué)號(hào)的記錄,否則,就是這個(gè)學(xué)號(hào)打卡次數(shù)的排序。
$seq就是排序
mysql中沒(méi)有類(lèi)似Oracle中rownum序號(hào)的功能,所以查詢(xún)數(shù)據(jù)的行序號(hào)需要自己實(shí)現(xiàn)。
假設(shè)問(wèn)題中數(shù)據(jù)表的名字為goods,則所需sql語(yǔ)句如下:
SELECT?@rownum?:=?@rownum?+?1?AS?rownum,goods.*?FROM?(?SELECT?@rownum?:=?0?)?r,goods?ORDER?BY?rownum?ASC
上述語(yǔ)句可以獲取每條數(shù)據(jù)的行號(hào)并升序排列。
先根據(jù)票數(shù)倒序查詢(xún)票數(shù)表,sql語(yǔ)句大概是
"SELECT 學(xué)生id,票數(shù) FROM 票數(shù)表 ORDER BY 票數(shù) DESC";假設(shè)得到的結(jié)果集賦值為 $res,
再用PHP遍歷,
$student?=?array();
foreach?($res?as?$key?=?$value)?{
$student[$value['學(xué)生id']]?=?$key?+1;
}?
最后就可以得到student排名數(shù)組,鍵是學(xué)生的id,值就是學(xué)生的排名。
sort($arr);由小到大的順序排序(第二個(gè)參數(shù)為按什么方式排序)忽略鍵名的數(shù)組排序
rsort($arr);由大到小的順序排序(第二個(gè)參數(shù)為按什么方式排序)忽略鍵名的數(shù)組排序
是分頁(yè)么
下面是我的筆記,可以參考下
分頁(yè)原理
三個(gè)變量
1、總數(shù)據(jù)量 $total--- select count(*) from goods;
2、每頁(yè)顯示多少條 $perpage
3、當(dāng)前是第$page頁(yè)
兩個(gè)公式
總頁(yè)數(shù) = ceil($total/$perpage);($total+$perpage-1) /$perpage
當(dāng)前頁(yè)取多少那些數(shù)據(jù)
limit $offset,N
$offset = ($page-1) * $perpage;
N = $perpage;
三個(gè)系統(tǒng)函數(shù)
$url = $_SERVER['REQUEST_URI'];//獲取地址 ---- /20120411/test.php$arr = parse_url($url); //以數(shù)組的形式返回 Array ( [path] = /20120411/test.php [query] = id=3pid=1 ) $path = $arr['path'];$str = $arr['query']; //返回?后面的內(nèi)容形如:id=3pid=1parse_str($str,$data); //Array ( [id] = 3 [pid] = 1 )//把$str字符串按符號(hào)來(lái)分割成$data數(shù)組$str = $path.'?'.http_build_query($data); //把$data數(shù)組按符號(hào)拼接成形如id=3pid=1字符串
本文題目:PHP實(shí)現(xiàn)數(shù)據(jù)排第幾條 php選擇排序
文章網(wǎng)址:http://chinadenli.net/article6/doopiog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站導(dǎo)航、網(wǎng)站制作、軟件開(kāi)發(fā)、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容
營(yíng)銷(xiāo)型網(wǎng)站建設(shè)知識(shí)