مرتب سازی سطرهای MySQL با PHP به راحتی با ارسال یک مقدار بصورت داینامیک و توسط کاربر تغییر کند. در php , می توانیم نتایج دیتابیس را بر اساس یک فیلد توسط دستور order by در کوئری SQL مرتب سازی کنیم.
حالا, در این آموزش قصد داریم به شما یک مثال برای مرتب سازی UI یا همان خروجی صفحه وب را با کلیک بر روی نام ستون در هدر , نشان بدیم.
ما یک جدول posts
شامل ستون های post_title
, description
, post_at
داریم.
ساختن کوئری Order By بصورت داینامیک
بطور پیش فرض, خروجی جدول posts بر اساس تاریخ ذخیره شده در post_at
بصورت نزولی (DESC
) نمایش داده می شود. اگر هر گونه مقدار مرتب سازی در query string مشخص شده اشد, پس مقدار پیش فرض را جایگزین می شود.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
$conn = mysqli_connect("localhost", "root", "", "blog_samples"); $orderBy = "post_at"; $order = "asc"; if(!empty($_GET["orderby"])) { $orderBy = $_GET["orderby"]; } if(!empty($_GET["order"])) { $order = $_GET["order"]; } $sql = "SELECT * from posts ORDER BY " . $orderBy . " " . $order; $result = mysqli_query($conn,$sql); <?php if(!empty($result)) { ?> <table class="table-content"> <tbody> <?php while($row = mysqli_fetch_array($result)) { ?> <tr> <td><?php echo $row["post_title"]; ?></td> <td><?php echo $row["description"]; ?></td> <td><?php echo $row["post_at"]; ?></td> </tr> <?php } ?> <tbody> </table> |
برای آموزش نحوه اتصال به دیتابیس mysql در php کلیک کنید.
لینک هدر قابل کلیک برای مرتب سازی سطرهای MySQL با PHP
عنوان های هدر جدول شامل لینک هایی برای ارسال کلید orderby
و مقدار مرتب سازی توسط query string هستند. این اسکریپت برای محاسه مقدار مرتب سازی بعدی بر اساس مرتب سازی فعلی استفاده شده است.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<?php $postTitleNextOrder = "asc"; $descriptionNextOrder = "asc"; $postAtNextOrder = "desc"; if($orderBy == "post_title" and $order == "asc") { $postTitleNextOrder = "desc"; } if($orderBy == "description" and $order == "asc") { $descriptionNextOrder = "desc"; } if($orderBy == "post_at" and $order == "desc") { $postAtNextOrder = "asc"; } ?> <thead> <tr> <th width="30%"><span><a href="?orderby=post_title&order=<?php echo $postTitleNextOrder; ?>" class="column-title">Post Title</a></span></th> <th width="50%"><span><a href="?orderby=description&order=<?php echo $descriptionNextOrder; ?>" class="column-title">Description</a></span></th> <th width="20%"><span><a href="?orderby=post_at&order=<?php echo $postAtNextOrder; ?>" class="column-title">Post Date</a></span></th> </tr> </thead> |
امیدوارم از آموزش مرتب سازی سطرهای MySQL با PHP نهایت استفاده را برده باشید .
برای دانلود سورس کد کامل این آموزش از باکس دانلود استفاده کنید.
هر سوالی داشتید ، از قسمت نظرات ارسال کنید . سریعا ، پاسخگوی سوالات شما هستیم .
موفق و پیروز باشید.