как использовать функцией while php

12
[Удален]
1135

Скачал слайдер для сайта картинки + описание, и нужно к примеру вывести 3 последние записи туда.

Обычно делаю так

<div class="Обертка">
while ($send = mysql_fetch_array ($load))
{
echo " <div> Последние новости</div>";
}
</div>

А в слайдере Картинки и контент разделены

<div class="main"> начало главного блока

<div id='slider'> блок картинок
<div class='slider-image' rel='section1'> </div> картинка из новости
</div>


<div id='accordion'> контент блок
<div class='content'> <!-- Содержание располагается здесь --> </div> описание из новости
</div>

</div> конец главного блока

Получается если использовать обычный метод то будут повторятся эти блоки

<div id='slider'>

<div id='accordion'>

А по идее должны только эти которые находятся в блоках выше

<div class='slider-image' rel='section1'>

<div class='content'>

RO
На сайте с 13.07.2009
Offline
88
#1

мало того что название темы вообще никак не отображает её сути, так и само описание проблемы можно понять разве что под веществами.

[Удален]
#2
RedOK:
мало того что название темы вообще никак не отображает её сути, так и само описание проблемы можно понять разве что под веществами.

Могу вам посоветовать меньше употреблять вещества ибо из за них у вас всякие проблемы.

А скорее всего вам просто лень было все прочитать и вникнуть но не влом было написать ответ

---------- Добавлено в 16:29 ---------- Предыдущее сообщение было в 16:26 ----------

А если кратко , то как вывести 3 записи одновременно чтобы блоки которые посередине записей не повторялись.

Если не понятно выше то уже не знаю как обьяснить

palladin_jedi
На сайте с 13.07.2010
Offline
71
#3
kosatka:
Могу вам посоветовать меньше употреблять вещества ибо из за них у вас всякие проблемы.
А скорее всего вам просто лень было все прочитать и вникнуть но не влом было написать ответ

Я тоже попытался вникнуть и пришёл к такому же выводу как и RedOK.

Почему вы ленитесь сделать нормальное описание проблемы и сформулировать вопрос?

kosatka:
А если кратко , то как вывести 3 записи одновременно чтобы блоки которые посередине записей не повторялись.

Либо выведите блоки за цикл, либо поставьте в условии их отображения только первый шаг итерации.

Сайт о web-разработке и прочем (http://seazo.net)||Продвижение статьями под Google (http://short.seazo.net/ght4zf) Бесплатные консультации рефералам Sape (http://www.sape.ru/r.SWfwWOblBo.php) PHP и JS скрипты на заказ, создание сайтов с нуля и на CMS.
LinnTroll
На сайте с 12.01.2011
Offline
15
#4

Без веществ явно не обошлось. Не смог понять ваш пост.

Но похоже, что вам нужно что то типа:


<div class="Обертка">
<?php
$s1 = "";
$s2 = "";
while ($send = mysql_fetch_array ($load)) {
$s1 += "<div class='slider-image' rel='section1'> </div> картинка из новости";
$s2 += "<div class='content'> <!-- Содержание располагается здесь --> </div> описание из новости";
}
?>
<div id='slider'> блок картинок
<?=$s1;?>
</div>
<div id='accordion'> контент блок
<?=$s2;?>
</div>
</div>
http://vps.ua/ (https://vps.ua/clients/aff.php?aff=201) - самый лучший хостинг.
[Удален]
#5
LinnTroll:
Без веществ явно не обошлось. Не смог понять ваш пост.
Но похоже, что вам нужно что то типа:


<div class="Обертка">
<?php
$s1 = "";
$s2 = "";
while ($send = mysql_fetch_array ($load)) {
$s1 += "<div class='slider-image' rel='section1'> </div> картинка из новости";
$s2 += "<div class='content'> <!-- Содержание располагается здесь --> </div> описание из новости";
}
?>
<div id='slider'> блок картинок
<?=$s1;?>
</div>
<div id='accordion'> контент блок
<?=$s2;?>
</div>
</div>

Да спс вы правильно поняли , но почему то у меня нечего не выводит, только вместо инфы 0 показывает.

если вместо $s1 +=

сделать просто $s1 =

то выводит только 1 запись

Great-Antique
На сайте с 21.08.2010
Offline
16
#6

У вас точно в $send приходят данные?

Пишу небольшие PHP-скрипты бесплатно. Главное, чтобы интересно было. Блог о PHP-разработке (http://den.girnyk.com) и не только.
InoHacker
На сайте с 18.10.2009
Offline
75
#7
kosatka:

если вместо $s1 +=
сделать просто $s1 =
то выводит только 1 запись

А Вы попробуйте не $s += использовать, а $s .= 🤪

Магазин аккаунтов с балансом Litres,DNS,Ozon,Rotapost и еще 50+ других сервисов тут - vk.cc/7QK0Sk
[Удален]
#8
Great-Antique:


если вместо $s1 +=
сделать просто $s1 =
то выводит только 1 запись

У вас точно в $send приходят данные?

Как вы думаете передает данные :)

---------- Добавлено в 11:27 ---------- Предыдущее сообщение было в 11:21 ----------

InoHacker:
А Вы попробуйте не $s += использовать, а $s .= 🤪

Спс помогло, тока теперь еще 1 проблема о которой я сразу не подумал.

rel='section1'>

он повторяется 3 раза 1 и тоже а должно так

rel='section1'>

rel='section2'>

rel='section3'>

Думал счетчик сделать, что то типа этого,

$f = 1;

$sh = $f + 1;

$_SESSION['tt'] = $sh;

echo $_SESSION['tt'];

Ну понятно что он каждый раз не приплюсовывал 😒

Конечно можно через базу данных намутить , но это лишний запрос будет, может можно че сделать

gormarket
На сайте с 29.12.2010
Offline
47
#9

...

$s2 = "";

$sh=0;

while ($send = mysql_fetch_array ($load)) {

++$sh;

$s1.= "<div class='slider-image' rel='section".$sh."'> </div> картинка из новости";

...

Товары и цены в магазинах Вашего города: Городской рынок (http://gormarket.ru/)
LinnTroll
На сайте с 12.01.2011
Offline
15
#10
InoHacker:
А Вы попробуйте не $s += использовать, а $s .= 🤪

Чёрт, я дурак =( давно на php не кодил(

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий