Я пытаюсь добавить простую разбивку на страницы в галерею изображений, но я дошел до точки, где я не получаю никаких сообщений об ошибках, и она все еще не работает. Я не знаю, где искать ошибку. Мой код:php gallery gallery pagination
<?php
include 'core/init.php';
ini_set('display_errors', 'On'); // aan of uit
error_reporting(E_ALL);
?>
<body>
<div id="wrap">
<div id="header">
<h1>Rob Cnossen</h1>
</div>
<div id="titel">
<?php
if (isset($_GET['album_id'])) {
$album_id = $_GET['album_id'];
$album_data = $albums->album_data($album_id, 'name', 'description');
echo '<h2>', $album_data['name'], '</h2>';
$albums = $albums->get_albums();
$images = $images->get_images($album_id);
}
?>
</div>
<div id="sidebarleft">
<?php
if (empty($images)) {
echo 'Er zijn geen foto\'s in dit album';
} else {
foreach ($albums as $album) {
foreach ($images as $image) {
?><div id="fotoos"><?php
if ($image["album"] === $album["id"])
echo'<a href="view_album.php?album_id=', $album["id"],'&image_id=uploads/', $image["album"], '/', $image["img_name"],'"><img src="uploads/thumbs/', $image["album"], '/', $image["img_name"],'" title="" /></a><div id="kruisje"><a href="delete_image.php?image_id=', $image["id"],'">_|</div></a>';
?></div><?php
}
}
}
?>
<div id="pagination">
<?php
$count_query = $db->prepare('SELECT * FROM images where album_id= ?');
$count_query->bindValue(1, $album_id);
try{
$count_query->execute();
}catch (PDOException $e){
die($e->getMessage());
}
$count = $count_query->fetchColumn();
if(isset($_GET['page'])){
$page = preg_replace("#[^0-9]#,",$_GET['page']);
}else{
$page = 1;
}
$limit = 2;
$lastPage = ceil($count/$limit);
if($page<1){
$page = 1;
}elseif($page>$lastPage){
$page = $lastPage;
}
$offset = ($page-1)*$limit;
$query = $db->prepare('SELECT image_id FROM images WHERE album_id= ? ORDER BY image_id DESC
LIMIT ?,?');
$query->bindValue(1, $album_id);
$query->bindParam(2, $offset, PDO::PARAM_INT);
$query->bindParam(3, $limit, PDO::PARAM_INT);
try{
$query->execute();
}catch (PDOException $e){
die($e->getMessage());
}
if($lastPage !=1){
if($page != $lastPage){
$next = $page + 1;
$pagination='<a href="'. $_SERVER['REQUEST_URI'] .'?page='.$next.'">Volgende</a>';
}
if($page != $lastPage){
$prev = $page - 1;
$pagination.='<a href="'. $_SERVER['REQUEST_URI'] .'?page='.$prev.'">Vorige</a>';
}
}
while ($row = $query->fetch(PDO::FETCH_ASSOC)) {
echo $row['image_id'];//This echoes out two image id's, at the moment that is number 75 and 73
}
echo $pagination;
?>
</div>
</div>
</div>
</body>
Функция get_image;
public function get_images($album_id) {
$images = array();
$count_query = $this->db->prepare("SELECT `image_id`, `image_name`, `album_id`, `timestamp`, `ext` FROM `images` WHERE `album_id`=? ORDER BY `timestamp` DESC");
$count_query->bindValue(1, $album_id);
try{
$count_query->execute();
while ($images_row = $count_query->fetch(PDO::FETCH_ASSOC)) {
$images[] = array(
'id' => $images_row['image_id'],
'img_name' => $images_row['image_name'],
'album' => $images_row['album_id'],
'timestamp' => $images_row['timestamp'],
'ext' => $images_row['ext']
);
}
return $images;
}catch(PDOException $e){
die($e->getMessage());
}
}
Я думаю, что есть что-то неправильное в переменной $ постраничной, но я не знаю, what.I получил семь изображений в этом альбоме и $ предел стоит на 2, до сих пор все семь изображений показывает вверх. И если я нажимаю ссылку для разбивки на страницы, url показывает мне, что я нажал ссылку ссылки на страницы, но это все. Если я нажимаю, например, время vife на следующей или предыдущей ссылке, url может показать это; http://www.robcnossen.nl/view_album.php?album_id=8?page=2?page=2?page=0?page=2?page=0
Сайт http://www.robcnossen.nl/view_album.php?album_id=8
Я надеюсь, что вы можете увидеть, что вызывает проблему. 0 ...
Нет ничего особенного в отношении разбиения на страницы изображений - это точно так же, как и с любыми другими типами данных. Ans есть много обучающих руководств по .NET. –
В этой строке '$ images = $ images-> get_images ($ album_id);', Где вы создали объект '$ images'? – JazyK
Это включено через core/init.php. Я редактирую вопрос, где теперь можно увидеть код функции get_image. – Robske