其實(shí)我感覺你這個(gè)邏輯沒問題,代碼有點(diǎn)問題,我是這么認(rèn)為的,代碼應(yīng)該是這樣
成都創(chuàng)新互聯(lián)公司專注于企業(yè)營銷型網(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)營銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為牟平等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
$idzhi = rand(0,表中數(shù)據(jù)條數(shù));
$data = $data['id']; // 我不明白你這里是什么意思
$arr = $m-where($data = $idzhi)-limit(8) -select();
不過我總感覺上面的有問題
$idzhi = rand(0,表中數(shù)據(jù)條數(shù));
$arr = $m-where("id = $idzhi")-limit(8) -select();
不對(duì)的話就試試這個(gè),我個(gè)人覺得這樣是對(duì)的,不明白你那個(gè)$data['id'];是干嘛用的
這個(gè)如果想要性能的話,就用下面的sql語句實(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語句有疑問,不明白,可以使用一個(gè)比較耗費(fèi)性能的方法:
select xuehao,cishu from record order by cishu desc
執(zhí)行這條語句,獲得一個(gè)數(shù)組$res
遍歷前設(shè)置一個(gè)記錄排序的標(biāo)識(shí) $seq=1;
for(...){
$xuehao=$res['xuehao'];//把第seq 個(gè)位置的學(xué)號(hào)拿出來,跟想要的學(xué)號(hào)比
if($xuehao==112){
break;
}
$seq++;
}
//如果 這個(gè)排序標(biāo)識(shí)比結(jié)果集數(shù)組大小還大,說明沒這個(gè)學(xué)號(hào)的記錄,否則,就是這個(gè)學(xué)號(hào)打卡次數(shù)的排序。
$seq就是排序
mysql中沒有類似Oracle中rownum序號(hào)的功能,所以查詢數(shù)據(jù)的行序號(hào)需要自己實(shí)現(xiàn)。
假設(shè)問題中數(shù)據(jù)表的名字為goods,則所需sql語句如下:
SELECT?@rownum?:=?@rownum?+?1?AS?rownum,goods.*?FROM?(?SELECT?@rownum?:=?0?)?r,goods?ORDER?BY?rownum?ASC
上述語句可以獲取每條數(shù)據(jù)的行號(hào)并升序排列。
先根據(jù)票數(shù)倒序查詢票數(shù)表,sql語句大概是
"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ù)組排序
是分頁么
下面是我的筆記,可以參考下
分頁原理
三個(gè)變量
1、總數(shù)據(jù)量 $total--- select count(*) from goods;
2、每頁顯示多少條 $perpage
3、當(dāng)前是第$page頁
兩個(gè)公式
總頁數(shù) = ceil($total/$perpage);($total+$perpage-1) /$perpage
當(dāng)前頁取多少那些數(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)來分割成$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://m.rwnh.cn/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)站制作、軟件開發(fā)、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)