Розробка уроку — практичної роботи

Тема: cтворення програмного проекта простої бази даних «Школа» з даними про прізвище, ім'я, успішність, забезпечення виведення даних за зазначиними критеріями.

Мета: навчити основам роботи з базами даних SQL з використанням мови програмування PHP.

Учні повинні знати:

Учні повинні мати уявлення про можливості комплексу PHP + MariaDB.

Учні повинні вміти:

Обладнання: комп'ютери зі встановленими ОС, PHP, XAMPP.

Структура уроку

  1. Організаційний момент.
  2. Актуалізація опорних знань.
  3. Вивчення нового матеріалу.
  4. Інструктаж з ТБ.
  5. Закріплення вивченого матеріалу.
  6. Підбиття підсумків уроку.
  7. Домашнє завдання.

Примітка. Цей урок проводять лише після успішного опанування матеріалом уроків щодо вивчення SQL і виконання усіх його практичних завдань.

Хід уроку

1. Організаційний момент
Вітання з класом. Перевірка присутності і готовності учнів до уроку.

2. Актуалізація опорних знань
Дати відповідь на питання і порівняти з очікуваним.

  1. Що таке SQL?
  2. Яка ознака кінця вказівки SQL?
  3. Які вказівки SQL створюють базу даних, таблицю, запит?
  4. Що таке агрегатна функція SQL? Назвати приклади
  5. Що таке внутрішнє і зовнішнє об'єднання?
  6. Що таке MySQL?
  7. Що таке XAMPP?
  8. Що таке MariaDB?
  9. Як виглядає програма зчитування і друку в консоль рядків файлу input.txt?

3. Вивчення нового матеріалу

Під'єднання бази даних і здійснення запиту мовою SQL з результатом у виглялі асоціативного масиву і повідомленням про можливу невдачу мовою PHP може мати такий вигляд:

<?php
$link = mysqli_connect(
  'localhost',// адреса локального сервера (localhost)
  'root',     // обліковий запис користувача базами даних
  '',         // пароль до облікового запису користувача БД
  'school');  // назва бази даних 

if (mysqli_connect_errno())
{ printf("Сполучення немає: %s\n", mysqli_connect_error());
  exit();
}
// формулювання запиту мовою SQL
$query = "SELECT * FROM pupils WHERE form = '11Б';";

// якщо успішно отримано результат $result
if ($result = mysqli_query($link, $query))

{ echo "<tt>";
  echo $query;         // виведення запиту
  echo "</tt><br><br>";// виведення порожнього рядка
                       // виведення заголовку таблиці
  echo "<table border=1 cellspacing=1 cellpadding=5 align='center'>";
  echo "<tbody><tr><th>Прізвище</th><th>Ім'я</th><th>Клас</th>";
  echo "<th>Номер<br>особової<br>справи</th></tr>";

  // перебір рядків результату у 
  // вигляді асоціативних масивів $row
  while ($row = mysqli_fetch_assoc($result)) 

  { // виведення даних запиту
    echo  "<tr><td>"; echo $row['sename'];
    echo "</td><td>"; echo $row['name'];
    echo "</td><td>"; echo $row['form'];
    echo "</td><td>"; echo $row['no'];
    echo "</td></tr>";
  }
  echo "</tbody></table>";
  mysqli_free_result($result); // вилучення вибірки
  mysqli_close($link);         // закриття сполучення
}
?>

Тут подано весь вміст файлу php, у якому замість назв змінних $link, $query, $result, $row можуть бути довільні інші назви. Поданий вище код програми є змістовним прикладом для бази даних school, побудованої раніше у середовищі XAMPP, для якої він дає такий результат (подано з точністю до налаштувань браузера щодо шрифту):

SELECT * FROM pupils WHERE form = '11Б';

ПрізвищеІм'яКласНомер
особової
справи
ЛИСЕНКОДМИТРО11Б113
РУДЕНКООЛЕГ11Б114
САВЧЕНКОВАЛЕРІЙ11Б115
ПЕТРЕНКОЛЕОНІД11Б116
ШУЛЬГАГАЛИНА11Б117
РАДЧЕНКОТЕТЯНА11Б118
КОРОЛЬНАДІЯ11Б119
ОСТАПЕНКОЛЮДМИЛА11Б120

Для отримання результату у вигляді звичайного масиву з цілочисельними індексами потрібно використати функцію mysqli_fetch_array замість mysqli_fetch_assoc. Це доцільно робити, наприклад, при виведенні наявних баз даних чи таблиць бази даних.

У визначенні під'єднання ($link у поданому вище коді) можна не вказувати базу даних. Наприклад, перед її створенням. Тоді її під'єднання можна здійснити пізніше, використавши відповідну вказівку мовою SQL.

4. Інструктаж з ТБ
5. Закріплення вивченого матеріалу


На початку виконання завдань середовище XAMPP повинне бути активним і містити порожню базу даних school. При виконанні завдань використати демонстраційні розв'язання a, b, c завдань уроку 1 щодо SQL. Код може не містити перевірки на коректність виконання вказівок.

Завдання 1. Створити програму мовою PHP, яка засобами SQL:

Порівняти з очікуваними кодом і виведенням.

Завдання 2. Використовуючи попередньо апробований код SQL, створити програму мовою PHP для виведення у консоль у вигляді асоціативних масивів таких даних:

Виконати запити й порівняти з очікуваними кодом мовою PHP і результатом.

Завдання 3. Використовуючи попередньо апробований код SQL, створити програму мовою PHP для такого:

Виконати запити й порівняти з очікуваними кодом і результатом. Зауважте: незважаючи на виключення при створенні перегляду, дані виведено правильно.

Завдання 4. Використовуючи попередньо апробований код SQL, створити програму мовою PHP для такого:

Виконати запити й порівняти з очікуваними кодом і результатом.

6. Підбиття підсумків уроку

Дати відповідь на питання і порівняти з очікуваним.

  1. Як під'єднати базу даних мовою PHP?
  2. Як здійснити запит мовою SQL з програми мовою PHP?
  3. Яка структура результату запиту мовою SQL з програми мовою PHP?
  4. Як вивести результат запиту мовою SQL з програми мовою PHP?

Виставлення оцінок.

7. Домашнє завдання
У разі потреби доробити завдання. Вивчити систаксис під'єднання бази даних і здійснення запиту мовою SQL з програми мовою PHP. Написати програму мовою PHP, яка:


Текст упорядкував Олександр Рудик.