PHP+Ajax實現分頁技術:
基於php和ajax的分頁技術代碼,下面有兩個php檔案,一個是sn_inq.php,另一個是sn_show.php,前一個php檔案調用後一個php檔案,實現ajax分頁,運行sn_inq即可實現效果,不過得修改資料庫哦。具體代碼如下:紅色標註的地方要特別注意修改哦!
我的資料庫名是inv,表名是sn,欄位有:sn_id,sn_plant,sn_sales,sn_act,sn_type,sn_sts.....
1.sn_inq.php
//getFormValue 用於擷取表單中所有輸入控制項的值,並將輸入值組成一個字串傳到伺服器。
//注意:此處如果有filesedset的話,form表單一定要放在fieldset裡面,否則出錯。
echo '
';
?>
2.sn_show.php:
//page function
function showpage(total){
global page,pagenav,middle,num,pagenum,offset,prepg,nextpg;
//擷取page=18中的page的值,假如不存在page,那麼頁數就是1。
page=isset(_REQUEST['page'])?intval(_REQUEST['page']):1;
//每層分頁條顯示4個分頁串連
middle = '4';
//每頁顯示10條資料
num=10;
//獲得總頁數,也是最後一頁
pagenum=ceil(total/num);
//獲得首頁
page=min(pagenum,page);
//上一頁
prepg=page-1;
//下一頁
nextpg=(page==pagenum ? 0 : page+1);
offset=(page-1)*num;
if(pagenum<=1) return false;
if(prepg){
pagenav.=' onclick="javascript:showcomment(1);">'.iconv('gb2312','gb2312','首頁').' ';
pagenav.=' onclick="javascript:showcomment('.prepg.');">'.iconv('gb2312','gb2312','上一頁').' ';
}else{
pagenav.="".iconv('gb2312','gb2312','首頁').""." ";
pagenav.="".iconv('gb2312','gb2312','上一頁')."";
}
if(nextpg){
pagenav.=' onclick="javascript:showcomment('.nextpg.');">'.iconv('gb2312','gb2312','下一頁').' ';
pagenav.=' onclick="javascript:showcomment('.pagenum.');">'.iconv('gb2312','gb2312','尾頁').' ';
}else{
pagenav.="".iconv('gb2312','gb2312','下一頁').""." ";
pagenav.="".iconv('gb2312','gb2312','尾頁').""." ";
}
pagenav.=''.iconv('gb2312','gb2312','共 ') . pagenum .' '.iconv('gb2312','gb2312','頁');
for(h=(page-middle<1?1:page-middle);h<=(page+middle>pagenum?pagenum:page+middle);h++){
if(h==page){
pagenav.=" h ";
}else{
pagenav.=" ".iconv('gb2312','gb2312',h)." ";
}
}
pagenav.=" ";
pagenav.=iconv('gb2312','gb2312','轉到 ');
pagenav.="";for (i = 1; i <= pagenum;i++){if(page == i){pagenav.= "".i."";}else{pagenav.= "".i."";}}pagenav.="";
pagenav.="頁";
return pagenav;
}
//connect to database
function db_link()
{
access_id = "root";
db_name = "inv";
@ db = mysql_connect('localhost', access_id, '831025') or
die("Could not connect to database. Please contact with IT supporting team ASAP.");
mysql_query("SET NAMES 'GBK'");
mysql_select_db(db_name);
return db;
}
link = db_link();
//get inquiry criteria,用 POST取得資料也行
sn_id_1 = _REQUEST['sn_id_1'];
sn_id_2 = _REQUEST['sn_id_2'];
//inquiry total pages
sn_sql = "SELECT * FROM sn WHERE 1 ";
if (sn_id_1 != ''){
sn_sql .= "AND sn_id >= '".sn_id_1."' ";
}
if (sn_id_2 != ''){
sn_sql .= "AND sn_id <= '".sn_id_2."' ";
}
sn_sql .= "ORDER BY sn_id DESC ";
sn_res = mysql_query(sn_sql);
total = mysql_num_rows(sn_res);
//show page
pageshow = showpage(total);
//inquiry current page
sn_sql .= " limit offset,num";
sn_res = mysql_query(sn_sql);
sn_num = mysql_num_rows(sn_res);
//output inquiry result as XML
header("Content-Type: text/xml");
if(total > 0){
echo '';
echo '';
echo '';<br />echo '<fieldset class="inquiry"><br /><legend>LIST</legend><br /><table class="list"><br /><tr><br /><th class="header">No</th><br /><th class="header">SN</th><br /><th class="header">Plant</th><br /><th class="header">Sales</th><br /><th class="header">Act</th><br /><th class="header">Type</th><br /><th class="header">Status</th><br /><th class="header">Release Date</th><br /><th class="header">Approve Date</th><br /><th class="header">Reject Date</th><br /><th class="header">Cancel Date</th><br /><th class="header">Close Date</th><br /></tr>';<br />num = offset;<br />for (i = 0; i < sn_num; i++) {<br />sn_row = mysql_fetch_array(sn_res);<br />if (i % 2 == 0) {<br />echo '<tr class="even" style="cursor:hand" >';<br />}else{<br />echo '<tr class="odd" style="cursor:hand" >';<br />}<br />echo'<td class="list center">'.(num+1).'</td><br /><td class="list right blue">'.sn_row['sn_id'].'</td><br /><td class="list center">'.sn_row['sn_plant'].'</td><br /><td class="list right">'.sn_row['sn_sales'].'</td><br /><td class="list center red">'.sn_row['sn_act'].'</td><br /><td class="list center">'.sn_row['sn_type'].'</td><br /><td class="list center">'.sn_row['sn_sts'].'</td><br /><td class="list left">'.substr(sn_row['sn_rel_date'],0,10).'</td><br /><td class="list left">'.substr(sn_row['sn_apv_date'],0,10).'</td><br /><td class="list left">'.substr(sn_row['sn_rej_date'],0,10).'</td><br /><td class="list left">'.substr(sn_row['sn_can_date'],0,10).'</td><br /><td class="list left">'.substr(sn_row['sn_cls_date'],0,10).'</td><br /></tr>';<br />num++;<br />}<br />echo '</table>';<br />echo ''.pageshow.'';<br />echo '</fieldset>';<br />echo '';
echo '';
}else{
echo 'find nothing';
}
?>
http://www.bkjia.com/PHPjc/815027.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/815027.htmlTechArticlePHP+Ajax實現分頁技術: 基於php和ajax的分頁技術代碼,下面有兩個php檔案,一個是sn_inq.php,另一個是sn_show.php,前一個php檔案調用後一個ph...