Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Проблема с построчной навигацией

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
igortik
Отправлено: 10 Ноября, 2006 - 23:48:43
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Нояб. 2006  


Помог: 0 раз(а)




Приветствую!

Прошу помочь знатоков, как сделать построчную навигацию на сайте.

Прочел статью Постраничная навигация на PHP (_http://www.php.su/articles/?cat=examples&page=062), но мне приходит ответ:

Fatal error: Unsupported operand types
и ругается на тсроку:

$total = intval (($posts - 1) / $num) + 1;

п.с. я просто взял и вставил приведенный в статье код на страничку, имена полей в базе и в коде целиком соответствуют. Я просто не знаю что мне уже делать, без построчной навигации (постройка сайта на "1 странице") нереально реализовать то, что я хочу, т.к. нужно будет делать отдельно каждую страницу.

Прошу Вашей помощи, может есть еще какй-либо метод выборки из БД с автоматическим созданием линков на вызываемые из самих себя страницы.

Прошу простить меня за неточность в терминологии, я только начинаю.

С уважением, Игорь
Огорчение\n\n(Добавление)
изменил имя таблицы в коде на ту, которой у меня нет и ошибка исчезла. На странице появилось просто число 1 (номер строки). Думаю, может что-то не так с таблицей.

ОгорчениеОгорчениеОгорчение

я даже не знаю какие параметры какому полю правильно нужно присвоить.. Огорчение
 
 Top
f0rm4t
Отправлено: 14 Ноября, 2006 - 13:30:41
Post Id



Посетитель


Покинул форум
Сообщений всего: 433
Дата рег-ции: Июнь 2006  


Помог: -1 раз(а)




Ты имел в виду "по страничную навигацию"?
Что ты хочешь использовать в качестве хранилища информации? БД или файлы?
 
 Top
murich
Отправлено: 12 Августа, 2007 - 22:49:35
Post Id



Новичок


Покинул форум
Сообщений всего: 19
Дата рег-ции: Авг. 2007  


Помог: 0 раз(а)




Здраствуйте. Человек сформулировал свою проблему четко. Он делает вывод данныХ из MySQL, как сказанно в статье, находящейся по адресу http://www.php.su/articles/?cat=...les&page=062
У меня такая же проблема как и у него:

Fatal error: Unsupported operand types in /home/lamers/public_html/lamirst va.php on line 14

В строке этой написанно:
PHP:
скопировать код в буфер обмена
  1.  $total = intval(($posts - 1) / $num) + 1;  // Находим общее число страниц


Мне бы тоже не помешала помошь. Может подскажите, в чем дело?


-----
Just be a Person
 
 Top
valenok
Отправлено: 12 Августа, 2007 - 22:59:26
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Да.
Дело в том что для новых вопросов создают новые темы,
и ещё дело в том что php код следует обрамлять в теги [php][/php]
Всё это указано в правилах.\n\n(Добавление)
$result = mysql_query("SELECT COUNT(*) FROM post");
$posts = mysql_fetch_row($result);

заменить на

$result = mysql_query("SELECT COUNT(*) FROM post");
$posts = mysql_fetch_result($result,0,0);


-----
Truly yours, Sasha.
 
My status
 Top
evgenijj
Отправлено: 13 Августа, 2007 - 08:26:14
Post Id



Участник


Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006  
Откуда: Москва


Помог: 10 раз(а)




murich пишет:
Здраствуйте. Человек сформулировал свою проблему четко. Он делает вывод данныХ из MySQL, как сказанно в статье, находящейся по адресу http://www.php.su/articles/?cat=...les&page=062
У меня такая же проблема как и у него:

Fatal error: Unsupported operand types in /home/lamers/public_html/lamirst va.php on line 14

В строке этой написанно:
$total = intval(($posts - 1) / $num) + 1; // Находим общее число страниц

Мне бы тоже не помешала помошь. Может подскажите, в чем дело?


http://phpfaq[dot]ru/debug
Цитата:

Надо проконтролировать на каждом из участков - все ли переменные имеют то значение, которое ожидается.
Программа ведь работает с переменными.
Как проверить?
Выводить все используемые переменные на экран! И визуально контролировать их содержимое.
Всего-то лишь написать проблемных местах var_dump($var) и выяснится, что переменная-то пустая!
И уже можешь пойти на форум не с вопросом "у меня вот код на 100 строк, где ошибка?", а "я написал функцию, но почему-то, когда обращаюсь в ней к переменным, они все пустые". или "из формы не передаются переменные".


Fatal error: Unsupported operand types
Неподдерживаемый тип операнда

Что делать? ОТВЕТ:
PHP:
скопировать код в буфер обмена
  1.  
  2. echo $posts."<br/>";
  3. echo $num."<br/>";
  4. $total = intval(($posts - 1) / $num) + 1;
  5.  

И получим, что $posts у нас оказывается array
 
 Top
murich
Отправлено: 13 Августа, 2007 - 09:19:25
Post Id



Новичок


Покинул форум
Сообщений всего: 19
Дата рег-ции: Авг. 2007  


Помог: 0 раз(а)




evgenijj
спасибо за подсказку.
valenok
$posts = mysql_fetch_row($result); -не катит Улыбка, зато катит mysql_num_rows


$result = mysql_query("SELECT COUNT(*) FROM post");
$posts = mysql_fetch_row($result);

не нужно заменять на
$result = mysql_query("SELECT COUNT(*) FROM post");
$posts = mysql_fetch_result($result,0,0);

Эти 2 строки нужно заменить на

$result = mysql_query("SELECT * FROM news");
$posts = mysql_num_rows($result);

и тогда все работает. А вопрос то старый, вот я и решил новую тему не создавать. Много тем по одному и тому же вопросу- хлам, однако.


-----
Just be a Person
 
 Top
evgenijj
Отправлено: 13 Августа, 2007 - 09:48:09
Post Id



Участник


Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006  
Откуда: Москва


Помог: 10 раз(а)




murich пишет:

valenok
$posts = mysql_fetch_row($result); -не катит Улыбка, зато катит mysql_num_rows

$result = mysql_query("SELECT COUNT(*) FROM post");
$posts = mysql_fetch_row($result);

не нужно заменять на
$result = mysql_query("SELECT COUNT(*) FROM post");
$posts = mysql_fetch_result($result,0,0);

Эти 2 строки нужно заменить на
$result = mysql_query("SELECT * FROM news");
$posts = mysql_num_rows($result);

valenok здесь просто опечатался - он имел виду функцию
$posts = mysql_result($result, 0, 0);

И на самом деле его вариант лучше - он будет работать гораздо быстрее
 
 Top
murich
Отправлено: 13 Августа, 2007 - 11:45:16
Post Id



Новичок


Покинул форум
Сообщений всего: 19
Дата рег-ции: Авг. 2007  


Помог: 0 раз(а)




Сделал. Быстрее это хорошо Улыбка


-----
Just be a Person
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Обсуждение статей »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB