บทช่วยสอนPHP

PHP HOME แนะนำ PHP การติดตั้ง PHP PHP ไวยากรณ์ ความคิดเห็น PHP ตัวแปร PHP PHP Echo / พิมพ์ ประเภทข้อมูล PHP PHP Strings หมายเลข PHP PHP คณิตศาสตร์ ค่าคงที่ PHP ตัวดำเนินการ PHP PHP If...Else...Elseif PHP Switch PHP Loops ฟังก์ชัน PHP PHP Arrays PHP Superglobals PHP RegEx

แบบฟอร์มPHP

การจัดการแบบฟอร์ม PHP การตรวจสอบแบบฟอร์ม PHP ต้องใช้แบบฟอร์ม PHP URL แบบฟอร์ม PHP/อีเมล แบบฟอร์ม PHP เสร็จสมบูรณ์

PHPขั้นสูง

วันที่และเวลา PHP รวม PHP การจัดการไฟล์ PHP ไฟล์ PHP เปิด/อ่าน สร้าง/เขียนไฟล์ PHP อัพโหลดไฟล์ PHP คุกกี้ PHP PHP Sessions ตัวกรอง PHP ตัวกรอง PHP ขั้นสูง ฟังก์ชันเรียกกลับของ PHP PHP JSON ข้อยกเว้น PHP

PHP OOP

PHP OOP คืออะไร คลาส PHP/วัตถุ ตัวสร้าง PHP PHP Destructor PHP Access Modifiers PHP Inheritance ค่าคงที่ PHP PHP Abstract Classes อินเทอร์เฟซ PHP PHP ลักษณะ PHP Static Methods PHP คุณสมบัติคงที่ PHP เนมสเปซ PHP Iterables

ฐานข้อมูลMySQL

ฐานข้อมูล MySQL MySQL Connect MySQL สร้าง DB MySQL สร้างตาราง MySQL แทรกข้อมูล MySQL รับ ID ล่าสุด MySQL แทรกหลายรายการ MySQL ที่เตรียมไว้ MySQL Select Data MySQL Where MySQL สั่งซื้อโดย MySQL ลบข้อมูล ข้อมูลอัพเดต MySQL MySQL Limit Data

PHP XML

PHP XML Parsers PHP SimpleXML Parser PHP SimpleXML - รับ PHP XML Expat PHP XML DOM

PHP - AJAX

บทนำ AJAX AJAX PHP ฐานข้อมูล AJAX AJAX XML AJAX ค้นหาสด AJAX โพล

ตัวอย่างPHP

ตัวอย่าง PHP PHP คอมไพเลอร์ แบบทดสอบ PHP แบบฝึกหัด PHP ใบรับรอง PHP

ข้อมูลอ้างอิงPHP

ภาพรวม PHP PHP Array ปฏิทิน PHP PHP วันที่ ไดเรกทอรี PHP ข้อผิดพลาด PHP ข้อยกเว้น PHP ระบบไฟล์ PHP ตัวกรอง PHP PHP FTP PHP JSON คีย์เวิร์ด PHP PHP Libxml PHP Mail PHP คณิตศาสตร์ PHP เบ็ดเตล็ด PHP MySQLi เครือข่าย PHP การควบคุมเอาต์พุต PHP PHP RegEx PHP SimpleXML PHP Stream PHP String การจัดการตัวแปร PHP PHP XML Parser PHP Zip เขตเวลา PHP

PHP MySQL ใช้คำสั่ง ORDER BY Clause


เลือกและสั่งซื้อข้อมูลจากฐานข้อมูล MySQL

คำสั่ง ORDER BY ใช้เพื่อเรียงลำดับชุดผลลัพธ์ในลำดับจากน้อยไปมากหรือจากมากไปน้อย

คำสั่ง ORDER BY จะเรียงลำดับระเบียนจากน้อยไปมากตามค่าเริ่มต้น ในการเรียงลำดับเรกคอร์ดจากมากไปหาน้อย ใช้คีย์เวิร์ด DESC

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

หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ SQL โปรดไป ที่บทช่วย สอน SQLของ เรา


เลือกและสั่งซื้อข้อมูลด้วย MySQLi

ตัวอย่างต่อไปนี้จะเลือกคอลัมน์ id, firstname และ lastname จากตาราง MyGuests บันทึกจะถูกจัดเรียงตามคอลัมน์นามสกุล:

ตัวอย่าง (MySQLi เชิงวัตถุ)

<?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) {
  // 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();
?>

บรรทัดโค้ดเพื่ออธิบายจากตัวอย่างด้านบน:

ขั้นแรก เราตั้งค่าการสืบค้น SQL ที่เลือกคอลัมน์ id, Firstname และ Lastname จากตาราง MyGuests ระเบียนจะเรียงลำดับตามคอลัมน์นามสกุล โค้ดบรรทัดถัดไปจะเรียกใช้แบบสอบถามและใส่ข้อมูลผลลัพธ์ลงในตัวแปรที่เรียกว่า $result

จากนั้นfunction num_rows()ตรวจสอบว่ามีแถวที่ส่งคืนมากกว่าศูนย์หรือไม่

หากมีการส่งคืนแถวมากกว่าศูนย์ ฟังก์ชันfetch_assoc()จะใส่ผลลัพธ์ทั้งหมดลงในอาร์เรย์ที่เชื่อมโยงซึ่งเราสามารถวนซ้ำได้ ลู ปwhile()วนซ้ำผ่านชุดผลลัพธ์และส่งออกข้อมูลจากคอลัมน์ id, firstname และ lastname

ตัวอย่างต่อไปนี้แสดงให้เห็นเช่นเดียวกับตัวอย่างข้างต้น ในลักษณะขั้นตอนของ MySQLi:

ตัวอย่าง (ขั้นตอนของ MySQL)

<?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);
?>


คุณยังสามารถใส่ผลลัพธ์ในตาราง HTML:

ตัวอย่าง (MySQLi เชิงวัตถุ)

<?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();
?>

เลือกข้อมูลด้วย PDO (+ งบที่เตรียมไว้)

ตัวอย่างต่อไปนี้ใช้ข้อความสั่งที่เตรียมไว้

ที่นี่เราเลือกคอลัมน์ ID, ชื่อและนามสกุลจากตาราง MyGuests ระเบียนจะเรียงลำดับตามคอลัมน์นามสกุล และจะแสดงในตาราง HTML:

ตัวอย่าง (PDO)

<?php
echo "<table style='border: solid 1px black;'>";
echo "<tr><th>Id</th><th>Firstname</th><th>Lastname</th></tr>";

class TableRows extends RecursiveIteratorIterator {
  function __construct($it) {
    parent::__construct($it, self::LEAVES_ONLY);
  }

  function current() {
    return "<td style='width:150px;border:1px solid black;'>" . parent::current(). "</td>";
  }

  function beginChildren() {
    echo "<tr>";
  }

  function endChildren() {
    echo "</tr>" . "\n";
  }
}

$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";

try {
  $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  $stmt = $conn->prepare("SELECT id, firstname, lastname FROM MyGuests ORDER BY lastname");
  $stmt->execute();

  // set the resulting array to associative
  $result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
  foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) {
    echo $v;
  }
} catch(PDOException $e) {
  echo "Error: " . $e->getMessage();
}
$conn = null;
echo "</table>";
?>