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

Форум PHP

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

 

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

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

тема: Постраничная навигация. Вопрос по статье Семенова А.Н.
 
 автор: Flash   (08.07.2007 в 14:53)   письмо автору
 
 

Прочитал статью на сайте. http://softtime.ru/info/articlephp.php?id_article=33
Попробовал... но тут возникает проблемка.
Fatal error: Unsupported operand types in H:\Server\WWW\test\index.php on line 12

<?php
 
// Соединяемся с базой данных.
 
include "config.php";
 
// Создаем переменную, которая определяет число сообщений выводимых на странице.
 
$num 25;
 
// Определяем из URL текущую страницу.
 
$page = isset($_GET['page']) ? $_GET['page'] : "";
 
// Определяем общее число сообщений, хранящихся в базе данных.
 
$result mysql_query("SELECT COUNT(*) FROM guestbook");
 
$posts mysql_fetch_row($result);
 
// Определяем общее число страниц.
 
$total intval(($posts 1) / $num) + 1// 12 строка.

Я так понял, что $posts является по идее массивом. А в функции intval() нельзя их использовать.
По-моему, проще получится если вместо $posts использовать просто переменную $result.
Если правильно мыслю, поддержите. Если нет, подскажите. ))

   
 
 автор: bronenos   (08.07.2007 в 15:35)   письмо автору
 
   для: Flash   (08.07.2007 в 14:53)
 

$posts = mysql_fetch_row($result);
вы вычитаете из массива число

возможно, вам нужна mysql_num_rows()

   
 
 автор: Flash   (08.07.2007 в 15:44)   письмо автору
 
   для: bronenos   (08.07.2007 в 15:35)
 

Нет.. mysql_num_rows() вернет значение равное 1.

   
 
 автор: Artem S.   (08.07.2007 в 17:26)   письмо автору
 
   для: Flash   (08.07.2007 в 15:44)
 

$total = intval(($posts[0] - 1) / $num) + 1; // 12 строка.

p.s. Это давно не актуально, не думал что этим кто то руководствуется =(

   
 
 автор: Flash   (08.07.2007 в 17:37)   письмо автору
 
   для: Artem S.   (08.07.2007 в 17:26)
 

А как актуально?
Тоже вариант. :)
Еще можно так.

$result = mysql_query("SELECT COUNT(*) FROM guestbook");
$posts = mysql_fetch_array($result);
$posts = $posts['COUNT(*)'];

   
 
 автор: bronenos   (08.07.2007 в 17:27)   письмо автору
 
   для: Flash   (08.07.2007 в 15:44)
 

 $result = mysql_query("SELECT COUNT(*) as count FROM guestbook"); 
 $posts = mysql_fetch_array($result); 
 // Определяем общее число страниц. 
 $total = intval(($posts['count'] - 1) / $num) + 1; // 12 строка.

я не заметил что там COUNT(*) сначала, сори

   
Rambler's Top100
вверх

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