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 :: Постраничная новигация [3]

 PHP.SU

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


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

> Без описания
Champion Супермодератор
Отправлено: 23 Января, 2009 - 08:40:29
Post Id



Активный участник


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


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




$start, $num точно определены? и точно они числа? выведите их перед запросом. Вообще всю строку запроса выведите на экран оператором echo. Я имел в виду это, а не весь код сюда.
И еще, вам не помешает
http://phpfaq[dot]ru/debug
 
 Top
Stierus Супермодератор
Отправлено: 23 Января, 2009 - 08:49:11
Post Id



Рекордсмен по количеству сообщений за 7 дней


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


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




У вас идёт проверка
Цитата:
if(empty($page) or $page < 0)
, наиболее частный вариант - когда $page будет равным 0 (из строчки $page = intval($page);, когда $page не определён($_GET['page'] не определён, кстати тут будет вылезать Notice, что не хорошо)). Таким образом у вас будет $start = $page * $num - $num = 0*10-10 = -10

Я бы советовал

PHP:
скопировать код в буфер обмена
  1. $page = $_GET['page'];
  2. $page = intval($page);
  3. if(empty($page) or $page < 0) $page = 1;
  4.   if($page > $total) $page = $total;

Заменить на
PHP:
скопировать код в буфер обмена
  1. if(isset($_GET['page']) and intval($_GET['page']) >0){
  2.     $page = intval($_GET['page']);
  3.     if($page > $total) $page = $total;
  4. }
  5. else{
  6.     $page = 1;
  7. }
  8.  

(Отредактировано автором: 23 Января, 2009 - 08:53:43)

 
My status
 Top
__ALEN__
Отправлено: 16 Ноября, 2009 - 22:34:11
Post Id



Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Март 2009  
Откуда: Ukraine


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




Привет всем! У меня на первой странице выводит нужное количество елементов, а на следующих произвольно, хотя переменные нормально создаются. Вот код:
PHP:
скопировать код в буфер обмена
  1.  
  2.   if(isset($_GET['p']))$p=intval($_GET['p']);
  3.   else{$p=1;}
  4.   $start=intval($p*$num-$num);
  5.   $end=intval($p*$num);
  6.   $c=mysql_query("SELECT * FROM `kategory` WHERE `type`='ras'  ORDER BY `id` DESC LIMIT $start, $end;");
  7.  


-----
Пишу на заказ проги на python'e для symbian 6,7,8, возможно и на java. Обращатса в аську 252893
 
 Top
valenok
Отправлено: 17 Ноября, 2009 - 08:09:32
Post Id



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


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


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




Выведи вверху станицы start и end и посмотри чему они равны.


-----
Truly yours, Sasha.
 
My status
 Top
__ALEN__
Отправлено: 17 Ноября, 2009 - 19:14:04
Post Id



Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Март 2009  
Откуда: Ukraine


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




я так и делаю, нормально они выводятся. вот код самой навигации, она простенькая и должна выводить ссылки на все страницы сразу:
PHP:
скопировать код в буфер обмена
  1.  
  2. //$all - всего страниц
  3. //$page -текущая страница
  4. //$inpage - елементов на страницу
  5. function GetNav($all,$page,$url,$inpage)
  6.  {
  7.   $str='';
  8.   $all_page=intval(($all-1)/$inpage+1);
  9.   if((float)($all/$inpage)-$all_page>0)$all_page++;
  10.   for($i=0; $i<$all_page; $i++)
  11.   {
  12.    if(($i+1)==$page)$str.='<b>'.($i+1).'</b> ';
  13.    else{$str.='<a href='.$url.($i+1).'>'.($i+1).' </a>';}
  14.   }
  15.   return $str;
  16.  }
  17.  


-----
Пишу на заказ проги на python'e для symbian 6,7,8, возможно и на java. Обращатса в аську 252893
 
 Top
__ALEN__
Отправлено: 18 Ноября, 2009 - 22:26:56
Post Id



Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Март 2009  
Откуда: Ukraine


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




Так что никто незнает по поводу моего вопроса?


-----
Пишу на заказ проги на python'e для symbian 6,7,8, возможно и на java. Обращатса в аську 252893
 
 Top
Bender
Отправлено: 13 Февраля, 2016 - 21:53:35
Post Id


Новичок


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


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




всем привет как исправит ошибка
PHP:
скопировать код в буфер обмена
  1. $posts = mysql_result(mysql_query("SELECT COUNT(*) FROM `article` WHERE `id_cat` = '$id' AND `right` = '1'"),0);
  2. //view.php on line 44
  3. $total = intval(($posts - 1) / $num) + 1;
  4.  
  5.  
  6. if($page > $total) $page = $total;
  7. $start = $page * $num - $num ;
  8. $result = mysql_query("SELECT * FROM `article` WHERE `id_cat` = '$id' AND `right` = 1 ORDER BY `type` ASC,`time` DESC LIMIT $start, $num");
  9. if ($posts >0) {
  10. //view.php on line 49
  11. while ($m = mysql_fetch_assoc($result))
  12.  
  13.  
  14. {


Warning: Division by zero in /home/users/s/smartttik/domains/ lib.uzbender.ru/view.php on line 44

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /home/users/s/smartttik/domains/ lib.uzbender.ru/view.php on line 49
[1]

(Отредактировано автором: 13 Февраля, 2016 - 21:55:55)

 
 Top
Bender
Отправлено: 14 Февраля, 2016 - 14:27:44
Post Id


Новичок


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


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




кто то ест этот форум
 
 Top
DelphinPRO
Отправлено: 14 Февраля, 2016 - 16:37:03
Post Id



Активный участник


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


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




Нужно создавать свою тему с вопросом, а не писать в старые топики.


По ошибкам - вам ясным языком пишут - Деление на ноль! Что здесь не понятно?

Во второй пишется, что параметр у функции должен быть типа resource а по факту приходит false. Нужно делать проверку перед использованием функции.
Почему false? Потому что предыдущий запрос завершился с ошибкой.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Страниц (3): « 1 2 [3]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Обсуждение статей »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB