PDA

View Full Version : Getting latest posts problem...


Kayn
02-04-2006, 08:13 PM
I'm not a total slouch when it comes to SQL, but I am stumped on this one.

I'm pulling the latest 10 posts out of the post table in vB in a specific forum, however it's not actually pulling the latest 10 posts. I went and posted a new thread, and responded to other threads (as did other members), but it's sticking to the same results.

Here's the query:

SELECT post.postid, post.threadid, post.username, post.userid, post.dateline, post.iconid, post.pagetext, icon.iconid, icon.title, icon.iconpath, thread.threadid, thread.title, thread.lastpost, thread.forumid FROM post, icon, thread WHERE post.iconid = icon.iconid AND (post.threadid = thread.threadid AND thread.forumid = '1') ORDER BY post.dateline DESC LIMIT 10

Here's what it's outputting - http://pluh.com/index.php (look on the right side where it has "last 10 posts"

And here are the forums - http://pluh.com/forums

The Pluh Bored is the forum I'm pulling from here (id = 1). Why why why does this not work? Any insight?

Thanks!

Marco van Herwaarden
02-04-2006, 08:17 PM
Could it maybe be that you are only retrieving post with an icon set?

I suggest you change the use of the icon & thread tables to LEFT JOINS.

Kayn
02-04-2006, 08:19 PM
Hmm, good point. Do you have an example (I am not familiar with joins... as I should be). Thanks!

Marco van Herwaarden
02-04-2006, 08:27 PM
Something like:
$sql="SELECT post.postid, post.threadid, post.username, post.userid, post.dateline, post.iconid, post.pagetext, icon.iconid, icon.title, icon.iconpath, thread.threadid, thread.title, thread.lastpost, thread.forumid
FROM " . TABLE_PREFIX . "post AS post
LEFT JOIN " . TABLE_PREFIX . "icon AS icon ON (post.iconid = icon.iconid)
LEFT JOIN " . TABLE_PREFIX . "thread AS thread ON(post.threadid = thread.threadid )
WHERE thread.forumid = 1
ORDER BY post.dateline DESC LIMIT 10";

Kayn
02-04-2006, 08:33 PM
Wow, thanks. Works extremely well now.

I have a lot to learn about joins and SQL in general.