常に照会するSQL SELECTステートメントは、何千ものレコードにつながる可能性があります。しかし、結果はすべてのページに良いアイデアではないことを示しています。したがって、我々はこの結果の要件に応じて、複数のページに分割されることができます。ページングは、ただ一つの長いページでそれらのすべてを置くのではなく、複数のページにクエリの結果を示すことを意味します。MySQLのLIMIT句を使用して、この句は、2つのパラメータを取りタブを生成するのに役立ちます。相殺するために、最初の引数は、二番目の引数は、データベースによって返されるレコードの数でなければなりません。ここでは、ページングの簡単な例を生成するために、レコードのLIMIT句があります。
< HTML > < ヘッド> < タイトル> PHPページ</ タイトル> </ ヘッド> < 身体> <?PHPの $のDBHOSTは= 'localhost'の; //データベースのホスト $ DBUSER = 'ルート'; //ユーザ名 の$ DBPASS = '123456'; //パスワード の$ rec_limit = 10; //データ・ページ10 ; $コン= mysqli_connect($ DBHOST、DBUSER $、$ DBPASS) (!$ コネチカット州)IF { ダイ(「接続に失敗しました:」mysqli_error。 ()); } mysqli_select_db($コネチカット、 'テスト')。//データを操作する / *レコード数のすべてを取得します* / $のSQL = "SELECT COUNT試験FROM(ID)"。 $ RETVAL = mysqli_query($ CONN、$ SQLの場合)。 (!$ retvalの)場合は{ ダイス( '没有获取到数据:' mysqli_error($ CONN)); } $行= mysqli_fetch_array($のRETVAL、MYSQLI_NUM)。 $ rec_count = $行[0]。 (ISSET($ _ GET [ 'ページ'])){もし $ページ= $ _GET [ 'ページ'] + 1。 $ = $ rec_limit * $ページをオフセット。 }他{ $ページ= 0; $ = 0オフセット。 } $ left_rec = $ rec_count - ($ページ*の$のrec_limit)。 $ sqlを= "SELECT名前"。 "テストFROM"。 " $ RETVAL = mysqli_query($ CONN、$ SQLの場合)。 (!$ retvalの)場合は{ ダイス( '不能获取到数据:' mysqli_error($ CONN)); } ($行= mysqli_fetch_array($ RETVAL、MYSQLI_ASSOC)){ながら エコー"TEST名:{$行[ '名前']} <BR>"。 } IF($ページ> 0){ $最後= $ページ- 2。 "<aのHREF = \"".$_SERVER['PHP_SELF']."?page=$last\">上一页する</a> |"エコー; "<aのHREF = \"".$_SERVER['PHP_SELF']."?page=$page\">下一页</a>の"エコー; }それ以外の場合($ページ== 0){ エコー"<のhref = \"」。$ _サーバー[」 "<aのHREF = \"".$_SERVER['PHP_SELF']."?page=$last\">最后一页</a>の"エコー; } mysqli_close($ CONN)。 ?> </ ボディ> </ HTML >
ページビューデータごとに表示されるデータを変更したり、複数のエフェクト、挿入データを挿入するPHPのMySQLを。