php ページャー
php ページャー機能がうまくいきません。
ご教授お願いいたします。
ページリンク2、3と押しても
ページが移動しません。
ずっと一ページ目のままです。
解決方法よろしくお願いいたします。
index.php peger.php
書きソースはpeger.phpです。
index.htmlとのソースの違いは
if(preg_match('/^[1-9][0-9]*$/', $_GET['page']) ){
$page = (int)$_GET['page'];
}else{
$page = 1;
}
のプログラムががindex.phpにはないだけです。
<!DOCTYPE html>
<head>
<meta charset="UTF-8">
<title>検索</title>
</head>
<body>
<?php
if(preg_match('/^[1-9][0-9]*$/', $_GET['page']) ){
$page = (int)$_GET['page'];
}else{
$page = 1;
}
$page = 1;
$limit = 2;
$offset = $limit * ($page - 1);
$dsn='mysql:dbname=****;host=****';
$user='*****';
$password='*****';
$dbh=new PDO($dsn,$user,$password);
$dbh->query('SET NAMES utf8');
$sql='SELECT count(*) FROM `mst_product`';
$stmt=$dbh->prepare($sql);
$stmt->execute();
$db=null;
$total=$stmt->fetchColumn();
$lastpage= ceil($total/$limit);
$sql = 'SELECT * FROM mst_product ORDER BY code DESC LIMIT '.$limit.' OFFSET '.$offset.' ' ;
$stmt = $dbh->prepare($sql);
$stmt->execute();
$db = null;
while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
echo $row['name'];
echo'</br>';
echo $row['price'];
}
echo '<ul class="pager">';
?>
<?php
if($page > 1){?>
<li><a href="pager.php?page=<?php echo $page-1; ?>"> << </a></li>
<?php }
for($i = $page; $page-2 < $i && $i <= $page+4 && $i <= $lastpage; $i++){ ?>
<?php if($i == $page){ ?>
<li><a href="kensaku_pager.php?page=<?php echo $i; ?>"><?php echo '<font color="#FF4DC4">'.$i.'</font></a></li>';
}else{?>
<li><a href="pager.php?page=<?php echo $i; ?>"><?php echo $i.'</a>'; ?>
<?php echo '</li>';
} }
if($page < $lastpage){ ?>
<li><a href="pager.php?page=<?php echo $page+1; ?>"> >> </a></li> <?php
}
?>
</ul>
</body>
</html>