ホームページ >データベース >mysql チュートリアル >php+ajaxで作ったページングサンプルコード
Web開発は今後の分散プログラム開発の主流になります。 通常、Web開発ではサーバーから読み込み、ページ単位で表示するのが便利です。 。したがって、ページング プログラムの作成は Web 開発の重要な部分です。ここでは、ページング プログラムの作成について一緒に学習します。
1. ajax を使用してデータをバックグラウンド ページに投稿した後、前のセッションに接続するだけで十分であるとは考えません。 header("Content-Type:text/html;charset=GB2312"); を追加しました。後でFirefoxで確認すると、このWebページをダウンロードするように求められました。インターネット上で、Web ページのコードに 文法上のエラーがある ということを漠然と理解しました。セキュリティ上の理由から、Firefox ではコードが直接表示されず、ダウンロードを求めるプロンプトが表示されます。余分な "" を削除すると問題は解決しました (笑)。結局のところ、Firefox は IE
3 ほど賢くありません。 IE でテストに合格すればすべてがうまくいくとは思わないでください。結局のところ、誰もが IE を使用しているわけではないので、プロ意識を示すには他のブラウザでさらにテストを行う必要があります ajax スクリプト:
。
コードは次のとおりです:
<script> function viewpage(p){ if(window.XMLHttpRequest){ var xmlReq = new XMLHttpRequest(); } else if(window.ActiveXObject) { var xmlReq = new ActiveXObject('Microsoft.XMLHTTP'); } var formData = "page="+p; xmlReq.onreadystatechange = function(){ if(xmlReq.readyState == 4){ document.getElementById('content2').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['page']; $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['page'])){ $page=intval($_POST['page']); } 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='#'>首页</a> | "; if ($page>1) echo "<a onclick=\"viewpage(".$prev.")\" href='#'>上页</a> | "; if ($page<$pages) echo "<a onclick=\"viewpage(".$next.")\" href='#'>下页</a> | "; if ($page<$pages) echo "<a onclick=\"viewpage(".$last.")\" href='#'>尾页</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 中国語 Web サイトの他の関連記事を参照してください。