PHP MySQL ORDER BY bilan saralash


ULASHISH

MySQL ma’lumotlar bazasidan ma’lumotlarni tanlang va tartib qiling

SQL ORDER BY bandi natijalar to‘plamini o‘sish yoki kamayish tartibida tartiblash uchun ishlatiladi.

ORDER BY bandi sukut bo‘yicha yozuvlarni o‘sish tartibida tartiblaydi. Yozuvlarni kamayish tartibida saralash uchun DESC kalit so‘zidan foydalaning.

SELECT column_name(s) FROM table_name ORDER BY column_name(s) ASC|DESC

SQL haqida ko‘proq ma’lumot olish uchun bizning SQL qo‘llanmamizga tashrif buyuring.


MySQLi bilan tanlang va tartib qiling

Quyidagi misol MyGuests jadvalidan id, ism va familiya ustunlarini tanlaydi. Yozuvlar familiya ustuni bo‘yicha tartiblanadi:

Misol - MySQLi obyektga yo‘naltirilgan

<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) {   die("Connection failed: " . $conn->connect_error); } $sql = "SELECT id, firstname, lastname FROM MyGuests ORDER BY lastname"; // Execute the SQL query $result = $conn->query($sql); // Process the result set if ($result->num_rows > 0) {   // Output data of each row   while($row = $result->fetch_assoc()) {     echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";   } } else {   echo "0 results"; } $conn->close(); ?>
Misolni ishga tushirish »

Kod tushuntirish

Birinchidan, MyGuests jadvalidan id, ism va familiya ustunlarini tanlaydigan SQL so‘rovini o‘rnatamiz. Yozuvlar familiya ustuni bo‘yicha tartiblanadi.

Keyingi kod satri $conn->query($sql) so‘rovni ishga tushiradi va olingan ma’lumotlarni $result deb nomlangan o‘zgaruvchiga joylashtiradi.

Keyin $result->num_rows>0 qatori qaytarilgan 0 dan ortiq qator mavjudligini tekshiradi.

Agar 0 dan ortiq satr qaytarilsa, fetch_assoc() funksiyasi natijalar to‘plamini biz aylanib o‘tishimiz mumkin bo‘lgan assotsiativ massivga joylashtiradi. while() sikli natijalar to‘plami bo‘ylab o‘tadi va id, firstname va lastname ustunlaridan ma’lumotlarni chiqaradi.

Quyidagi misol MySQLi-da yuqoridagi misol bilan bir xil narsani ko‘rsatadi protsessual metod:

Misol - MySQLi protsessual

<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // Create connection $conn = mysqli_connect($servername, $username, $password, $dbname); // Check connection if (!$conn) {   die("Connection failed: " . mysqli_connect_error()); } $sql = "SELECT id, firstname, lastname FROM MyGuests ORDER BY lastname"; $result = mysqli_query($conn, $sql); if (mysqli_num_rows($result) > 0) {   // output data of each row   while($row = mysqli_fetch_assoc($result)) {     echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";   } } else {   echo "0 results"; } mysqli_close($conn); ?>
Misolni ishga tushirish »


Natijani HTML jadvaliga qo‘ying

Bu yerda biz natijani HTML jadvaliga joylashtiramiz:

Misol - MySQLi obyektga yo‘naltirilgan

<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) {   die("Connection failed: " . $conn->connect_error); } $sql = "SELECT id, firstname, lastname FROM MyGuests ORDER BY lastname"; $result = $conn->query($sql); if ($result->num_rows > 0) {   echo "<table><tr><th>ID</th><th>Name</th></tr>";   // output data of each row   while($row = $result->fetch_assoc()) {     echo "<tr><td>".$row["id"]."</td><td>".$row["firstname"]." ".$row["lastname"]."</td></tr>";   }   echo "</table>"; } else {   echo "0 results"; } $conn->close(); ?>
Misolni ishga tushirish »

PDO bilan tanlang va tartib qiling

Bu yerda MyGuests jadvalidan id, familiya va familiya ustunlarini tanlaymiz. Yozuvlar familiya ustuni bo‘yicha tartiblanadi va u HTML jadvalida ko‘rsatiladi:

Misol - PDO

<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; try {   $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);   // set the PDO error mode to exception   $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e){   die("Could not connect. " . $e->getMessage()); } try {   $sql = "SELECT id, firstname, lastname FROM MyGuests ORDER BY lastname'";   // Execute the SQL query   $result = $conn->query($sql);   // Process the result set   if ($result->rowCount() > 0) {     echo "<table><tr><th>ID</th><th>Firstname</th><th>Lastname</th></tr>";     // Output data of each row     while($row = $result->fetch()) {       echo "<tr>";       echo "<td>" . $row['id'] . "</td>";       echo "<td>" . $row['firstname'] . "</td>";       echo "<td>" . $row['lastname'] . "</td>";       echo "</tr>";     }     echo "</table>";     unset($result);   else {     echo "No records found.";   } } catch(PDOException $e) {   echo "Error: " . $e->getMessage(); } $conn = null; ?>


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!