Вывод более одной строки из MySql (ICMS)

#1 10 октября 2014 в 22:07
В БД имеется более двух строк которые нужно прочитать, пишу так:

  1.  
  2. $uc_items_id = $item['id'];
  3. $sql_photos = "SELECT * FROM cms_uc_items_photos WHERE uc_items_id = '$uc_items_id'";
  4. $item_photos_res = $inDB->query($sql_photos);
  5. $item_photos = $inDB->fetch_assoc($item_photos_res);
  6.  
получаю только одну строку с данными, а нужно все, которые относятся к $uc_items_id

Помогите пожалуйста. Спасибо.
#2 10 октября 2014 в 22:15
  1. $item_photos = $inDB->fetch_assoc($item_photos_res);
нужно заменить на

  1.  
  2. $item_photos = array();
  3. while($row = $inDB->fetch_assoc($item_photos_res)) {
  4. $item_photos[]= $row;
  5. }
  6.  
  7. ну и дальше что тебе нужно делать с массивом строк;
#3 11 октября 2014 в 13:39
+1
maxisoft, огромное спасибо. Все работает!
#4 14 октября 2014 в 11:58
Я конечно извиняюсь, но может быть я изначально неправильно поставил вопрос и запрос к БД, который maxisoft написал выше не дает возможность решить, мою проблему. Суть дела такова:

Все, что относится к $uc_items_id мы считали (2 столбца — это поле с название фото и его описанием), но не получается вывести все поочередно в шаблоне. Т.е. сначала изображение №1, а за ним сразу его описание. Аналогично со вторым изображением и т.д.

прикладываю прототип



Если вставлять один foreach в другой, то выводятся все тексты.

Если в шаблоне пытаюсь вывести таким образом, то выводи сначала изображения, а потом описания:

  1. {if $item.photos}
  2. <div style="border:0px;width:100%;">
  3. {foreach key=pid item=img from=$item.photos}
  4. <a class="lightbox-enabled" rel="lightbox-galery" href="/images/catalog/medium/{$img}">
  5. <img alt="{$item.title|escape:'html'}" src="/images/catalog/small/{$img}" style="width:75px;padding:2px;"></a>
  6. {/foreach}
  7.  
  8. {foreach key=pid item=desc from=$item.desc}
  9. <p>{$desc}</p>
  10. {/foreach}
  11. </div>
  12. {/if}
Еще раз огромное спасибо за понимание.
#5 14 октября 2014 в 12:13
  1. <!-- В шалон нужно передать весь массив $items, тогда -->
  2.  
  3. {foreach item=item from=$items}
  4. <img src="/images/catalog/small/{$item.img}" />
  5. <p>{$item.desc}</p>
  6. {/foreach}
#6 15 октября 2014 в 12:19
Pasha, спасибо, выручили.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.