vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=252)
-   -   Here is some code for adding recent threads on website front page (https://vborg.vbsupport.ru/showthread.php?t=293380)

fungku 12-29-2012 04:54 AM

Here is some code for adding recent threads on website front page
 
THIS widget thread by cory_booth helped get me started, but isn't what I needed, so this is a heavily modified version.

Here is the php for displaying recent threads on your front page (or any page), not as VB CMS.

PHP Code:

$mysqli = new mysqli(VB_HOSTVB_USERVB_PASSWORDVB_NAME);

/* check connection */
if (mysqli_connect_errno()) {
    
printf("Connect failed: %s\n"mysqli_connect_error());
    exit();
}

$query "  
    SELECT thread.threadid, thread.title, thread.dateline, thread.lastpost, thread.lastposter, thread.lastposterid, thread.visible, thread.open, thread.postusername, thread.postuserid, thread.replycount, thread.views, forum.forumid, forum.title as forumtitle
    FROM thread AS thread
    LEFT JOIN forum AS forum ON ( forum.forumid = thread.forumid )
    WHERE NOT ISNULL(threadid) AND forum.forumid NOT IN (3,10,11,12,13,14,15,16,19) AND visible = '1' AND open!='10'
    ORDER BY lastpost DESC
    LIMIT 0, 10
"
;

if (
$result $mysqli->query($query)) {

    while (
$row $result->fetch_object())
    {
        
$row->lastpostdate date('M jS'$row->lastpost);
        
$row->lastposttime date('g:i a'$row->lastpost);

        echo 
<<<END
<div class="recent-thread">
  <p class="thread-title">
    <a href="forum/showthread.php?t=
{$row->threadid}&goto=newpost">{$row->title}</a>
  </p>
  <p class="thread-details">
    Last Post By: <a href="forum/member.php?u=
{$row->lastposterid}">{$row->lastposter}</a>
  </p>
  <p class="thread-details">
    Forum: <a href="forum/forumdisplay.php?f=
{$row->forumid}">{$row->forumtitle}</a> | Replies: {$row->replycount}
  </p>
  <p class="thread-details">
    Posted: 
{$row->lastpostdate} at: {$row->lastposttime}
  </p>
</div>
END;

    }
    
    
// free result set
    
$result->close();
}

// close connection
$mysqli->close(); 

:up:

The line with:
WHERE NOT ISNULL(threadid) AND forum.forumid NOT IN (3,10,11,12,13,14,15,16,19) AND visible = '1' AND open!='10'
Is where you would put the forumids of the forums you want to exclude from showing up.

Hope this is useful for somebody.

Since I found the original thread useful and this is a modified version of that, I thought I'd share as well.

add your own CSS, and edit the HTML, to syle it however you want.

Cheers,

--------------- Added [DATE]1356761517[/DATE] at [TIME]1356761517[/TIME] ---------------

I tried to edit the above php code block to stop the word-wrap making it messy to read, but I've given up.

You can figure it all out easy enough it is short and sweet.

If this has helped you at all, if you have any questions, or if you see ways to improve it, please let me know.

Muhammad Rahman 01-02-2013 02:14 PM

Can cut off the day when the thread is displayed?
like a CMS Widget ..

fungku 01-02-2013 06:05 PM

You could probably modify the SQL statement in this line:
WHERE NOT ISNULL(threadid) AND forum.forumid NOT IN (3,10,11,12,13,14,15,16,19) AND visible = '1' AND open!='10'
to also exclude posts older than a certain date.

bing11 04-12-2013 02:52 AM

Quote:

Originally Posted by fungku (Post 2394293)
You could probably modify the SQL statement in this line:
WHERE NOT ISNULL(threadid) AND forum.forumid NOT IN (3,10,11,12,13,14,15,16,19) AND visible = '1' AND open!='10'
to also exclude posts older than a certain date.

hello
Could limit 1 forum only can show 1 thread?

like we have 10 recent threads here . but must from 10 different forums.


All times are GMT. The time now is 06:33 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01054 seconds
  • Memory Usage 1,737KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_php_printable
  • (1)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (4)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete