0
データベースのデータを表に表示するページングがあります。これは正常に動作していたので、管理者だけが見ることができるボタンを追加しようとしました。ユーザーが管理者でない場合、このボタンは表示されません。この機能は機能しますが、一度作成すると、1ページあたり最大10個のデータと比較して1ページ分のデータしか表示されません。管理者のためにボタンを追加した後にページネーションが正しく機能しない
これは私のコードです:
public function dataview($query)
{
$stmt = $this->db->prepare($query);
$stmt->execute();
if($stmt->rowCount()>0) // display records if there are records to display
{
while($row=$stmt->fetch(PDO::FETCH_ASSOC))
{
$poll_id = $row['poll_id'];
$question = $row['question'];
?>
<tr>
<td><?php echo $row['poll_id']; ?></td>
<td><?php echo $row['question']; ?></td>
<td><a href="openPoll.php?poll_id=<?php echo $poll_id; ?>">Open Poll</a></td>
<td><a href="openResults.php?poll_id=<?php echo $poll_id; ?>">Results</a></td>
<?php
$stmt = $this->db->prepare("SELECT * FROM users WHERE user_id=:user_id");
$stmt->execute(array(':user_id'=>$_SESSION['user_session']));
$userRow=$stmt->fetch(PDO::FETCH_ASSOC);
if($stmt->rowCount() > 0){
$admin = $userRow['admin'];
if($admin == 1){
?>
<td><a href="deletePoll.php?poll_id=<?php echo $poll_id; ?>">Delete Poll</a></td>
<?php
?>
</tr>
<?php
}
}
}
}
else
{
?>
<tr>
<td>Nothing here...</td>
</tr>
<?php
}
}
と、これはあなたがループ内$stmt
ような変数を再利用しているページネーション
<table align="center" border="1" width="100%" height="100%" id="data">
<?php
$query = "SELECT * FROM polls";
$records_per_page=10;
$newquery = $paginate->paging($query,$records_per_page);
$paginate->dataview($newquery);
$paginate->paginglink($query,$records_per_page);
?>
</table>
ありがとうございました。問題を修正しました。私はこれを知っていたはずです。 – liquidtabs