Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: постраничная навигация(указанная на вашем сайте)
 
 автор: frisst   (17.01.2010 в 02:52)   письмо автору
 
 

Здравствуйте! Не ругайте за то, что снова открыл наболевшую тему, но я не могу немного допонять работу скрипта, выложенного у вас на сайте...

вот весь код:

<?php 
// Устанавливаем соединение с базой данных 
include "server/config.php"; 
// Переменная хранит число сообщений выводимых на станице 
$num = 2; 
// Извлекаем из URL текущую страницу 
$page = $_GET['page']; 
// Определяем общее число сообщений в базе данных 
$result = mysql_query("SELECT COUNT('url_photo, name, opisanie') FROM photo"); 
$posts = mysql_num_rows($result); 
// Находим общее число страниц 
$total = intval(($posts - 1) / $num) + 1; 
// Определяем начало сообщений для текущей страницы 
$page = intval($page); 
// Если значение $page меньше единицы или отрицательно 
// переходим на первую страницу 
// А если слишком большое, то переходим на последнюю 
if(empty($page) or $page < 0) $page = 1; 
  if(
$page > $total) $page = $total; 
// Вычисляем начиная с какого номера 
// следует выводить сообщения 
$start = $page * $num - $num; 
// Выбираем $num сообщений начиная с номера $start 
$result = mysql_query("SELECT url_photo, name, opisanie FROM photo LIMIT $start, $num"); 
// В цикле переносим результаты запроса в массив $postrow 
while ( $postrow[] = mysql_fetch_array($result)) 
?>
<?php 
for($i = 0; $i < $num; $i++) 
{ 
 echo 
"Ссылка:".$postrow[$i]['url_photo'].", Пользователь:".$postrow[$i]['name'].", Описание:".$postrow[$i]['opisanie']."<br>"; 
}
?>
<?php 
// Проверяем нужны ли стрелки назад 
if ($page != 1) $pervpage = '<a href= ./photo.php?page=1><<</a> 
                               <a href= ./photo.php?page='
. ($page - 1) .'><</a> '; 
// Проверяем нужны ли стрелки вперед 
if ($page != $total) $nextpage = ' <a href= ./photo.php?page='. ($page + 1) .'>></a> 
                                   <a href= ./photo.php?page=' 
.$total. '>>></a>'; 

// Находим две ближайшие станицы с обоих краев, если они есть 
if($page - 2 > 0) $page2left = ' <a href= ./photo.php?page='. ($page - 2) .'>'. ($page - 2) .'</a> | '; 
if(
$page - 1 > 0) $page1left = '<a href= ./photo.php?page='. ($page - 1) .'>'. ($page - 1) .'</a> | '; 
if(
$page + 2 <= $total) $page2right = ' | <a href= ./photo.php?page='. ($page + 2) .'>'. ($page + 2) .'</a>'; 
if(
$page + 1 <= $total) $page1right = ' | <a href= ./photo.php?page='. ($page + 1) .'>'. ($page + 1) .'</a>';

// Вывод меню 
echo $pervpage.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$nextpage; 

?> 

результат же этого скрипта таков:

Ссылка:fotos/1.png, Юзер:Имя, Описание:Текст! 
Ссылка:fotos/2.png, Юзер:Имя, Описание:Другой текст!
1


Хотя в базе имеются 5 записей, выводятся только 2, а ссылок на следующие страницы нет...
В чём здесь проблема? Может я гдето не так написал?

  Ответить  
 
 автор: heed   (17.01.2010 в 14:36)   письмо автору
 
   для: frisst   (17.01.2010 в 02:52)
 

>$result = mysql_query("SELECT COUNT('url_photo, name, opisanie') FROM photo");
>$posts = mysql_num_rows($result);
>$total = intval(($posts - 1) / $num) + 1;

смотрели что в $posts ?
COUNT() вроде из mysql_result() нужно вытаскивать, а не из mysql_num_rows()

  Ответить  
 
 автор: frisst   (17.01.2010 в 14:39)   письмо автору
 
   для: heed   (17.01.2010 в 14:36)
 

Спасибо... Я тут уже разобрался.
У меня проблема совсем в другом появилась...

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования