PDA

View Full Version : ساخت شماره صفحه برای محدود کردن پست های یک صفحه



tarsiran
جمعه 11 تیر 1389, 16:41 عصر
با سلام خدمت دوستانی که همیشه با خلوص نیت به من و بقیه رفقای گل کمک میکنند خدا قوت. من یه مشکلی داشتم یه بخش تو سایتم دارم که در واقع بخش موضوعات هستش که پست ها موضوعات رو نشون میده که از کد زیر استفاده میکنم:


<?php
$cat_id=$_GET['cat_id'];
$result = mysql_query("SELECT * FROM _files where file_catid='$cat_id' order by file_id desc LIMIT 0,10")or die("Query failed.line: ".__line__." file: ".__file__);
$num_result = mysql_num_rows($result);
for ($i=0; $i<$num_result; $i++)

اما این کد همه پست های اون موضوع رو میاره میخواستم زحمت بکشین یه شماره صفحه اوکی کنید که مثلا بنویسه پایین صفحه 1-2-3-4-5- و.. که تو هر صفحه مثلا 10 تا پست رو فقط بیاره نه تمامی پست ها ممنون میشم کمک کنید پیشاپیش تشکر میکنم

mohmadd
جمعه 11 تیر 1389, 18:02 عصر
باید اول تعداد line های table معلوم بشه :

select count(*) from table;تعداد صفحات:




$page=intval(47/10);
بعد وقتی روی لینکی کلیک شد id رو بگیر و:




$page=$_REQUEST['id']
$m=$page*10;
$n=$m-10;
$query="select * from table limit $n,$m";

اینجا میشه به جای عدد 10 عدد دیگه ای گذاشت که تعداد پست هایی که لود میکنه رو مشخص میکنه مثلا اگه یه کاربری میخواد 50 تا پست تو هرصفحه نمایش داده باشه باید اونو از اطلاعات کاربری بگیری.و به جای 10 بزاری.

tarsiran
جمعه 11 تیر 1389, 18:25 عصر
باید اول تعداد line های table معلوم بشه :

select count(*) from table;تعداد صفحات:




$page=intval(47/10);
بعد وقتی روی لینکی کلیک شد id رو بگیر و:




$page=$_REQUEST['id']
$m=$page*10;
$n=$m-10;
$query="select * from table limit $n,$m";

اینجا میشه به جای عدد 10 عدد دیگه ای گذاشت که تعداد پست هایی که لود میکنه رو مشخص میکنه مثلا اگه یه کاربری میخواد 50 تا پست تو هرصفحه نمایش داده باشه باید اونو از اطلاعات کاربری بگیری.و به جای 10 بزاری.

داداش گل مرسی اما من تازه واردم میشه کدمو بزرگواری کنی ویرایش کنی بزاری که مشکلم حل بشه ممنون میشم

mohmadd
جمعه 11 تیر 1389, 18:31 عصر
کل کد همینه ؟

tarsiran
جمعه 11 تیر 1389, 18:34 عصر
کل کد همینه ؟
این مربوط به اصلش یعنی همون کوئری میشه باقیش مشکلی نداره

Reza1607
شنبه 12 تیر 1389, 11:11 صبح
این فایل آموزش ساخت همون چیزی هست که می خوای مال سایت iranphp.net هست
امیدوارم به کارت بیاد و بتونی ازش استفاده کنی

teymoorei
یک شنبه 29 مرداد 1391, 08:23 صبح
سلام دوستان
میدونم این پست قدیمیه اما دلیلی ندیدم پست جدید بزنم .
لطفا دوستان به من بگن intval توی این کد دقیقا چیه ؟

$page=intval(47/10);

MMSHFE
یک شنبه 29 مرداد 1391, 12:25 عصر
تابع intval مقدار صحیح یک عبارت رو برمیگردونه و اگه عدد اعشاری باشه، قسمت اعشارش رو حذف میکنه.

teymoorei
شنبه 18 شهریور 1391, 02:50 صبح
سلام دوستان من کد زیر رو طبق مقاله ای که در بالا اومده استفاده کردم .

<?php
if(!isset($start)) $start = 0;
$query = "SELECT * FROM table LIMIT " . $start . ", 10";
//do database connection
$result = mysql_query($query); //you should do error checking
//display data
//this code was wrong, I did not have the second query.
// need another query to get the total amount of rows in our table
$query = "SELECT count(*) as count FROM table";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
$numrows = $row['count'];
if($start > 0)
echo "<a href=" . $PHP_SELF . "?start=" . ($start - 10) . ">Previous</a><BR>n";
if($numrows > ($start + 10))
echo "<a href=" . $PHP_SELF . "?start=" . ($start + 10) . ">Next</a><BR>n";
?>

اما این چند خط کار نمیکنه :

if($start > 0)
echo "<a href=" . $PHP_SELF . "?start=" . ($start - 10) . ">Previous</a><BR>n";
if($numrows > ($start + 10))
echo "<a href=" . $PHP_SELF . "?start=" . ($start + 10) . ">Next</a><BR>n";
لطفا راهنمایی کنید

teymoorei
شنبه 18 شهریور 1391, 10:11 صبح
دوستان لطفا کمک کنید .:گریه:

teymoorei
شنبه 18 شهریور 1391, 19:03 عصر
ای بابا واقعا کسی نیست کمک کنه ، منو ؟