PDA

View Full Version : Top 5 posts on home page


chriscara
03-10-2007, 10:28 PM
Hi can anyone help me with this? I have code that show the top 5 posts.
It only shows date and post. I would like it to show Title, Date, posted by, post.

here is what I have

<?

$query="SELECT title,threadid,forumid,replycount,views,firstposti d,dateline
FROM thread
WHERE forumid='$newsforumid'
ORDER BY dateline DESC
LIMIT 0,$items";

$newsitems=mysql_query($query,$db_connection);

while ($news=mysql_fetch_array($newsitems)) {

$thumbcount=0;

$query="SELECT pagetext,postid
FROM post
WHERE postid='$news[firstpostid]'
";

$posts=mysql_query($query,$db_connection);

while ($post=mysql_fetch_array($posts)) {

$news['dateline']=date("F j, Y",$news['dateline']);
$post['pagetext']=handle_bbcode_img($post['pagetext'],1);
$post['pagetext']=parse_bbcode($post['pagetext'],0,0);
$post['pagetext']=str_replace("&lt;img src=&quot;",'<img src="',$post['pagetext']);
$post['pagetext']=str_replace("&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;",'" border="0" alt="" />',$post['pagetext']);


?>
<tr>
<td width="100%" bgcolor="black"><?=$news['dateline']?><br>
<br>
<?=$post['pagetext']?></font><br>

<?
$query="
SELECT filename, filesize, visible, attachmentid, counter, postid, IF(thumbnail = '', 0, 1) AS hasthumbnail, LENGTH(thumbnail) AS thumbnailsize
FROM attachment
WHERE postid='$post[postid]'";

$attachments = mysql_query($query,$db_connection);

while ($attachment=mysql_fetch_array($attachments)) {

$show['clickforlarger'] = iif($attachment['thumbnailsize'] == $attachment['filesize'], false, true);
$attachment['filename'] = fetch_censored_text(htmlspecialchars_uni($attachme nt['filename']));
$attachment['attachmentextension'] = strtolower(file_extension($attachment['filename']));
$attachment['filesize'] = vb_number_format($attachment['filesize'], 1, true);
if ($attachment['visible'])
{
switch($attachment['attachmentextension'])
{
case 'gif':
case 'jpg':
case 'jpeg':
case 'jpe':
case 'png':
case 'bmp':

$thumbcount++;
if ($thumbcount >= 4)
{
$thumbcount = 0;
$show['br'] = "<br>";
}
else
{
$show['br'] = "";
}
?>
<a href="forums/attachment.php?attachmentid=<?=$attachment[attachmentid]?>" target="_blank"><img class="thumbnail" src="forums/attachment.php?attachmentid=<?=$attachment[attachmentid]?>&amp;stc=1&amp;thumb=1" border="0" alt="" /></a>

&nbsp;
<?
echo $show['br'];
break;
default:

}
}
}
}
?><br>
</td>
</tr>
<tr>
<td width="100%" bgcolor="black">

</td>
</tr>
<?
}
?>

TECK
03-10-2007, 11:52 PM
I see 2 BIG mistakes rightaway.
1. You don't use a dateline cut in your first query. Just that will make your server go to it's knees, if you have a busy board.
2. You use a query in the loop. That is simply kill, also.

Do you plan to use this into a vBulletin environment?
There are better ways to do it.

chriscara
03-11-2007, 01:53 AM
I wanted to use it on the home page of my site, it's not a non-vb page.

TECK
03-11-2007, 02:00 AM
But the data is pulled from a vBulletin database?

chriscara
03-11-2007, 02:02 AM
yes, I had someone write this for me a few years ago and it worked but if it's bad, can you tell me if there is another way to do or point me in the right direction?
Thanks.

TECK
03-11-2007, 08:49 AM
Sure. Visit this thread:
https://vborg.vbsupport.ru/showthread.php?t=99570
Everyone should have it bookmarked, if they care to stay here at vb.org site.

What you are looking for exacly is this:
vBulletin API Basics: Creating Custom Pages & Misc.
https://vborg.vbsupport.ru/showthread.php?t=98009

That should get you started in no time.
If you have questions, feel free to ask, we will help you.