Запрос для вывода через одну строку в PHP

Ilekor
На сайте с 22.04.2009
Offline
138
981

Добрый день, уважаемые программисты!

Прошу помочь!

Значит проблема следующая, существует блок, который выводит 7 последних добавленных новостей, надо реализовать так, что бы первой строке присваивался <li class="1">$имя_строки</li>, а второй строке <li class="2">$имя_строки</li> и снова ли 1 и ли 2 и т.д. ..

Прошу готовый пример показать, так как обучаюсь программингу.

Сам запрос:



<?php

$result3 = mysql_query("SELECT id, title FROM строка ORDER BY id DESC LIMIT 7",$db);

if (!$result3)
{
echo "<p>База не доступна.</p>";
exit(mysql_error());
}
if (mysql_num_rows($result3) > 0)
{
$myrow3 = mysql_fetch_array($result3);

do
{

echo "<li><a href=\"view_post-".$myrow3["id"].".html\">".$myrow3["title"]."</a></li>";

}

while ($myrow3 = mysql_fetch_array($result3));

}

else
{
echo "<p>Записи отсутствуют.</p>";
exit();
}
?>

Лучший дорген 21 века AgDor(http://agdor.info)
Dreammaker
На сайте с 20.04.2006
Offline
570
#1

Ilekor, готовый пример? о_О Вы ж вроде судя по коду знаете оператор if ?

Ilekor
На сайте с 22.04.2009
Offline
138
#2
Dreammaker:
Ilekor, готовый пример? о_О Вы ж вроде судя по коду знаете оператор if ?

Не совсем знаю, много различных манипуляций еще не знаю, пробовал через IF ELSE сделать, не получилось, может чего то не догоняю. Подскажите как реализовать таким способом.

Dreammaker
На сайте с 20.04.2006
Offline
570
#3

Ilekor, вы думаете в правильном направлении (if/else). Нужно вначале какую-то переменную взять, присвоить нулю. А затем в условии проверять, если 0, то выводить строку с одним классом и приравнивать переменную единице, если 1, то выводить вторую строку и приравнивать 0.

maldivec
На сайте с 04.11.2008
Offline
160
#4

а не, ошибся, не дочитал )))

LEOnidUKG
На сайте с 25.11.2006
Offline
1725
#5

<?php

$i=0;

..........

..........

if ($i==0) {$class='class="1"';$i=1;} else {$class='class="2"';$i=0;}

echo "<li $class><a href=\"view_post-".$myrow3["id"].".html\">".$myrow3["title"]."</a></li>";

.........

.........

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
maldivec
На сайте с 04.11.2008
Offline
160
#6

Ну я бы как-то так сделал

<?php

$i = 1; // задаем id для класса
$result3 = mysql_query("SELECT id, title FROM строка ORDER BY id DESC LIMIT 7",$db);

if (!$result3)
{
echo "<p>База не доступна.</p>";
exit(mysql_error());
}
if (mysql_num_rows($result3) > 0)
{
$myrow3 = mysql_fetch_array($result3);

do
{

if ($i == 2) $i--; // после каждого второго вывода вычитаем единицу

echo "<li сlass=\"".$i."\"><a href=\"view_post-".$myrow3["id"].".html\">".$myrow3["title"]."</a></li>";

$i++; // после каждого первого вывода прибавляем единицу

}

while ($myrow3 = mysql_fetch_array($result3));

}

else
{
echo "<p>Записи отсутствуют.</p>";
exit();
}
?>
Ilekor
На сайте с 22.04.2009
Offline
138
#7
Dreammaker:
Ilekor, вы думаете в правильном направлении (if/else). Нужно вначале какую-то переменную взять, присвоить нулю. А затем в условии проверять, если 0, то выводить строку с одним классом и приравнивать переменную единице, если 1, то выводить вторую строку и приравнивать 0.

Сейчас посмотрю.

Ilekor добавил 30.09.2009 в 13:46

LEOnidUKG:
<?php
$i=0;
..........
..........
if ($i==0) {$class='class="1"';$i=1;} else {$class='class="2"';$i=0;}

echo "<li $class><a href=\"view_post-".$myrow3["id"].".html\">".$myrow3["title"]."</a></li>";

.........
.........
_________________

Спасибо огромное, оказывается так все просто.

Всем спасибо большое, работает.

O3
На сайте с 17.11.2008
Offline
127
#8

print($sdfgdfg++%2+1)

так попроще )

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