私は自分のウェブページ上のデータベース(Mysql)からデータを表示するためのPHPスクリプトを作成しています。スクロールを避けるため、すべての情報を1つのページに表示する必要はありません。しかし、私は少数しか表示せず、残りのページに移動するためにページ番号を使用したいと思います。私はページ番号を作成することができましたが、まだすべての情報が1ページに表示されています。以下は私のコードです:ウェブページでページ番号を作成する方法
<?php
include('./includes/DB_Config.php');
$status = 1;
// Set number of Post per page for navigation
$post_per_page = 2;
if (isset($_GET['page']))
{
$startP = ($_GET['page'] - 1) * $post_per_page;
}
else
{
$startP = 0;
}
$post = mysqli_query ($mySQL_Conn, "SELECT * FROM BlogPost WHERE status = '$status'");
// Fetch Data or number of rows
$dataRw = mysqli_num_rows($post);
$pages = $dataRw/$post_per_page;
if ($dataRw == 0)
{
$_SESSION['NoPost'] = "No Post Found!";
}
else
{
unset($_SESSION['NoPost']);
//$pages = ceil($dataRw/$rows_per_page);
//$pages = array_slice($dataRw, $startP, $post_per_page);
while ($data = mysqli_fetch_array($post)) //Fetch data in array
{
//Assign data to variabes
$name = $data['blogger_Name'];
$postDate = $data['dateTime'];
$blogpost = $data['blog_message'];
$date = strtotime($postDate);
?>
<p> <span><?php echo $_SESSION['NoPost'] ; ?> </span></p>
<p> <span>By:</span><?php echo $name; ?> </p>
<p> <span>Posted On: </span> <?php echo date("j F Y", $date); ?> </p>
<p> <span>Post: </span><?php echo $blogpost; ?> </p>
<?php
}
}
?>
<hr>
<?php
for ($currentpage = 0; $currentpage < $pages; $currentpage++)
{
?>
<span><a href="?page=<?php $currentpage + 1; ?>"> <?php echo $currentpage + 1; ?></a> </span>
<?php
}
?>
MySQLからデータをどのように取得していますか?あなたはクエリに制限を入れていないように思えます – dpp
FYI:呼び出されるページネーション*グーグルリングはおそらく役に立ちます –
PHP、HTML、SQLを混在させています。あなたはそれらを使用しています。 –