в тексте новости выводятся картинки таким образом: Код: <img class="tizer_info" src="http://www.ххх.ru/images/tizer/<?= $page['pict1'] ?>" title="<?= $page['pict_alt1'] ?>" alt="<?= $page['pict_alt1'] ?>"> <br /><img class="tizer_info" src="http://www.ххх.ru/images/tizer/<?= $page['pict2'] ?>" title="<?= $page['pict_alt2'] ?>" alt="<?= $page['pict_alt2'] ?>"> <br /><img class="tizer_info" src="http://www.ххх.ru/images/tizer/<?= $page['pict3'] ?>" title="<?= $page['pict_alt3'] ?>" alt="<?= $page['pict_alt3'] ?>"> <br /><img class="tizer_info" src="http://www.ххх.ru/images/tizer/<?= $page['pict4'] ?>" title="<?= $page['pict_alt4'] ?>" alt="<?= $page['pict_alt4'] ?>"> <br /><img class="tizer_info" src="http://www.ххх.ru/images/tizer/<?= $page['pict5'] ?>" title="<?= $page['pict_alt5'] ?>" alt="<?= $page['pict_alt5'] ?>"> <br /><img class="tizer_info" src="http://www.ххх.ru/images/tizer/<?= $page['pict6'] ?>" title="<?= $page['pict_alt6'] ?>" alt="<?= $page['pict_alt6'] ?>"> <br /><img class="tizer_info" src="http://www.ххх.ru/images/tizer/<?= $page['pict7'] ?>" title="<?= $page['pict_alt7'] ?>" alt="<?= $page['pict_alt7'] ?>"> путь картинки (название) хранится в бд в таблице tizer ... столбец pict1, pict2 и т.д. получение картинки: PHP: function get_tizer_page($link) { return $this->db->select('name, text, title, pict, pict_alt, pict1, pict_alt1, pict2, pict_alt2, pict3, pict_alt3, pict4, pict_alt4, pict5, pict_alt5, pict6, pict_alt6, pict7, pict_alt7, keywords, description')->from('tizer')->where('link', $link)->where('date <',date('Y-m-d H:i:s'))->limit(1)->get()->row_array(); } задача: если название картинки в БД отсутствует т.е. её нет и картинка на сайте выводится таким образом <img class="tizer_info" src="http://www.ххх.ru/images/tizer/" title="" alt=""> то она не должна выводится или дожна заменятся на другую картинку которой не видно или должен добавляться style="display: none;" з.ы. пытался через if(!isset($page['pict1'])) $page['pict1']=""; но как то не получилось
а не проще ту которая отсутствует вообще не выводить? --- добавлено: Mar 18, 2013 4:47 PM --- PHP: <?phpfor ($i=1;$i<8;$i++) {if ($page['pict'.$i] !== '') { ?><img class="tizer_info" src="http://www.ххх.ru/images/tizer/<?= $page['pict'.$i] ?>" title="<?= $page['pict_alt'.$i] ?>" alt="<?= $page['pict_alt'.$i] ?>"><?php if ($i !=='8') { ?><br /> <?php }}}?> убираем последний <br>
отлично работает, спасибо --- добавлено: Mar 18, 2013 5:05 PM --- а если у меня не 7 картинок, а 15 .... нужно прописать $i<16 ... или 15 ?
а если так? Код: <img class="tizer_info" src="http://www.ххх.ru/images/tizer/<?= $page['pict_ferst'] ?>" title="<?= $page['pict_alt_ferst'] ?>" alt="<?= $page['pict_alt_ferst'] ?>"> --- добавлено: Mar 18, 2013 8:00 PM --- всё... заработало... сам налажал, забыл запросить в параметр из БД
делай названий массив и перебирай в цикле. PHP: <?php$b=array('first', ..... ,'last');$a= count($b);//$a = количество картинок +1; если первая картинка имеет номер "1", если "0" то $a = количество картинок;for ($i=0;$i<$a;$i++) {if ($page['pict_'.$b[$i]] !== '') { ?><img class="tizer_info" src="http://www.ххх.ru/images/tizer/<?= $page['pict_'.$b[$i]] ?>" title="<?= $page['pict_alt_'.$b[$i]] ?>" alt="<?= $page['pict_alt_'.$b[$i]] ?>"><?php if ($i !== $a-1) { ?><br /> <?php }}}?> убираем последний <br>
как спрятать целый набор картинок? Код: <center> <ul id="ferst" class="jcarousel-skin-tango"> <?php for ($i=1;$i<16;$i++) { if ($page['pict'.$i] !== '') { ?> <li> <a href="http://www.ххх.ru/images/tizer/<?= $page['pict'.$i] ?>" rel="lightbox-preview" title="<?= $page['pict_alt1'] ?>" class="fancybox"> <img width="150" height="150" src="http://www.ххх.ru/images/tizer/<?= $page['pict'.$i] ?>" title="<?= $page['pict_alt1'] ?>" alt="<?= $page['pict_alt1'] ?>"> </a> </li> <?php }}?> </ul> </center> спрятать весь этот код если отсутствуют записи в БД в полях pict1, pict2, ......, pict14, pict15
а разве так не работает?? PHP: <center><ul id="ferst" class="jcarousel-skin-tango"><?phpfor ($i=1;$i<16;$i++) {if ($page["pict$i"]) { ?><li> <a href="http://www.ххх.ru/images/tizer/<?= $page['pict'.$i] ?>" rel="lightbox-preview" title="<?= $page['pict_alt1'] ?>" class="fancybox"> <img width="150" height="150" src="http://www.ххх.ru/images/tizer/<?= $page['pict'.$i] ?>" title="<?= $page['pict_alt1'] ?>" alt="<?= $page['pict_alt1'] ?>"> </a> </li><?php }}?> </ul></center>[/code]
так работает.... только работает для каждой картинки в отдельности, а нужно скрыть весь комплекс если нету картинок ..... т.е. на данный момент если нет картинок показывается пустая галерея со стрелками прокрутки картинок... а нужно чтоб и этого то же не показывало --- добавлено: 28 мар 2013 в 10:09 --- в принцепи если продублировать <?php for ($i=1;$i<16;$i++) { if ($page["pict$i"]) { ?> ................................. <?php }}?> вроде работает так как нужно, но интересно - это оптимальный вариант? может есть что то лучше?
еще как вариант так PHP: <center> <?php$j = 1;for ($i=1;$i<16;$i++) {if ($page["pict$i"]) {if($j == 1){ print '<ul id="ferst" class="jcarousel-skin-tango">';}?><li> <a href="http://www.ххх.ru/images/tizer/<?= $page['pict'.$i] ?>" rel="lightbox-preview" title="<?= $page['pict_alt1'] ?>" class="fancybox"> <img width="150" height="150" src="http://www.ххх.ru/images/tizer/<?= $page['pict'.$i] ?>" title="<?= $page['pict_alt1'] ?>" alt="<?= $page['pict_alt1'] ?>"> </a> </li><?php if($j == 1){ print '</ul>';}$j ++;}}?> </center>