ا توجه به مطالب مطرح شده در انجمن این سایت و جالب بودن بحث صفحه به صفحه نمایش
دادن اطلاعات نتیجه شده از جستجو در DataBase تصمیم گرفتم که مقاله ای در این خصوص
تهیه کنم و امیدوارم که این مطالب مورد استفاده دوستان قرار بگیرد . در این مقاله از MySQL استفاده شده اما این روش را می توان با هر DataBase بکار
برد .
جزء LIMIT :
جزء LIMIT در عبارت Select کلید حل مشکل ماست ، به وسیله این جزء است که ما می
توانیم سطرهای مورد نظر خود از DataBase را در Query خود داشته باشیم .
LIMIT به دو شکل به کار می رود با یک آرگومان و یا با دو آرگومان ،این آرگومانها
عدد هستند ، اگر LIMIT با یک آرگومان استفاده شود تعداد جواب به آن عدد محدود می
شود :
SELECT * FROM table LIMIT 5
عبارت Select در این حالت ۵ سطر اول Table را در جواب بر می گرداند ،اما اگر LIMIT
با دو آرگومان استفاده شود آرگومان اول مشخص کننده سطر آغازین است و آرگومان دوم
تعداد سطرهایی را که باید برگردانده شوند را مشخص می کند ، البته باید به این نکته
توجه کرد که در SQL سطرها از صفر (۰) شروع می شوند نه از یک (۱) .
SELECT * FROM table LIMIT 5, 5
این عبارت SQL سطرهای ۶ تا ۱۰ از DataBase را برمی گرداند .
کار با جزء LIMIT مشکل نیست ولی برای اینکه به هدف مطرح شده در این مقاله نیل
کنیم لازم است که چگونگی عملکرد آن را درک کنید .
گام اول متغیر $start :
در اینجا می دانیم که از چه چیزی باید برای بدست آوردن سطرهای مورد نظر خود از
DataBase استفاده استفاده کنیم . اما سوال این است که چگونه متوجه می شویم که از
کجا باید LIMIT کنیم یا به عبارت دیگر از کدام سطر باید شروع کنیم ؟ پاسخ خیلی
روشن است ما از یک متغیر به نام $start استفده می کنیم و این متغیر را از صفحه
ای به صفحه دیگر می فرستیم .
حال که روش کار مشخص شده شروع به نوشتن کد در PHP می کنیم :
این شکل query ماست و این query 10 سطر ازtable را از جایی که مساوی مقدار start
کد:<?php $query = "SELECT * FROM table LIMIT \" . $start . \", 10\"; ?>
باشد را select می کند . اما برای مشخص کردن مقدار start دو راه وجود دارد(در هنگامی
که اولین ۱۰ سطر را بازیافت می کنیم ) یا آن را در URL می نویسیم و یا با شرطی
چک می کنیم که اگر قبلا مقداری به آن داده نشده ما مقدار آن را صفر می کنیم لازم
است برای این کار از کدی شبیه به کد زیر استفاده می کنیم :
حالا وقتی کسی صفحه ما را مشاهده کند مقدار $start به صورت خودکار صفر خواهد شد
کد:<?php if(!isset($start)) $start = 0; ?>