ساخت آرشیو

3dsmax

Member
سلام من می خواستم ببینم چطور میشه وقتی اطلاعات رو از داخل بانک اطلاعاتی فراخوانی می کنیم ، موقع نمایش یه کد بزاریم که اگه بیشتر از 5 یا 6 تا پست بود مثل وبلاگا آرشیو بشه ، لطفا اگه کسی می دونه ، ممنون می شم کمکم کنید؟
 

3dsmax

Member
آرشیو ماهانه یا هفتگی ، اگه صفحه به صفحه هم می دونید ممنون می شم توضیح بدید!
 
در آرشیو صفحه به صفحه تعداد عناصرت رو چک می کنی تقسیم بر تعداد مورد نظری که قرار است در هر صفحه قرار بدهی می کنی. int عبارت بدست آمده را بدست می آوری (جز صحیح اش) این عدد میشه تعداد صفحاتت. در پایین یا بالای صفحه ات توی یک حلقه for شماره ی صفحات از 1 تا عدد بدست آمده را درست می کنی به همراه لینک مربوطه مثلا page.php?page=2 که لینک به صفحه ی دوم است.
اما طرز صفحه بندی کردن:
وقتی ورودی page رو گرفتی توی کوئری ات با استفاده از limit محتویات صفحه رو مشخص میکنی.
مثلا اگه تعداد عناصر در صفحه رو 5 تا در نظر گرفته بودی اینطوری می نویسی limit ($page-1)*5,$($page-1)*5+5
البته کد بالا رو هرطوری که خواستی می تونی بنویسی.
در مورد آرشیو ماهیانه هم شاید برات نمونه کد گذاشتم.

اینم یک نمونه فانکشن برای آرشیو کردن خبر : ($count منظور همون تعداد خبر در صفحه است.)
function show_news($page,$count)
{
if(empty($page))
$page=1;
$min=($page-1)*$count;
$max=$min+$count;
$q="SELECT * FROM news ORDER BY id DESC LIMIT $min,$max;";
$query=mysql_query($q);
while(@$row=mysql_fetch_array($query))
{
echo "<a href='page.php?type=news&id=".$row['id']."'>".$row['title']."</a>";
echo "<br>";
}
echo "<p align='center'>صفحات:";
$q="SELECT id FROM news;";
$query=mysql_query($q);
$query_num=mysql_num_rows($query);
$num_page=$query_num/$count;
$num_page++;

for($i=1;$i<$num_page;$i++)
{
echo "<a href='?page=".$i."'>";
if($i==$page)
{
echo " [ <b>".$i."</b> ] - ";
}
else
{
echo " [ ".$i." ] - ";
}
echo "</a>";
}

}
 
آخرین ویرایش:

3dsmax

Member
سلام اگه میشه آرشیو ماهانه رو بزارید ، چون من بیشتر مشکلم سر آرشیو ماهانست
بعد اگه زحمت نیست کد sql رو هم بزارید برام !:)
 
آخرین ویرایش:

جدیدترین ارسال ها

بالا