>데이터 베이스 >MySQL 튜토리얼 >php+ajax로 만든 페이징 예제 코드

php+ajax로 만든 페이징 예제 코드

怪我咯
怪我咯원래의
2017-07-11 16:09:161342검색

웹 개발은 향후 분산 프로그램 개발의 주류입니다. 일반적으로 웹 개발에는 데이터베이스를 다루는 작업이 포함되며 일반적으로 페이지 단위로 읽는 것이 편리합니다. . 따라서 페이징 프로그램 작성은 웹 개발의 중요한 부분입니다. 여기서는 페이징 프로그램 작성에 대해 함께 공부하겠습니다.

1. ajax를 사용하여 백그라운드 페이지에 데이터를 게시한 후 데이터베이스에 다시 연결해야 합니다. 이전 세션에 연결하는 것만으로는 충분하지 않습니다. 2. 깨져서 반환되는 문제를 해결하려면. 문자를 추가했는데 header("Content- Type: text/html;charset=GB2312"); 가 정상적으로 표시됩니다. 나중에 Firefox에서 확인해보니 많은 정보를 검색한 결과 이 ​​웹페이지를 다운로드하라는 메시지가 표시되었습니다. 온라인에서 웹 페이지 코드에 문법 오류 가 있다는 것을 막연하게 이해했습니다. 보안상의 이유로 Firefox는 이를 직접 표시하지 않고 다운로드하라는 메시지를 표시합니다. 방금 설명을 다시 확인한 결과 " ". 제거하고 나니 문제가 해결됐네요 ㅎㅎ 그래서 이런 문제가 생겼네요. , html 태그를 잘 확인해보세요. 결국 Firefox는 IE만큼 똑똑하지 않습니다
3. 마지막으로, 웹 사이트 개발자로서 당신은 IE에서 테스트를 통과하면 모든 것이 괜찮을 것이라고 생각하지 마십시오. 결국 모든 사람이 IE를 사용하는 것은 아닙니다. 전문성을 보여주기 위해 다른 브라우저에서 더 많은 테스트를 수행해야 합니다.
The 코드는 다음과 같습니다.

<script>  
function viewpage(p){  
if(window.XMLHttpRequest){  
var xmlReq = new XMLHttpRequest();  
} else if(window.ActiveXObject) {  
var xmlReq = new ActiveXObject(&#39;Microsoft.XMLHTTP&#39;);  
}  
var formData = "page="+p;  
xmlReq.onreadystatechange = function(){  
if(xmlReq.readyState == 4){  
document.getElementById(&#39;content2&#39;).innerHTML = xmlReq.responseText;  
}  
}  
xmlReq.open("post", "hotel_list.php", true);  
xmlReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");  
xmlReq.send(formData);  
return false;  
}  
</script>

전화:

코드는 다음과 같습니다.

header("Content-Type:text/html;charset=GB2312");  
$pagesize=10;  
//echo $_POST[&#39;page&#39;];  
$result = mysql_query("Select count(DISTINCT hotelname) FROM ".TBL_HOTELS);  
$myrow = mysql_fetch_array($result);  
$numrows=$myrow[0];  

$pages=intval($numrows/$pagesize);  
if ($numrows%$pagesize)  
$pages++;  
if (isset($_POST[&#39;page&#39;])){  
$page=intval($_POST[&#39;page&#39;]);  
}  
else{  
//设置为第一页  
$page=1;  
}  
$first=1;  
$prev=$page-1;  
$next=$page+1;  
$last=$pages;  
//计算记录偏移量  
$offset=$pagesize*($page - 1);  
//读取指定记录数  
$result=mysql_query("select `hotelname` , count( * ) from ".TBL_HOTELS." GROUP BY `hotelname` order by id desc limit $offset,$pagesize");  
$num = mysql_num_rows($result);  
while ($row = mysql_fetch_array($result,MYSQL_NUM)) {  
$hotelname[] = $row[0];  
$countpeople[] = $row[1];  
}  
for($a=0;$a<$num;$a++)  
{  
//$result=mysql_query("select count(title) from " . TBL_Comments ." where `title`=\"".$title[$a]."\"");  
//$row = mysql_fetch_row($result);  
echo "<TABLE style=\"MARGIN-BOTTOM: 20px\" cellSpacing=0 cellPadding=0 width=100% border=0>\n";  
echo "<TBODY>\n";  
echo "<TR>\n";  
echo "<TD style=\"PADDING-TOP: 5px\" vAlign=top align=left width=80>\n";  
//rating_bar($title[$a],5);  
echo "</TD>\n";  
echo "<TD style=\"PADDING-TOP: 5px\" align=left width=100%><A title=$hotelname[$a] style=\"FONT-SIZE: 14px\" href=#>$hotelname[$a]</A>\n";  
echo "</TD></TR>\n";  
echo " <TR>\n";  
echo "<TD></TD>\n";  
echo "<TD style=\"PADDING-LEFT: 0px\">\n";  
echo "<IMG src=\"images/comment.gif\" border=0>  推荐人数:($countpeople[$a]) |\n";  
echo "<SPAN>平均分:<STRONG></STRONG> (".$count."票) | 评论数:()</SPAN>\n";  
echo "</TD></TR></TBODY></TABLE>\n";  
}  
echo "<TABLE style=\"MARGIN-TOP: 30px\" cellSpacing=0 cellPadding=0 width=\"100%\"";  
echo "border=0>";  
echo "<TBODY><TR><TD colSpan=3 height=20>";  
echo "<p align=center>";  
echo "<P align=left><FONT color=red>第".$page."页/总".$pages."页 | 总".$numrows."条</FONT> | ";  
if ($page>1) echo "<a onclick=\"viewpage(".$first.")\" href=&#39;#&#39;>首页</a> | ";  
if ($page>1) echo "<a onclick=\"viewpage(".$prev.")\" href=&#39;#&#39;>上页</a> | ";  
if ($page<$pages) echo "<a onclick=\"viewpage(".$next.")\" href=&#39;#&#39;>下页</a> | ";  
if ($page<$pages) echo "<a onclick=\"viewpage(".$last.")\" href=&#39;#&#39;>尾页</a>";  
echo "转到第 <INPUT maxLength=3 size=3 value=1 name=goto_page> 页 <INPUT hideFocus onclick=\"viewpage(document.all.goto_page.value)\" type=button value=Go name=cmd_goto>";  
echo "</P></p></TD></TR></TBODY></TABLE>";

위 내용은 php+ajax로 만든 페이징 예제 코드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.