НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ

PHP Підручник

PHP СТАРТ PHP Інтро PHP Встановлення PHP Синтаксис PHP Коментарі PHP Змінні PHP Echo / Print PHP Типи даних PHP Рядки PHP Числа PHP Математика PHP Константи PHP Оператори PHP If...Else...Elseif PHP Switch PHP Цикли PHP Функції PHP Масиви PHP Суперглобали PHP RegEx

PHP Форми

PHP Обробка форми PHP Перевірка форми PHP Обов'язкові поля форми PHP Форма URL/E-mail PHP Заповнення форми

PHP Розширений

PHP Дата і час PHP Підключення файлів PHP Обробка файлів PHP Файл відкрити/читати PHP Файл створити/записати PHP Файл Завантажити PHP Кукі PHP Сесії PHP Фільтри PHP Розширені фільтри PHP Callback функції PHP JSON PHP Винятки

PHP ООП

PHP Що таке ООП PHP класи/об'єкти PHP Конструктор PHP Деструктор PHP Модифікатори доступу PHP Спадкування PHP Константи PHP Абстрактні класи PHP Інтерфейси PHP Трейти PHP Статичні методи PHP Статичні властивості PHP Простори імен PHP Ітерація

MySQL База даних

MySQL База даних MySQL Підключення MySQL Створити БД MySQL Створити таблиці MySQL Вставити дані MySQL Отримати останній ID MySQL Вставити кілька записів MySQL Підготовлені інструкції MySQL Вибрати дані MySQL Where MySQL Order By MySQL Видалення даних MySQL Оновлення даних MySQL Обмеження даних

PHP XML

PHP XML Парсери PHP SimpleXML Парсер PHP SimpleXML - Get 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 Масив PHP Календар PHP Дата PHP Каталог PHP Помилка PHP Виняток PHP Файлова система PHP Фільтр PHP FTP PHP JSON PHP Ключові слова PHP Libxml PHP Пошта PHP Математика PHP Різне PHP MySQLi PHP Мережа PHP Output Control PHP RegEx PHP SimpleXML PHP Потік PHP Рядок PHP Обробка змінних PHP XML Парсер PHP Zip PHP Часові пояси

PHP. W3Schools українською. Уроки для початківців

En

PHP MySQL Використання пропозиції ORDER BY


Виберіть і впорядкуйте дані з бази даних MySQL

Пропозиція ORDER BY використовується для сортування набору результатів у порядку зростання або спадання.

Пропозиція ORDER BY за умовчанням сортує записи в порядку зростання. Щоб відсортувати записи в порядку спадання, використовуйте ключове слово DESC.

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

Щоб дізнатися більше про SQL, відвідайте SQL Підручник на нашому сайті W3Schools українською.


Виберіть і впорядкуйте дані за допомогою MySQLi

У наступному прикладі вибираються стовпці id, firstname та lastname з таблиці MyGuests. Записи будуть упорядковані за стовпцем lastname:

Приклад (MySQLi Об’єктно-орієнтований)

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Створити підключення
$conn = new mysqli($servername, $username, $password, $dbname);
// Перевірити підключення
if ($conn->connect_error) {
  die("Підключення потерпіло невдачу: " . $conn->connect_error);
}

$sql = "SELECT id, firstname, lastname FROM MyGuests ORDER BY lastname";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
  // виведення даних кожного рядка
  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. Записи будуть упорядковані за стовпцем lastname. Наступний рядок коду виконує запит і поміщає отримані дані в змінну $result.

Потім function num_rows() перевіряє, чи повернуто більше нуля рядків.

Якщо повернуто більше нуля рядків, функція fetch_assoc() поміщає всі результати в асоціативний масив, який ми можемо перебрати. Цикл while() перебирає набір результатів і виводить дані зі стовпців id, firstname та lastname.

У наступному прикладі показано те ж саме, що й у прикладі вище, процедурним способом MySQLi:

Приклад (MySQLi Процедурний)

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Створити підключення
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Перевірити підключення
if (!$conn) {
  die("Підключення потерпіло невдачу: " . mysqli_connect_error());
}

$sql = "SELECT id, firstname, lastname FROM MyGuests ORDER BY lastname";
$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
  // виведення даних кожного рядка
  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";

// Створити підключення
$conn = new mysqli($servername, $username, $password, $dbname);
// Перевірити підключення
if ($conn->connect_error) {
  die("Підключення потерпіло невдачу: " . $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>";
  // виведення даних кожного рядка
  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, firstname та lastname з таблиці MyGuests. Записи буде впорядковано за стовпцем lastname, і воно відображатиметься в таблиці 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();

  // встановити асоціативний масив, що утворився
  $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>";
?>
Виконати приклад »