شرح صفوف ومحتوى الفقرة
يُستخدم أمر الترتيب ORDER BY مع أمر تحديد العدد LIMIT / OFFSET لفرز النتائج وتقسيم الصفحات (Pagination) بكفاءة:
- تحديد عدد صفوف الصفحة: يحدد
LIMITأقصى عدد للسجلات المسترجعة، بينما يحددOFFSETنقطة البداية. - تأمين اسم عمود الترتيب الديناميكي: بما أن العناصر النائبة في SQL مخصصة للقيم فقط ولا تصلح لأسماء الأعمدة، يجب فحص اسم عمود الترتيب القادم من المستخدم عبر تعبير
matchأو قائمة بيضاء صارمة في PHP.
PHP
<?php
$sortInput = "price_desc";
$orderBy = match ($sortInput) {
"price_desc" => "price DESC",
default => "id ASC",
};
$sql = "SELECT id, price FROM products ORDER BY {$orderBy} LIMIT :limit";
echo $sql;