سؤال

وأنا أحاول لفرز قائمة ويستعرض الفيلم في الترتيب الزمني. لدينا اثنين من الخيارات يمكن للمستخدمين اختيار من بينها، وترتيب زمني الأبجدي. الافتراضات الصفحة لالأبجدي، ولكن عندما ينقر الناس على خيار الزمني، لا يحدث أي شيء.

وهنا هو رمز لدينا الآن:

// category 3 is 'reviews', category 12 is 'dvd reviews'
                if (($GLOBALS["CategoryId"] == 3 || $GLOBALS["CategoryId"] == 12) && !isset($_GET['unsort']))
                {
                    $output = AL_HELPER::GetArticles($articleResult);
                }
                else
                {
                    $output = AL_HELPER::GetArticlesABC($articleResult);
                }

ما فعلته كان الوجه بالتخبط والمؤسسة الدولية للعلوم اثنين. وضع GetArticles أولا وGetArticlesABC ثانيا- هذا يعني أنه يشبه هذا:

// category 3 is 'reviews', category 12 is 'dvd reviews'
                if (($GLOBALS["CategoryId"] == 3 || $GLOBALS["CategoryId"] == 12) && !isset($_GET['unsort']))
                {
                    $output = AL_HELPER::GetArticlesABC($articleResult);
                }
                else
                {
                    $output = AL_HELPER::GetArticles($articleResult);
                }

وفعلت فعلا نوع الاستعراضات زمنيا ولكنها أخذت بعيدا كل الخيارات أبجدية. في الأساس كان على قائمة طويلة من الاستعراضات الزمني. لذا من الواضح أن هذا ليس ما نريد.

لا أحد يعرف كيفية الحد من عدد العناصر التي وهو يسرد على الصفحة؟ أو ربما هناك حاجة إلى مقاربة مختلفة تماما هنا، إذا كان الأمر كذلك، أي اقتراحات؟

هل كانت مفيدة؟

المحلول

وتحديد عدد النتائج في كل صفحة، في حالة استخدام قاعدة بيانات الخلفية وSQL بسيطة مثل استخدام المشغل LIMIT لاسترداد سوى عدد مجموعة من النتائج. يمكنك بعد ذلك تنفيذ عمليات القادمة / السابقة عن طريق تمرير متغير بين الصفحات التي تتعلق مجموعة من النتائج التي قد سحبت.

وعلى سبيل المثال:

SELECT <Whatever> FROM <review table> LIMIT 0,10

هل استرداد 10 النتائج الأولى.

SELECT <Whatever> FROM <review table> LIMIT 10,20

هل استرداد 10. القادمة من خلال استبدال الأرقام مع المتغيرات التي يمكن أن تحقق ترقيم الصفحات:

SELECT <Whatever> FROM <review table> LIMIT resultIndex,resultIndex+10
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top