کلیدستان

نسخه‌ی کامل: درج لیست آخرین ارسال های انجمن mybb در سایت یا وبلاگ
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام.
امروز قصد دارم نحوه درج لیست آخرین ارسال های انجمن mybb در سایت یا وبلاگ را آموزش بدهم. نویستده کدها، من نیستم و منبع اصلی در انتهای این ارسال، ذکر شده است. ظاهر لیستی که نمایش داده می شود، به صورت زیر می باشد :


 اگر از ظاهر لیست خوشتان نیامد، می توانید ظاهر آن را تغییر بدهید و بخش مهم کدها، چگونگی اتصال به پایگاه داده انجمن mybb و دریافت اطلاعات مربوط به آخرین ارسال های انجمن می باشد.
فایل پیوست شده را دانلود کنید. یک فولدر اصلی وجود دارد که درون آن، یک فایل با نام last.php می باشد. شما ابتدا باید این فایل را ویرایش کنید. اگر فایل last.php را باز کنید، کدهای آن به صورت زیر می باشد :


کد:
<?php
//web alfa
// ver 1.0

echo '
<html xmlns="http://www.w3.org/1999/xhtml" dir="rtl" lang="fa-IR">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link href="FB.css" rel="stylesheet" type="text/css" media="screen">
<div id="MTForumBlock">
<table id="webalfa-lastpost">
<tr class="MTForumfirst">
<td class="MTForumtitle">عنوان</td>
<td class="MTForumanswer">پاسخ</td>
<td class="MTForumview">بازديد</td>
<td class="MTForumlast">توسط</td>
</tr>';

## CUSTOMIZE SETTINGS FOR YOUR SITE ##
$db_host = "localhost"; // Change this if your MySQL database host is different.
$db_name = "mybb"; // Change this to the name of your database.
$db_user = "root"; // Change this to your database username.
$db_pw = "test"; // Change this to your database password.
$db_pre = "mybb_"; // Tables prefix
$forum_url = "http://www.yoursite.com/forum/"; // Change this to reflect to your forum's URL.
$limit = "20"; // Number of posts displayed.
$txtlimit = "100"; // This is the character limit.

#######################################
// Connecting to your database
mysql_connect($db_host, $db_user, $db_pw );
mysql_select_db($db_name);

mysql_query("SET NAMES utf8");
$thread_sql = mysql_query("SELECT tid,subject,lastposter,replies,views FROM ".$db_pre."threads order by lastpost DESC LIMIT $limit");

while($thread_get=mysql_fetch_array($thread_sql))
{
$replycount = $thread_get['replies'];
$views = $thread_get['views'];
$threadid = $thread_get['tid'];
$poster = $thread_get['lastposter'];
$title = $thread_get['subject'];
if(strlen($title) > ($txtlimit-4)){
$title = substr($title,0,$txtlimit).'...';
}

echo "
<tr>
<td class=\"MTForumrowtitle\"><a href=\"".$forum_url."thread-$threadid-lastpost.html\"><img src=\"FBarrow.gif\" border=\"0\"> $title</a></td>
<td class=\"MTForumanswer\">$replycount</td>
<td class=\"MTForumview\">$views</td>
<td class=\"MTForumlast\">$poster</td>
</tr>";


}

echo " </tr>
</table>
</div>

";

?>

خوب، ابتدا باید بخشی از کدها که به صورت زیر می باشد را تغییر بدهیم :


کد:
## CUSTOMIZE SETTINGS FOR YOUR SITE ##
$db_host = "localhost"; // Change this if your MySQL database host is different.
$db_name = "mybb"; // Change this to the name of your database.
$db_user = "root"; // Change this to your database username.
$db_pw = "test"; // Change this to your database password.
$db_pre = "mybb_"; // Tables prefix
$forum_url = "http://www.yoursite.com/forum/"; // Change this to reflect to your forum's URL.
$limit = "20"; // Number of posts displayed.
$txtlimit = "100"; // This is the character limit.

به جای   localhost، باید نام هاست خود را بنویسید (البته معمولا همین نام است).
به جای  mybb (هنگام تعریف متغیر  db_name)، نام پایگاه داده مربوط به انجمن خود را بنویسید.
به جای  root، نام کاربر اصلی پایگاه داده را بنویسید (منظور admin نیست بلکه کاربری که هنگام ساخت پایگاه داده، ایجاد کردید).
به جای  test، باید پسورد مربوط به کاربر اصلی پایگاه داده خود را بنویسید. 
به جای  _mybb، باید پیشوند مربوط به جداول پایگاه داده را بنویسید (معمولا همین پیشوند است).
به جای  http://www.yoursite.com/forum باید آدرس محل نصب انجمن خود را بنویسید.

علاوه براین مواردی که گفته شد، کدهای زیر را هم بیابید :


کد:
<a href=\"".$forum_url."thread-$threadid-lastpost.html\">

این کدها مربوط به ساخت لینک برای ارسال های نمایش داده شده است. من برای انجمن خود، مجبور شدم کدهای زیر را جایگزین کنم تا لینک ها، به درستی عمل کنند :


کد:
<a href=\"".$forum_url."showthread.php?tid=$threadid&action=lastpost\">

اکنون که کدها را ویرایش کرده ایم، باید آنها را در هاست قرار بدهید، سپس در هر صفحه ای که قصد دارید این لیست نمایش داده شود، باید کد زیر را قرار بدهید :


کد:
<?php include('address/last.php') ?>

که در آن، address همان آدرس محل فایل last.php می باشد.

منبع کدها (نه توضیحات) :
http://community.mybbiran.com/thread-2909.html