Поможите неведущему с кодом

pan
На сайте с 24.10.2004
Offline
164
pan
583

Код вывода 3 последних новостей из определенной категории

$topicid = 3;

$sql = "SELECT storyid, title, hometext FROM ".$db->prefix("stories")." WHERE topicid=".$topicid." AND published>0 AND published<".time()." ORDER BY published DESC";
$result = $db->query($sql, 3, 0);
while (list($storyid, $title, $hometext) = $db->fetch_row($result)) {
echo "<p><a href='/article.php?storyid=$storyid'>$title</a></p>";
echo "<p>$hometext</p><br>";
}

Выводится так:

Тайтл1

Анонс1

Тайтл2

Анонс2

Тайтл3

Анонс3

Как сделать вывод такой

Тайтл1

Анонс1

Тайтл2

Тайтл3

Ну вобщем первая новость с анонсом, а остальные только тайтл.

Прошу прощения, я не программист :)

Заранее спасибо за ответ

Мебельные фабрики Екатеринбурга (http://www.mebel66.ru/catalog/producers/) Дачный ГС жены (http://www.nafazendu.ru) Нет темы для бизнеса ? - да эта тема под ногами (http://www.uralstroyportal.ru/modules/forum/t1674.html)
[Удален]
#1

После $topicid = 3; добавите $announce = null;

Вместо echo "<p>$hometext</p><br>"; напишите:

if( empty( $announce ) )
{
$announce = $hometext;
echo "<p>$announce</p><br>";
}
juniorspecialistphp
На сайте с 08.08.2010
Offline
25
#2

А если так

$topicid = 3;

$cnt = 0;
$sql = "SELECT storyid, title, hometext FROM ".$db->prefix("stories")." WHERE topicid=".$topicid." AND published>0 AND published<".time()." ORDER BY published DESC";
$result = $db->query($sql, 3, 0);
while (list($storyid, $title, $hometext) = $db->fetch_row($result)) {
echo "<p><a href='/article.php?storyid=$storyid'>$title</a></p>";
if($cnt==0){
echo "<p>$hometext</p><br>";
}
$cnt++;
}
Пишу скрипты любой сложности на РНР. (http://elagin.su)
Orangesoda
На сайте с 22.08.2010
Offline
17
#3


$topicid = 3;
$sql = "SELECT storyid, title, hometext FROM ".$db->prefix("stories")." WHERE topicid=".$topicid." AND published>0 AND published<".time()." ORDER BY published DESC";
$result = $db->query($sql, 3, 0);
$flag = true;
while (list($storyid, $title, $hometext) = $db->fetch_row($result)) {
echo "<p><a href='/article.php?storyid=$storyid'>$title</a></p>";
if ($flag)
{
echo "<p>$hometext</p><br>";
$flag = false;
}
}

Или использовать for

Или


$topicid = 3;
$sql = "SELECT storyid, title, hometext FROM ".$db->prefix("stories")." WHERE topicid=".$topicid." AND published>0 AND published<".time()." ORDER BY published DESC";
$result = $db->query($sql, 3, 0);

list($storyid, $title, $hometext) = $db->fetch_row($result);
echo "<p><a href='/article.php?storyid=$storyid'>$title</a></p>";
echo "<p>$hometext</p><br>";

while (list($storyid, $title, $hometext) = $db->fetch_row($result)) {
echo "<p><a href='/article.php?storyid=$storyid'>$title</a></p>";
//echo "<p>$hometext</p><br>";
}
AND published>0 AND published<".time()

Почему нельзя убрать отсюда AND published>0?

pan
На сайте с 24.10.2004
Offline
164
pan
#4

Всем большое спасибо, удачи в наступающем году :)

Orangesoda
На сайте с 22.08.2010
Offline
17
#5

Всегда пожалуйста!

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