PHP+Ajax實現分頁技術_PHP教程

來源:互聯網
上載者:User

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...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.