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]   

> Без описания
jobsdata
Отправлено: 06 Августа, 2012 - 13:19:17
Post Id


Новичок


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


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




Добрый день. Есть такой код
PHP:
скопировать код в буфер обмена
  1. $query2 = mysql_query("SELECT * FROM card WHERE cat=".$cat_id );
  2. if(mysql_num_rows($query2)>0){
  3.         $result2 = mysql_fetch_array($query2);
  4.  
  5.         do{
  6.                 printf ('<div class="span4">
  7.                                     <img src="/%s" height="102"/>
  8.                                         <h1><a href="/%s/%s">%s</a></h1>
  9.                                        
  10.                                         </div>', $result2['url_img'], $cat_slug, $result2['id'], $result2['name']);
  11. }
  12. while($result2 = mysql_fetch_array($query2));
  13.  
  14. }


В моей БД есть 18 строк, этот код их все вытаскивает , а мне нужно чтоб вытащил 3 строки, остановился, потом снова вытащил 3 строки. LIMIT не помогает (( Помогите нищему программисту)
 
 Top
Alho
Отправлено: 06 Августа, 2012 - 13:34:17
Post Id



Посетитель


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


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




Не совсем понятно, что вам в дейтсвительности нужно.

Если все картинки на одной странице - пусть и вытаскивает все, а сами выводите по три в цикле.

Есди на разных. то LIMIT отлично должен работать.

CODE (SQL):
скопировать код в буфер обмена
  1. "SELECT * FROM card WHERE cat=".$cat_id." LIMIT 3"

CODE (SQL):
скопировать код в буфер обмена
  1. "SELECT * FROM card WHERE cat=".$cat_id." LIMIT 3, 3"
(для второго раза)
 
 Top
jobsdata
Отправлено: 06 Августа, 2012 - 14:36:25
Post Id


Новичок


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


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




Alho пишет:
Не совсем понятно, что вам в дейтсвительности нужно.

Если все картинки на одной странице - пусть и вытаскивает все, а сами выводите по три в цикле.

Есди на разных. то LIMIT отлично должен работать.

CODE (SQL):
скопировать код в буфер обмена
  1. "SELECT * FROM card WHERE cat=".$cat_id." LIMIT 3"

CODE (SQL):
скопировать код в буфер обмена
  1. "SELECT * FROM card WHERE cat=".$cat_id." LIMIT 3, 3"
(для второго раза)


Вытаскиваю карточки на страницу. А можешь показать как правильно оформить код на примере с циклом? Я просто не очень еще понимаю всю правильную логику оформления кода.
 
 Top
maragon
Отправлено: 06 Августа, 2012 - 14:40:35
Post Id



Посетитель


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


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




PHP:
скопировать код в буфер обмена
  1. $result = mysql_query("SELECT * FROM card WHERE cat=".$cat_id." LIMIT 3");
  2. $count = mysql_num_rows($result);
  3. if($count > 0){
  4. while($row = mysql_fetch_array($result)){
  5. echo $row['id']; //Выведет id, если есть..
  6. echo "<br>";
  7. }
  8. } else { echo "<b>Пусто</b>";}

.. не прочитал ваш вопрос.
Постраничная навигая - слышали?
Выведет 3 блока, ниже навигация:
1,2,3 страница.

(Отредактировано автором: 06 Августа, 2012 - 14:42:23)



-----
https://vk[dot]com/tvoycase_ru - Твой чехол со своим дизайном
 
 Top
Netgl
Отправлено: 06 Августа, 2012 - 14:47:38
Post Id



Новичок


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


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




Используй foreach и счетчик

например

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?php
  3. $i=0; //счетчик
  4. foreach ($arr as $val){ //перебор массива
  5.         $i++; // + 1
  6.        
  7.         if ($i == 1) {
  8.                 echo '<div>'; // открываем тег
  9.         }
  10.        
  11.         if ($i <= 3){
  12.                 // тут всё что между тегами <div>
  13.         }
  14.        
  15.         if ($i == 3) {
  16.                 $i = 0; // обнуляем
  17.                 echo '</div>'; // закрываем тег
  18.         }
  19. }
  20. ?>
  21.  

(Отредактировано автором: 06 Августа, 2012 - 14:50:31)

 
 Top
jobsdata
Отправлено: 07 Августа, 2012 - 12:40:09
Post Id


Новичок


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


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




спасибо. по тестим.
(Добавление)
maragon пишет:
PHP:
скопировать код в буфер обмена
  1. $result = mysql_query("SELECT * FROM card WHERE cat=".$cat_id." LIMIT 3");
  2. $count = mysql_num_rows($result);
  3. if($count > 0){
  4. while($row = mysql_fetch_array($result)){
  5. echo $row['id']; //Выведет id, если есть..
  6. echo "<br>";
  7. }
  8. } else { echo "<b>Пусто</b>";}

.. не прочитал ваш вопрос.
Постраничная навигая - слышали?
Выведет 3 блока, ниже навигация:
1,2,3 страница.


мне не нужна постраничная навигация (( мне надо чтоб вывод по 3 карточки в определный див вывод был, потом снова 3 карточки в див, а если я вытаскиваю все в этот див, начинает корявое отображение. не надо меня направлять изучать css ))) просто код в который я это пытаюсь вывести очень кудрявый и нет времени тратить на стилизацию)
 
 Top
Yurka
Отправлено: 07 Августа, 2012 - 12:56:05
Post Id


Новичок


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


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




может так ?

PHP:
скопировать код в буфер обмена
  1.  
  2. $images = array(); //массив картинок;
  3. $count = 18;//count($images);
  4.        
  5. echo "<div>";
  6. for ($i = 0; $i<$count; $i++) {
  7.   if ($i%3==0)
  8.     if ($i==0) echo "<div>";
  9.     else echo "</div><div>";
  10.   echo "<img src='".$images[$i]."'/>";
  11. }
  12. if ($count%3!=0) "</div>";
  13.  

(Отредактировано автором: 07 Августа, 2012 - 13:56:26)

 
 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