كد صفحه بندي براي query string

mona.joon

Member
سلام
من چند تا از كلاس هاي آماده pagination رو امتحان كردم همشون فقط وقتي كار ميكنن كه داخل صفحه كوئري گرفته بشه بعد تعدادش تقسيم بشه ولي اگر يك پارامتري بصورت گت از يه صفحه ديگه ارسال بشه اين كلاس هاي pagination درست عمل نميكنه!!
مثلا اين اسكريپت
http://net.tutsplus.com/tutorials/php/how-to-paginate-data-with-php/
اين اسكريپت وقتي لينك به اين صورت هست
کد:
http://example.com/file.php?link=aaa&page=1
روي شماره دو اگر كليك كنم كه بره صفحه 2 , پارامتر اول و از لينك حذف ميكنه!
 

mona.joon

Member
از كلاس استفاده كردم ولي هيچ عملي انجام نميده!!!
احتياج نداشت قبل از استفاده يكي از كلاس ايجاد كنم تو صفحه جديد؟
فايل توضيحاتش خيلي ناقص بود
ميشه يكم توضيح بدين راجب كلاستون؟
 

Domanjiri

Well-Known Member
سلام دوست من

اگه با منطق صفحه بندی آشنا هستید و احساس می کنید که درست اجرا کردینش و فقط می خواین بدونین که مشکل برنامتون چیه، لطفن کد خودتون رو اینجا قرار بدید تا بتونیم کمکتون کنیم.

موفق باشید
 

mona.joon

Member
از كلاس كه بالاتر گذاشتم به اين شكل استفاده كردم
PHP:
include_once "pagination.php";
$query = "SELECT * FROM `table` WHERE `file` LIKE '%$search%' OR `file1` LIKE '%$search%' 
    OR `file2` LIKE '%$search%' ";
$pagination->SetRules( 10 );
    $pagination->SetSQL( $query );
    $pagination->SetLimit();
    while($row = mysql_fetch_array($pagination->query2 )){
.
.
.
$pagination->ShowUp();
كوئري به درستي اجرا نميشه و خروجي هم نشون نميده
setlimit() هم اگر مقدار بدم مثلا 10 بازم هيچ تغييري نميكنه!
اين ارور هارو هم ميده
Warning: Missing argument 1 for Pagination::__construct(), called
Notice: Undefined variable: change_phpself
Fatal error: Class 'ConnectToDatabase' not found
لطفا يكي كمك كنه
مرسي
 
آخرین ویرایش:

Domanjiri

Well-Known Member
درود بر شما

این کد رو بعد از اینکلود قرار بدین:
PHP:
$pagination = new Pagination(); //create new instance from pagination

موفق باشین
 

mona.joon

Member
درود بر شما

این کد رو بعد از اینکلود قرار بدین:
PHP:
$pagination = new pagination(); //create new instance from pagination
موفق باشین
اين كد و گذاشتم ولي بقيه ارور ها هنوز پا برجا هستند
مخصوصا اين يكي
fatal error: Class 'connecttodatabase' not found
كه مربوط به كلاس بالا هست
 

mona.joon

Member
كلاس ديگه اي نيست همين كار و انجام بده درست؟ (با پارامتر get هم مشكلي نداشته باشه؟)
 

Cyletech

Member
دوست عزیز من یک کلاس هم برای اتصال به پایگاه داده نوشتم که اون رو قرار ندادم. بجای اینکه از $conn->GnIQuery استفاده کنید همون راه خودتون رو برید. GnIQuery همون mysql_query هست.

توجه کنید: برای هر کلاس باید حتماً یک شیء ازش ساخته بشه تا بشه ازش استفاده کرد.
 
آخرین ویرایش:

Domanjiri

Well-Known Member
درود بر شما

از کلاسی که پیوست کردم استفاده کنید، داخل فایل zip مستندات کلاس، چند مثال و راهنمای راه اندازی هم هست.(فایل index.php رو اجرا کنید)

این کد رو من همین الان تست کردم، بدون باگ.
PHP:
<?php

/**
 * @author Domanjiri
 * @date 2011
 */

require_once 'include/paginator.php';
require_once 'include/paginator_html.php';

$db = mysql_connect('localhost', 'root', '');
if (!$db) {
    die('Could not connect: ' . mysql_error());
}
mysql_select_db('test');

$num_rows = mysql_result( mysql_query("SELECT COUNT(*) FROM idea"),0);

$a =& new Paginator_html($_GET['page'],$num_rows);

$a->set_Limit(2);

$a->set_Links(5);

$limit1 = $a->getRange1(); 
$limit2 = $a->getRange2(); 

$result=mysql_query("SELECT * FROM idea LIMIT $limit1, $limit2");

while ($row = mysql_fetch_assoc($result)) {
    echo $row["id"]."</br>";
    echo $row["name"]."</br>";
    echo $row["meaaege"]."</br><hr>";
}

$a->previousNext();

موفق باشین.
 

پیوست ها

  • paginator-2003-08-10.zip
    16 کیلوبایت · بازدیدها: 10

mona.joon

Member
اين اسكريپتي كه گذاشتين درست كار ميكنه ولي همونطور كه توي پست اول گفتم وقتي روي عدد 2 كليك ميكنم ديگه ادامه لينك منو حذف ميكنه
مثلا لينك من بوده
file.php?link=aaaa&page=1
تبديل ميشه به اين
اون پارامتر لينك منو حذف ميكنه در نتيجه ديگه هيچ خروجي براي نمايش وجود نداره
اگر ميشه در اين مورد راهنمائي كنيد
مرسي
 

Masoud1365

مدیر انجمن
اگر که لینکتون توی تمام صفحات یکی هست اونو میتونید توی سشن مقدار دهی کنید و نمایش بدید یا این که از url بگیرید و نمایش بدید.
 

Cyletech

Member
اگر که لینکتون توی تمام صفحات یکی هست اونو میتونید توی سشن مقدار دهی کنید و نمایش بدید یا این که از url بگیرید و نمایش بدید.
وقتی میشه از سشن و اینجور چیزا استفاده نکرد دلیل نداره همچین کاری کنیم.

ببینید دوست من ، من خودم از کلاس صفحه بندیم استفاده می کنم. هیچ مشکلی هم نداره. طبق اون نمونه و کلاسی که بهت دادم ، تو هم یه فایل فشرده ضمیمه کن ببینم چطوری ازش استفاده کردی. مطمئنم یه جای کار رو اشتباه انجام دادی یا کم انجام دادی. :rose:
 

Domanjiri

Well-Known Member
درود بر شما

بله، حق با شماست، متاسفانه این کلاس ها اونطوری که ازشون تعریف می کنند، کامل نیستند.

من یه تغییراتی توی کلاس دادم که این مشکلش برطرف شد، فایل پیوست رو دانلود و محتویاتش رو جایگزین فایل های قبلی کنید.

در ضمن جایی که من کد نوشتم، در فایل paginator، با کامنت مشخص شده، می تونید خودتون چک کنید تا احیانن مشکلات احتمالی بعدی رو برطرف کنید.

موفق باشین
 

پیوست ها

  • include.zip
    2.8 کیلوبایت · بازدیدها: 11

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

بالا