亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > AJAX > 正文

PHP+Ajax 實現分頁技術

2024-09-01 08:30:05
字體:
來源:轉載
供稿:網友

基于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 用于獲取表單中所有輸入控件的值,并將輸入值組成一個字符串傳到服務器。

<script type="text/javascript">
function getFormValue(form){
var str='';
var ft,fv;
for (var i=0; i<form.elements.length; i++){
fv = form.elements[i];
ft = fv.type.toLowerCase();
switch(ft){
case 'select-one':
str+=fv.name+'='+escape(fv.value)+'&';
break;
case 'radio':
if (fv.checked){
str+=fv.name+'='+escape(fv.value)+'&';
}
break;
case 'checkbox':
if (fv.checked){
str+=fv.name+'='+escape(fv.value)+'&';
}
break;
case 'text':
str+=fv.name+'='+escape(fv.value)+'&';
break;
case 'password':
str+=fv.name+'='+escape(fv.value)+'&';
break;
case 'hidden':
str+=fv.name+'='+escape(fv.value)+'&';
break;
case 'textarea':
str+=fv.name+'='+escape(fv.value)+'&';
break;
default:
break;
}
}
return str.split(//s/).join('')
}
 

//showcomment(page) 用于顯示分頁數據,被查詢按鈕onclick 事件調用, url為后臺處理數據并輸出XML格式數據的文件url。


function showcomment(page) {
var x = new Ajax('statusid', 'XML');
url = 'sn_show.php?page='+page+'&'+getFormValue(document.form1);

x.get(url , function(s) {
if(s.lastChild){
getbyid("show").innerHTML = "Loading……";
getbyid("show").innerHTML = s.lastChild.firstChild.nodeValue;
removeLoading(document.getElementById("show"));
}
else{
document.form1.submit();
}
});
}

//displayLoading用于顯示Loading,提示用戶等待

function displayLoading(element) {
var image = document.createElement("img");
image.setAttribute("src","progressbar.gif");
image.setAttribute("title","loading...");
var text = document.createTextNode("loading……");
element.appendChild(image);
element.appendChild(text);
}

//removeLoading用于去掉Loading

function removeLoading(element){
var image = element.getElementsByTagName("img");
for(var i=0;i<image.length;i++){
element.removeChild(image[i]);
}
}

//ajax

function Ajax(statusId, recvType) {
var aj = new Object();
displayLoading(document.getElementById("show"));
var clientHeight = scrollTop = 0;
if(navigator.userAgent.toLowerCase().indexOf('opera') > -1) {
clientHeight = document.body.clientHeight;
scrollTop = document.body.scrollTop;
} else {
clientHeight = document.documentElement.clientHeight;
scrollTop = document.documentElement.scrollTop;
}
if(document.getElementById(statusId)) {
aj.statusId = document.getElementById(statusId);
document.getElementById(statusId).style.top = 10+"px";
} else {
var divElement = document.createElement("DIV");
divElement.id = "xspace-tipDiv";
divElement.className = "xspace-ajaxdiv";
divElement.style.cssText = "width:200px; height:40px; line-height: 40px; text-align: center;";
divElement.style.left = 10+"px";
divElement.style.top = 10+"px";//(clientHeight +scrollTop - 60)
divElement.id = statusId;
document.body.appendChild(divElement);
aj.statusId = divElement;
}
aj.targetUrl = '';
aj.sendString = '';
aj.recvType = recvType ? recvType : 'HTML';//HTML XML
aj.resultHandle = null;
aj.createXMLHttpRequest = function() {
var request = false;
if(window.XMLHttpRequest) {
request = new XMLHttpRequest();
if(request.overrideMimeType) {
request.overrideMimeType('text/xml');
}
} else if(window.ActiveXObject) {
var versions = ['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.7.0', 'Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP'];
for(var i=0; i<versions.length; i++) {
try {
request = new ActiveXObject(versions[i]);
if(request) {
return request;
}
} catch(e) {
//alert(e.message);
}
}
}
return request;
}
aj.XMLHttpRequest = aj.createXMLHttpRequest();
aj.processHandle = function() {
aj.statusId.style.display = '';
if(aj.XMLHttpRequest.readyState == 4) {
if(aj.XMLHttpRequest.status == 200) {
if(aj.recvType == 'HTML') {
aj.resultHandle(aj.XMLHttpRequest.responseText);
} else if(aj.recvType == 'XML') {
aj.resultHandle(aj.XMLHttpRequest.responseXML);
}
aj.statusId.style.display = 'none';
} else {
aj.statusId.innerHTML = xml_http_load_failed;
}
}
}

aj.get = function(targetUrl, resultHandle) {
aj.targetUrl = targetUrl;
aj.XMLHttpRequest.onreadystatechange = aj.processHandle;
aj.resultHandle = resultHandle;
if(window.XMLHttpRequest) {
aj.XMLHttpRequest.open('GET', aj.targetUrl);
aj.XMLHttpRequest.send(null);
} else {
aj.XMLHttpRequest.open("GET", targetUrl, true);
aj.XMLHttpRequest.send();
}
}

aj.post = function(targetUrl, sendString, resultHandle) {
aj.targetUrl = targetUrl;
aj.sendString = sendString;
aj.XMLHttpRequest.onreadystatechange = aj.processHandle;
aj.resultHandle = resultHandle;
aj.XMLHttpRequest.open('POST', targetUrl);
aj.XMLHttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
aj.XMLHttpRequest.send(aj.sendString);
}
return aj;
}

function getbyid(id) {
if (document.getElementById) {
return document.getElementById(id);
} else if (document.all) {
return document.all[id];
} else if (document.layers) {
return document.layers[id];
} else {
return null;
}
}
</script>

<?php

//注意:此處如果有filesedset的話,form表單一定要放在fieldset里面,否則出錯。
echo '<form name="form1" action="" method="post">
<table cellpadding="0" cellspacing="1">
<tr>
<th class="criteria">SN</th>
<td>
<input type="text" name="sn_id_1" value="'._POST['sn_id_1'].'" size="16" maxlength="8"/> to
<input type="text" name="sn_id_2" value="'._POST['sn_id_2'].'" size="16" maxlength="8"/>
<input type="button" name="sn_submit" value="Search" onClick="showcomment(1)"/>
</td>
</tr>
</table>
</form>
<div id="show"></div>';

?>


2.sn_show.php:

<?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.=' <a href="javascript:;" onclick="javascript:showcomment(1);">'.iconv('gb2312','gb2312','首頁').'</a> ';
pagenav.=' <a href="javascript:;" onclick="javascript:showcomment('.prepg.');">'.iconv('gb2312','gb2312','上一頁').'</a> ';
}else{
pagenav.="<font color='gray'>".iconv('gb2312','gb2312','首頁')."</font>"."&nbsp";
pagenav.="<font color='gray'>".iconv('gb2312','gb2312','上一頁')."</font>";
}

if(nextpg){
pagenav.=' <a href="javascript:;" onclick="javascript:showcomment('.nextpg.');">'.iconv('gb2312','gb2312','下一頁').'</a> ';
pagenav.=' <a href="javascript:;" onclick="javascript:showcomment('.pagenum.');">'.iconv('gb2312','gb2312','尾頁').'</a> ';
}else{
pagenav.="<font color='gray'>".iconv('gb2312','gb2312','下一頁')."</font>"."&nbsp";
pagenav.="<font color='gray'>".iconv('gb2312','gb2312','尾頁')."</font>"."&nbsp";
}

pagenav.='</select>'.iconv('gb2312','gb2312','共 ') . pagenum .'&nbsp'.iconv('gb2312','gb2312','頁');
for(h=(page-middle<1?1:page-middle);h<=(page+middle>pagenum?pagenum:page+middle);h++){
if(h==page){
pagenav.="<b> h </b>";
}else{
pagenav.="&nbsp;&nbsp;<a href=/"javascript:showcomment(".h.");/">".iconv('gb2312','gb2312',h)."</a>&nbsp;&nbsp;";
}
}

pagenav.="&nbsp;&nbsp;&nbsp;&nbsp;";
pagenav.=iconv('gb2312','gb2312','轉到 ');

pagenav.="<select id='JumpSelect' name='NowPage' size='1' onchange=/"showcomment(this.value);/">";
for (i = 1; i <= pagenum;i++){
if(page == i){
pagenav.= "<option value='".i."' selected>".i."</option>";
}else{
pagenav.= "<option value='".i."' >".i."</option>";
}
}
pagenav.="</select>";
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 '<?xml version="1.0" encoding="gb2312"?>';
echo '<root>';
echo '<![CDATA[';
echo '<fieldset class="inquiry">
<legend>LIST</legend>
<table class="list">
<tr>
<th class="header">No</th>
<th class="header">SN</th>
<th class="header">Plant</th>
<th class="header">Sales</th>
<th class="header">Act</th>
<th class="header">Type</th>
<th class="header">Status</th>
<th class="header">Release Date</th>
<th class="header">Approve Date</th>
<th class="header">Reject Date</th>
<th class="header">Cancel Date</th>
<th class="header">Close Date</th>
</tr>';
num = offset;
for (i = 0; i < sn_num; i++) {
sn_row = mysql_fetch_array(sn_res);
if (i % 2 == 0) {
echo '<tr class="even" style="cursor:hand" >';
}else{
echo '<tr class="odd" style="cursor:hand" >';
}
echo'<td class="list center">'.(num+1).'</td>
<td class="list right blue">'.sn_row['sn_id'].'</td>
<td class="list center">'.sn_row['sn_plant'].'</td>
<td class="list right">'.sn_row['sn_sales'].'</td>
<td class="list center red">'.sn_row['sn_act'].'</td>
<td class="list center">'.sn_row['sn_type'].'</td>
<td class="list center">'.sn_row['sn_sts'].'</td>
<td class="list left">'.substr(sn_row['sn_rel_date'],0,10).'</td>
<td class="list left">'.substr(sn_row['sn_apv_date'],0,10).'</td>
<td class="list left">'.substr(sn_row['sn_rej_date'],0,10).'</td>
<td class="list left">'.substr(sn_row['sn_can_date'],0,10).'</td>
<td class="list left">'.substr(sn_row['sn_cls_date'],0,10).'</td>
</tr>';
num++;
}
echo '</table>';
echo '<div>'.pageshow.'</div>';
echo '</fieldset>';
echo ']]>';
echo '</root>';
}else{
echo 'find nothing';
}

?>

 

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美网站在线观看| 久久久久久久电影一区| 青青久久aⅴ北条麻妃| 97免费视频在线| 5566日本婷婷色中文字幕97| 日韩欧美在线视频| 成人免费自拍视频| 日韩中文理论片| 777国产偷窥盗摄精品视频| 国产精品久久久久9999| 久久人人爽人人| 亚洲第一区在线观看| 精品视频在线播放色网色视频| 中文综合在线观看| 精品久久久精品| 国产日韩精品在线播放| 98精品在线视频| 午夜精品国产精品大乳美女| 欧美黑人性生活视频| 亚洲欧美在线免费| 97国产真实伦对白精彩视频8| 日韩亚洲国产中文字幕| 国产91成人video| 在线观看久久av| 亚洲国产高清福利视频| 黑人精品xxx一区| 欧美亚洲国产日韩2020| 欧洲精品久久久| 成人亚洲综合色就1024| 国产免费一区二区三区在线观看| 亚洲嫩模很污视频| 97色在线视频观看| 96精品视频在线| 国产精品久久久久影院日本| 欧美国产一区二区三区| 亚洲欧洲成视频免费观看| 亚洲第一黄色网| 欧美大全免费观看电视剧大泉洋| 日韩在线观看免费高清完整版| 欧美国产日韩一区二区三区| 国产欧美欧洲在线观看| 成人激情免费在线| 亚洲精品久久久一区二区三区| 成人久久精品视频| 91国产在线精品| 日韩免费观看av| 伊人男人综合视频网| 91网站在线看| 国外日韩电影在线观看| 在线视频欧美日韩| 成人福利网站在线观看| 亚洲第一天堂无码专区| 91tv亚洲精品香蕉国产一区7ujn| 国产精品福利在线观看网址| 国产精品国产亚洲伊人久久| 欧美激情在线视频二区| 久久人91精品久久久久久不卡| 2019中文字幕免费视频| 91成人福利在线| 91爱爱小视频k| 亚洲国产精品视频在线观看| 欧美成人免费全部观看天天性色| zzjj国产精品一区二区| 欧美成人久久久| 久久精品国产久精国产一老狼| 91精品国产综合久久香蕉922| 欧美性猛交xxxx黑人猛交| 在线观看精品自拍私拍| 国产精品一区二区三区在线播放| 精品久久久久久中文字幕一区奶水| 欧美一乱一性一交一视频| 日本视频久久久| 欧美日韩在线视频观看| 亚洲色图激情小说| 日韩精品免费观看| 日韩综合中文字幕| 91性高湖久久久久久久久_久久99| 国产精品久久9| 欧美精品免费在线| 黄色成人av网| 精品福利免费观看| 欧美亚洲国产日韩2020| 色噜噜狠狠狠综合曰曰曰88av| 国产日本欧美在线观看| 精品女同一区二区三区在线播放| 91精品国产综合久久男男| 国产精品白丝av嫩草影院| 精品欧美国产一区二区三区| 欧美亚洲伦理www| 欧美在线性视频| 国产精品一区=区| 国产91对白在线播放| 青青青国产精品一区二区| 亚洲精品乱码久久久久久金桔影视| 日韩hd视频在线观看| 国产日韩av在线播放| 精品久久香蕉国产线看观看亚洲| 国产欧美精品xxxx另类| 欧美激情免费在线| 亚洲欧美精品中文字幕在线| 亚洲欧洲在线免费| 久久精品中文字幕电影| 91国自产精品中文字幕亚洲| 日韩男女性生活视频| 欧美激情视频给我| 国产精品永久免费在线| 在线观看亚洲区| 最新国产成人av网站网址麻豆| 国产亚洲免费的视频看| 欧美日韩成人在线观看| 欧美亚洲一级片| 欧美激情精品久久久久久久变态| 91热精品视频| 国产亚洲激情视频在线| 日韩精品中文字幕在线播放| 欧美一级大胆视频| 一区二区三区视频免费| 国产精品成久久久久三级| 色综合久久中文字幕综合网小说| 亚洲综合在线中文字幕| 欧美日韩一区二区在线播放| 欧美高清理论片| 欧美日韩亚洲一区二| 色综合伊人色综合网| 日韩中文字幕视频| 亚洲**2019国产| 久久久久久久91| 成人免费淫片aa视频免费| 国产精品嫩草影院一区二区| 精品久久久久久国产91| 欧美肥臀大乳一区二区免费视频| 亚洲人成网站免费播放| 亚洲一区二区三区久久| 日韩av不卡电影| 亚洲成年人在线播放| 97视频在线播放| 国产精品久久91| 欧洲亚洲妇女av| 91亚洲精品在线观看| 国产精品视频永久免费播放| 韩国一区二区电影| 国产女精品视频网站免费| 91大神在线播放精品| 97精品一区二区视频在线观看| 欧美激情精品久久久久久黑人| 国产成人一区二区三区小说| 美女视频黄免费的亚洲男人天堂| 亚洲精品国产综合区久久久久久久| 日韩精品视频在线播放| 一区二区三区高清国产| 亚洲最大福利视频网| 国外成人性视频| 91久久在线播放| 亚洲欧洲国产伦综合| 亚洲一区二区三区视频| 久久久精品视频成人| 亚洲性av网站| 色婷婷av一区二区三区在线观看| 久久成人精品一区二区三区| 国产精品久久久久影院日本| 亚洲欧美变态国产另类| 91精品国产高清久久久久久91| 国产精品福利在线观看| 欧美激情免费观看|