Форум сетевых администраторов
Показаны 5 сообщений на этой странице

Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- VBulletin 2.x.x (http://netadmin.ws/forum/forumdisplay.php?forumid=45)
-- Вывод последнего сообщения на home page (http://netadmin.ws/forum/showthread.php?threadid=5733)


Помещено A(n)tilol 05-06-2003 в 04:01:

Вывод последнего сообщения на home page

Сорри, что открываю новую тему, но видимо в старую никто не заглядывает..
>>>
Подскажите, плз, что делаю не так?
вывожу первые 100 символов последнего сообщения из заданного форума(в данном случае из номера 2) так:

PHP:

<? 
include("/full-path/forum/admin/config.php"); 
$connection = mysql_connect("$servername","$dbusername","$dbpassword") or die ("Cannot connect to server."); 
$db = mysql_select_db("$dbname", $connection) or die (mysql_error()); 
$sql = "SELECT thread.title, thread.threadid, thread.lastposter, post.pagetext from thread, post WHERE thread.forumid = 2 ORDER by thread.lastpost desc limit 1"; 
$sql_result = mysql_query($sql, $connection); 
echo 
mysql_error(); 
if (!
$sql_result) { 
echo 
"<p>Could not get record."; 
} 
while (
$row = mysql_fetch_array($sql_result)) { 
$threadid = $row["threadid"]; 
$thetitle = $row["title"]; 
$lastposter = $row["lastposter"]; 
$post = $row["pagetext"]; 

$mypost = substr($post, 0, 100); 
$mypost .= "..."; 

echo 
"<b>$thetitle</b><br>$mypost<br>"; 
echo 
"<a href=\"http://www.my-site.ru/forum/showthread.php?s=&threadid=$threadid&goto=newpost\" title=\"$post\">Читать дальше</a><br><br>"; 

} 
mysql_free_result($sql_result); 
mysql_close($connection); 
?>


все работает отлично

Требуется вывести только одно последнее сообщение, но с выборкой из двух форумов:

PHP:

.. 
$sql = "SELECT thread.title, thread.threadid, thread.lastposter, post.pagetext from thread, post WHERE thread.forumid = 1 OR thread.forumid = 2 ORDER by thread.lastpost desc limit 1"; 
..


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

в чем может быть дело?

vbb 2.3.0

Спасибо!


Помещено Afina 05-06-2003 в 09:52:

может все-таки
- добавишь в выражение WHERE "thread.threadid=post.threadid"
или
- изменишь FROM thread LEFT JOIN post ON (post.threadid = thread.threadid)


Помещено A(n)tilol 05-06-2003 в 10:57:

Afina
Спасибо!
второй вариант работает.
Первый - если просто добавить - ошибки, если заменить, то работает, но тред берется из любого форума..


Помещено Afina 05-06-2003 в 17:38:

Когда я сказал ДОБАВИТЬ я имел ввиду
WHERE (thread.forumid = 2) AND (thread.threadid=post.threadid)


Помещено A(n)tilol 06-06-2003 в 04:46:

сорри, работа с MySQL пока мое слабое место...

добавила:
WHERE (thread.forumid = 1 AND thread.threadid=post.threadid) OR (thread.forumid = 2 AND thread.threadid=post.threadid)
и все заработало..
Спасибо!

еще такой вопрос, как сделать чтобы скрипт выводил не первое сообщение последнего треда, а _последнее_ сообщение последнего треда, есно с главной темой треда.


Формат времени GMT. Текущее время 04:15.
Показаны 5 сообщений на этой странице

Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.