|
|
|
| Нужно вывести 3 популярные темы, подключил красивый слайдер , но там есть блоки которые не должны повторятся.
Вот сам слайдер.
<div id='slidorion'>
<div id='slider'>
<div class='slider-image' rel='section1'>
<img src='$topo[img]' width='250' />
</div>
<div class='slider-image' rel='section2'>
<img src='2.jpg' width='500' />
</div>
<div class='slider-image' rel='section3'>
<img src='3.jpg' width='500' />
</div>
</div>
<div id='accordion'>
<div class='header'><a class='slider-link' rel='section1'>$topo[title]</a></div>
<div class='content'>
$topo[descrip]<br>Продолжение <a href='news_look.php?news=$topo[id]'>тут</a>
</div>
<div class='header'><a class='slider-link' rel='section2'>Темный рыцарь</a></div>
<div class='content'>
<!-- Содержание располагается здесь -->
</div>
<div class='header'><a class='slider-link' rel='section3'>Типа крутые легавые</a></div>
<div class='content'>
<!-- Содержание располагается здесь -->
</div>
</div>
</div>
|
| |
|
|
|
|
|
|
|
для: kvins
(30.12.2011 в 19:27)
| | >Нужно вывести 3 популярные темы
> ...
>но там есть блоки которые не должны повторятся.
Откуда берутся три популярные темы? | |
|
|
|
|
|
|
|
для: cheops
(30.12.2011 в 19:35)
| | $pop= mysql_query ("SELECT id,title,descrip,img FROM news ORDER BY coms DESC LIMIT 3"); | |
|
|
|
|
|
|
|
для: kvins
(30.12.2011 в 19:43)
| | к примеру
<div id='slider'>
и
<div id='accordion'>
не должны выводится 3 раза,но этот код мешает сделать функцию while | |
|
|
|
|
|
|
|
для: kvins
(30.12.2011 в 19:48)
| | Хм... не очень понимаю в чем загвоздка, так вынесите эти тэги за пределы цикла while(). Или сложность с чем-то другим? | |
|
|
|
|
|
|
|
для: kvins
(30.12.2011 в 19:43)
| | Правильно ли я понимаю, что запрос возвращает повторяющиеся значения или все записи уникальны, а дублирование происходит где-то в другом месте? | |
|
|
|
|
|
|
|
для: cheops
(30.12.2011 в 19:54)
| | этот код который я показал , он без функции while , но если я ее начну использовать, то начнут появляться повторяющиеся теги типо этого <div id='accordion'>
которые должны быть только 1 раз .
Получается код состоит из 2 блоков.
Первый блок картинки , блок закрывается /
Второй блок описание.
А между окончанием картинок и началом описания , открывается второй блок который не должен повторятся 3 раза | |
|
|
|
|
|
|
|
для: kvins
(30.12.2011 в 20:23)
| | А вы сделайте так, чтобы такие повторяющиеся конструкции не появлялись
<div id='slidorion'>
<div id='slider'>
<div class='slider-image' rel='section1'>
<img src='$topo[img]' width='250' />
</div>
<div class='slider-image' rel='section2'>
<img src='2.jpg' width='500' />
</div>
<div class='slider-image' rel='section3'>
<img src='3.jpg' width='500' />
</div>
</div>
<div id='accordion'>
<div class='header'><a class='slider-link' rel='section1'>$topo[title]</a></div>
<div class='content'>
$topo[descrip]<br>Продолжение <a href='news_look.php?news=$topo[id]'>тут</a>
</div>
<?php
while(...)
{
...
?>
<div class='header'><a class='slider-link' rel='section2'>Темный рыцарь</a></div>
<div class='content'>
<!-- Содержание располагается здесь -->
</div>
<?php
...
}
?>
</div>
</div>
| PS Понятно, что внутри цикла нужно подставить свои значения. | |
|
|
|
|
|
|
|
для: cheops
(30.12.2011 в 20:29)
| | тогда функция while должна быть не только где вы показали но и среди этого
<div class='slider-image' rel='section2'>
<img src='2.jpg' width='500' />
</div>
а между ними не должно повторятся
разве можно whlle поделить на 2 раза ? | |
|
|
|
|
|
|
|
для: kvins
(30.12.2011 в 20:41)
| | А.... понял. Тогда в цикле while() сформируйте вспомогательный массив с данными, а потом просто в двух местах создайте два цикла for(), которые будут обходить этот массив. Через один цикл у вас все-равно не выйдет, так как элементы последовательно расположены. | |
|
|
|
|
|
|
|
для: cheops
(30.12.2011 в 21:00)
| | чет подумал я, а не лучше 2 выборки сделать ? вроде можно старт фром 2 прописать | |
|
|
|
|
|
|
|
для: kvins
(31.12.2011 в 13:32)
| | Две выборки - два запроса, двойная нагрузка. Если хотите, использовать именно while() + mysql_fetch_array(), то после первого цикла выполните функцию mysql_data_seek(), передав в качестве второго параметра 0. Такой вызов переместит указатель результирующей таблицы в начала, и её снова можно будет прочитать. Таким образом, запрос будет один, а циклов while($result = mysql_fetch_array($hdl)) - два. | |
|
|
|