$tab=100; 每個(gè)顯示多少
我們提供的服務(wù)有:成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、黟縣ssl等。為上千多家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的黟縣網(wǎng)站制作公司
$total=一共多少。(select cout(*) from xx);就可以
$page=ceil($total/$tab)需要幾頁(yè),比如一共10個(gè),每頁(yè)3個(gè)就是10/3=3.....1,所以ceil向上取整10/3=4頁(yè)
$nowPage=0;
然后select * from xx limit $nowPage*$tab,$tab;就可以取出相應(yīng)的了
第一個(gè) 就是0,0*100然后取100條,就是1-100;
然后1*100,再取100條,就是 101-200;
本人用ThinkPHP3.2,今天正在開(kāi)發(fā)一個(gè)需要分組顯示的功能,可是從數(shù)據(jù)庫(kù)中把相應(yīng)數(shù)據(jù)讀取后直接用group分組,結(jié)果每組顯示的是最老的記錄,我的需求是要顯示每組的最新記錄。在網(wǎng)上大搜一翻后,未果,本人決定自行研究,現(xiàn)將方法記錄于此以防遺忘。
其實(shí)很簡(jiǎn)單,以供就兩步:
第一步:
將符合條件的數(shù)據(jù)全部取出,暫不用group分組,作為子查詢:
[php]?view plain?copy
$subQuery?=?$model-field('id,name')-table('tablename')-where($where)-order('time?desc')-select(false);
第二部:
利用子查詢進(jìn)行查詢分組
[php]?view plain?copy
$model-table($subQuery.'?a')-group('field')-select();span?style="font-family:?Arial,?Helvetica,?sans-serif;"?/span
好了,思路就是這樣。希望對(duì)大家有幫助!
你說(shuō)的這個(gè)問(wèn)題采用php常用的分頁(yè)技術(shù)就能夠?qū)崿F(xiàn)了。
?php //顯示所有表的信息
//1.連接數(shù)據(jù)庫(kù)
$conn=ql_connect('localhost','root','1234abcd') or die('連接數(shù)據(jù)庫(kù)錯(cuò)誤'.mysql_error());
//2.選擇數(shù)據(jù)庫(kù)
mysql_select_db('empManage');
//3.選擇字符集
mysql_query('set names utf8');
//4.發(fā)送sql語(yǔ)句并得到結(jié)果進(jìn)行處理
//4.1分頁(yè)
$pageSize=3;//每頁(yè)顯示多少條記錄
$rowCount=0;//共有多少條記錄
$pageNow=1;//希望顯示第幾頁(yè)
$pageCount=0;//一共有多少頁(yè)
//4.15根據(jù)分頁(yè)鏈接來(lái)修改$pageNow的值
if(!empty($_GET['pageNow'])){
$pageNow=$_GET['pageNow'];
}
$sql='select count(id) fr1)){$rowCount=$row[0];}
//4.12計(jì)算共有多少頁(yè)
$pageCount=ceil($rowCount/$pageSize);
$pageStart=($pageNow-1)*$pageSize;
//4.13發(fā)送帶有分頁(yè)的sql結(jié)果
$sql="select * from emp limit $pageStart,$pageSize";
$res2=mysql_query($sql,$conn) or die('無(wú)法獲取結(jié)果集'.mysql_error());
//echo輸出表格
echo 'table border=1';"trthid/ththname/ththgrade/ththemail/ththsalary/ththa href='#'刪除用戶/a/ththa href='#'修改用戶/a/th/tr";while($row=mysql_fetch_assoc($res2)){echo "trtd{$row['id']}/tdtd{$row['name']}/tdtd{$row['grade']}/tdtd{$row['email']}/tdtd{$row['salary']}/tdtda href='#'刪除用戶/a/tdtda href='#'修改用戶/a/td/tr";}echo '/table';
//4.14打印出頁(yè)碼的超鏈接
for($i=1;$i=$pageCount;$i++){
echo "a href='?pageNow=$i'$i/a?";
}
//5.釋放資源,關(guān)閉連接
mysql_free_result($res2);
mysql_close($conn);
?
分組查詢?cè)矶际荢QL的分組查詢,THINKPHP中只是用到他自己的一些自定義的方法!比如 join()、group()、having()方法等,實(shí)際對(duì)應(yīng)的也是SQL里的這些關(guān)鍵字!
例如本次需求是要按照cid進(jìn)行分組,按照通常的做法是 SELECT * FROM 表名 GROUP BY cid,這樣就能按照cid進(jìn)行分組篩選!然后使用THINKPHP的時(shí)候則使用 M('表名')-group('cid')-select(); 實(shí)際生成的語(yǔ)句和原始SQL代碼是一樣的。
$data1 = array("a2"-"類(lèi)一","V4"-“類(lèi)二”);
$data2 = array();
foreach($data1 as $key=$value) {
$data2[$value] = $data2[$value].' '.$key;
}