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 :: Выборка и сортировка по ID

 PHP.SU

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


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

> Без описания
Exponat
Отправлено: 09 Апреля, 2014 - 14:08:43
Post Id



Частый гость


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


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




Здравствуйте.
У меня есть слайдер с мини-картинками (превьюшки) количстве пять штук. Как мне сначала выбрать 4 а потом последний пятый? И чтоб они были по порядку. Просто пятому мне нужно определить селектор css.
Я делаю так:
PHP:
скопировать код в буфер обмена
  1. $zapros_top2 = mysql_query("SELECT * FROM `news` WHERE `status`='top' ORDER BY `id` DESC LIMIT 4");
  2. while ($result_top2 = mysql_fetch_assoc($zapros_top2))
  3. {      
  4. echo "<li><a href='#'>
  5. <img src='../image/news/mini/".$result_top2['img']."' class='fea_thumb' alt='' title=''/> </a>
  6. </li>";
  7. }
  8. $zapros_top3 = mysql_query("SELECT * FROM `news` WHERE `status`='top' and `id`>".$result_top2['id']." ORDER BY `id` DESC LIMIT 1");
  9. while ($result_top3 = mysql_fetch_assoc($zapros_top3))
  10. {      
  11. echo "<li class='last'><a href='#'>
  12. <img src='../image/news/mini/".$result_top3['img']."' class='fea_thumb' alt='' title=''/> </a>
  13. </li>";
  14. }              


Выводится первые 4 а на пятом пишется ошибка Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in - указывает на while ($result_top3 = mysql_fetch_assoc($zapros_top3)).
 
 Top
Мелкий Супермодератор
Отправлено: 09 Апреля, 2014 - 14:39:22
Post Id



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


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




Решайте лучше нормально поставленную задачу, а не костыль.
Т.е. "как последнему элементу поставить другой стиль?"

Емнип, это можно сделать силами чисто CSS.
Силами PHP - берёте mysql_num_rows, в цикле вывода добавляете счётчик, который увеличиваете на 1 на каждой итерации. Как значение счётчика стало равно количеству строк - это последняя строка.


-----
PostgreSQL DBA
 
 Top
IllusionMH
Отправлено: 09 Апреля, 2014 - 14:41:31
Post Id



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


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


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




Exponat, а вы в цикле выводите все и сделайте переменную-счетчик, которая при делении на 5 будет означать что это 5ый элемент. Делать лишний запрос только ради такого трюка - неприемлемо.

Еще есть псевдокласс :last-child в CSS
 
 Top
Exponat
Отправлено: 09 Апреля, 2014 - 14:55:24
Post Id



Частый гость


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


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




Мелкий, если я делаю одним запросом у меня выведутся все li одинакового стиля. Мне нужно что последний пятый li был с другим css стилем. Я не знаю другого способа кроме отдельного запроса. Но IllusionMH кажется делает для меня просвет в этой задаче. Как мне с счетчиком провернуть такое дело? У меня ul с li. Разве попдойдет :last-child к ним?
 
 Top
Мелкий Супермодератор
Отправлено: 09 Апреля, 2014 - 15:15:39
Post Id



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


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




Exponat пишет:
если я делаю одним запросом у меня выведутся все li одинакового стиля

Ну так выводите разными.

Мелкий пишет:
Силами PHP - берёте mysql_num_rows, в цикле вывода добавляете счётчик, который увеличиваете на 1 на каждой итерации. Как значение счётчика стало равно количеству строк - это последняя строка.


-----
PostgreSQL DBA
 
 Top
IllusionMH
Отправлено: 09 Апреля, 2014 - 16:02:15
Post Id



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


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


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




Exponat, если li будет последним будет 5ый элемент, он будет :last-child. еще есть :nth-child() :nth-of-type().
Но проще всего сделать счетчик как уже выше несколько раз говорилось.

(Отредактировано автором: 09 Апреля, 2014 - 16:04:47)

 
 Top
Exponat
Отправлено: 09 Апреля, 2014 - 16:44:50
Post Id



Частый гость


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


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




Спасибо огромно IllusionMH.
:last-child мне помог Улыбка
 
 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