Вывести структуру базы данных

Содержание
  1. Создаем базу данных на примере службы доставки и разбираем запросы SQL
  2. Просмотр списка таблиц в базе данных MySQL
  3. Показать таблицы MySQL
  4. Показать таблицы MySQL из командной строки
  5. Выводы
  6. PHP ООП MySQL — Пошаговое руководство
  7. 1. Введение
  8. 2. Файловая структура
  9. 3. Структура таблицы базы данных
  10. 3.1 Создание базы данных и таблицы товаров
  11. 3.2 Вставка демо-данных для таблицы «Товары»
  12. 3.3 Создание таблицы для категорий товаров
  13. 3.4 Вставка демо-данных для таблицы «Категории»
  14. 3.5 Результат
  15. 4. Создание файлов шаблонов
  16. 4.1 Создание файла шаблона «header»
  17. 4.2 Создание файла шаблона «footer»
  18. 4.3 Создание кастомного CSS файла
  19. 4.4 Результат
  20. 5. Создание записей в PHP методом ООП
  21. 5.1 Создание файла create_product.php
  22. 5.2 Создание кнопки «Просмотр всех товаров»
  23. 5.3 Подключение к базе данных
  24. 5.4 Создание класса конфигурации базы данных
  25. 5.5 Создание формы в create_product.php
  26. 5.6 Вывод категорий в выпадающем списке
  27. 5.7 Создание класса для работы с категориями
  28. 5.8 Создание метода readName()
  29. 5.9 Выполнение php-кода при отправке формы
  30. 5.10 Создание класса для работы с товарами
  31. 5.11 Результат
  32. 6. Вывод товаров + пагинация с помощью PHP ООП
  33. 6.1 Создание файла index.php
  34. 6.2 Добавление кнопки «Создание товара»
  35. 6.3 Настройка переменных для создания пагинации
  36. 6.4 Получение записей из базы данных
  37. 6.5 Создание метода readAll() в файле product.php
  38. 6.6 Вывод товаров из базы данных
  39. 6.7 Добавление кнопок просмотра, редактирования и удаления
  40. 6.8 Создание файла paging.php для пагинации
  41. 6.9 Создание метода countAll() в objects/product.php
  42. 6.10 Включение paging.php в index.php
  43. 6.11 Результат
  44. 7. Обновление записи в PHP методом ООП
  45. 7.1 Создание файла update_product.php
  46. 7.2 Создание кнопки «Просмотр всех товаров»
  47. 7.3 Получение информации об одном товаре на основе получаемого ID.
  48. 7.4 Добавление метода readOne() в класс Product
  49. 7.5 Добавление значений в форму обновления товара
  50. 7.6 Вывод категорий в выпадающем списке
  51. 7.7 Код при отправке формы обновления товара
  52. 7.8 Добавление метода update() в класс товара
  53. 7.9 Результат
  54. 8.0 Чтение одной записи на PHP в ООП
  55. 8.1 Создание страницы товара
  56. 8.2 Чтение одной записи на основе полученного ID
  57. 8.3 Отображение товара в HTML-таблице
  58. 8.4 Результат
  59. 9. Удаление записи на PHP в ООП
  60. 9.1 Добавление JavaScript для удаления товара
  61. 9.2 Создание файла delete_product.php
  62. 9.3 Метод для удаления товара в классе Product
  63. 9.4 Результат
  64. 10. Поиск записей в PHP методом ООП
  65. 10.1 Изменение index.php
  66. 10.2 Создание read_template.php
  67. 10.3 Создание core.php в папке config
  68. 10.4 Изменение кода в paging.php
  69. 10.5 Создание файла search.php
  70. 10.6 Добавление методов search() и countAll_BySearch()
  71. 10.7 Результат
  72. 11. Загрузка файлов в PHP методом ООП
Читайте также:  Чем отмыть клей космофен от стекла

Создаем базу данных на примере службы доставки и разбираем запросы SQL

Сегодня мы рассмотрим пример базы данных и различные команды агрегации, группировки, сортировки, соединения таблиц и другое на примере MySQL. Сами данные представляют собой набор таблиц с произвольными названиями и значениями. Структура таблиц и их связи представлены ниже.

Для понимания дальнейшего Вам будут желательно начальные знания SQL и баз данных. Данное пособие поможет структурировать информацию, обновить память и может выступать в роли шпаргалки, которую вы можете использовать при надобности. Запросы на создание всех таблиц находятся тут.

С содержанием таблиц удобно ознакомиться в формате excel:

Таблица «products» Таблица «customers» Таблица «courier_info» Таблица «orders» Таблица «delivery_list» Таблица «orders_products»

Как ни странно, но начнем мы анализ с таблицы, которая не упоминалась выше и не имеет связей с другими. Она представляет собой статистику за год по некоторым ключевым показателям.

Примечание: дабы не загружать статью всеми видами таблиц из запросов, визуально представлены будут только некоторые, а с остальными Вы без проблем можете поэкспериментировать сами.

Table «year_statistics»

Агрегация, группировка, сортировка

Сумма заказов за весь год:

SELECT SUM(amount_of_orders) AS orders_per_year FROM year_statistics;

Убывающая сортировка заказов по месяцам:

SELECT month_name, amount_of_orders
FROM year_statistics
ORDER BY amount_of_orders DESC;

Вывести месяц, где больше всего заказов:

SELECT month_name, amount_of_orders FROM year_statistics
WHERE amount_of_orders = (SELECT MAX(amount_of_orders)
FROM year_statistics);

Популярность районов по количествам клиентов:

SELECT district
FROM customers
GROUP BY district
ORDER BY COUNT(district) DESC;

Сколько каждый курьер доставил заказов:

SELECT courier_id, COUNT(order_id)
From delivery_list
WHERE date_arrived IS NOT NULL
GROUP BY courier_id;

Общие запросы и использование операторов IN, EXISTS, UNION и др.

Выборка клиентов, которые живут в районе «South»:

SELECT * FROM Customers
WHERE district IN (‘South’);

Информация о заказах, которые не были доставлены клиентам:

SELECT * FROM delivery_list
WHERE taken NOT IN (‘Yes’);

Запрос продуктов из меню, которые были заказаны:

SELECT menu_name FROM products
WHERE EXISTS
(SELECT * FROM orders_products
WHERE orders_products.product_id = products.product_id);

Запрос тех продуктов, которые не заказывали:

SELECT menu_name FROM products
WHERE NOT EXISTS
(SELECT * FROM orders_products
WHERE orders_products.product_id = products.product_id);

Получаем общую таблицу с информацией о клиентах и курьеров:

SELECT ‘Customer’ AS category, first_name, last_name, phone_number
FROM customers
UNION
SELECT ‘Employee’ AS category, first_name, last_name, phone_number
FROM courier_info;

INNER, NATURAL, CROSS, LEFT JOIN

Наиболее интересный запрос, который позволяет видеть детали заказа(номер, название блюда, количество и цена). К тому же здесь использован метод ROUND, позволяющий округлять дробные числа:

SELECT orders_products.order_id, products.menu_name, quantity,
ROUND(price*quantity, 2) AS total_price
FROM orders_products
INNER JOIN products ON orders_products.product_id = products.product_id
ORDER BY order_id, quantity;

Еще один довольно любопытный запрос, показывающий детальную информацию по заказам, а также время их доставки:

SELECT *, SEC_TO_TIME(TIMESTAMPDIFF(second, date_get, date_arrived))
AS time_of_delivery
FROM orders
NATURAL JOIN delivery_list;

Не совсем тривиальный запрос на выборку о том, что каждому курьеру на машине доступен любой район из таблицы клиентов:

SELECT DISTINCT courier_info.courier_id, customers.district
FROM courier_info
CROSS JOIN customers WHERE courier_info.delivery_type = ‘car’
ORDER BY courier_id;

И напоследок запрос на информацию об имени клиента, его мобильном телефоне и номере заказа:

SELECT customers.first_name, customers.last_name,
customers.phone_number, orders.order_id
FROM customers
LEFT JOIN orders ON customers.customer_id = orders.customer_id;

Заключение

По итогу мы с вами разобрали множество полезных запросов на выборку SQL. Были показаны основные и более редкие операции. В сущности не важно, сколько данных в Вашей таблице — десять или тысяча, от этого запросы не поменяются, а всегда будут оставаться такими же. Главное, чтобы был понятен смысл, количество данных играет намного меньшую роль. Бояться и расстраиваться от того, что у Вас пока не получается получить желаемый запрос, совершенно глупо. Абсолютно нормально, если Вы гуглите, читаете книгу на интересующую тему, а результата так и нет. На это может уходить от десятка минут до целых дней. Мы все люди и одному человеку не под силу знать все. Наберитесь терпения, спросите у товарищей, на форумах и просто продолжайте искать сами, у Вас все получится! Удачи.

Источник

Просмотр списка таблиц в базе данных MySQL

При управлении серверами баз данных MySQL одна из наиболее частых задач, которые вы выполняете, — это знакомство со средой. Это включает в себя перечисление баз данных, которые находятся на сервере, отображение таблиц базы данных или получение информации об учетных записях пользователей и их привилегиях .

В этой статье показано, как вывести список таблиц в базе данных MySQL или MariaDB через командную строку.

Показать таблицы MySQL

Чтобы получить список таблиц в базе данных MySQL, используйте клиентский инструмент mysql для подключения к серверу MySQL и выполните команду SHOW TABLES .

Доступ к серверу MySQL:

Из оболочки MySQL переключитесь на базу данных с помощью оператора USE :

Выполните следующую команду, чтобы получить список всех таблиц и представлений в текущей базе данных:

Результат будет выглядеть примерно так:

Необязательный модификатор FULL покажет тип таблицы как второй выходной столбец.

Результат будет выглядеть примерно так:

Чтобы получить список таблиц без переключения на базу данных, используйте предложение FROM или IN , за которым следует имя базы данных:

Предложение LIKE можно использовать для фильтрации вывода команды SHOW TABLES соответствии с определенным шаблоном.

Например, следующий оператор вернет все базы данных, имена которых начинаются с ‘open’:

Знак процента ( % ) означает ноль, один или несколько символов.

Показать таблицы MySQL из командной строки

Чтобы получить информацию о таблицах из оболочки Linux, вы можете использовать команду mysql -e или команду mysqlshow которая отображает информацию о базах данных и таблицах.

Это особенно полезно, когда вы хотите работать со своими базами данных MySQL с помощью сценариев оболочки.

Выполните следующую команду на своем терминале, чтобы отобразить список всех баз данных:

В результате отобразится список всех таблиц:

Вот пример использования команды mysqlshow :

Вы можете отфильтровать вывод с помощью команды grep .

Выводы

Чтобы получить информацию о таблицах в базе данных MySQL, используйте команду SHOW TABLES .

Не стесняйтесь оставлять комментарии, если у вас есть вопросы.

Источник

PHP ООП MySQL — Пошаговое руководство

Сегодня познакомимся с объектно-ориентированным программированием (ООП) в PHP. Используя принципы ООП, MySQL создадим простое web-приложение.

  • 1. Введение
  • 2. Файловая структура
  • 3. Структура таблицы базы данных
  • 3.1 Создание базы данных и таблицы товаров
  • 3.2 Вставка демо-данных для таблицы «Товары»
  • 3.3 Создание таблицы с категориями
  • 3.4 Вставка демо-данных для таблицы «Категории»
  • 3.5 Результат
  • 4. Создание файлов шаблонов
  • 4.1 Создание файла шаблона «header»
  • 4.2 Создание файла шаблона «footer»
  • 4.3 Создание кастомного CSS файла
  • 4.4 Результат
  • 5. Создание записей в PHP методом ООП
  • 5.1 Создание файла create_product.php
  • 5.2 Создание кнопки «Просмотр всех товаров»
  • 5.3 Подключение к базе данных
  • 5.4 Создание класса конфигурации базы данных
  • 5.5 Создание формы в create_product.php
  • 5.6 Вывод категорий в выпадающем списке
  • 5.7 Создание класса для работы с категориями
  • 5.8 Создание метода readName()
  • 5.9 Выполнение php-кода при отправке формы
  • 5.10 Создание класса для работы с товарами
  • 5.11 Результат
  • 6. Вывод товаров + пагинация с помощью PHP ООП
  • 6.1 Создание файла index.php
  • 6.2 Добавление кнопки «Создание товара»
  • 6.3 Настройка переменных для создания пагинации
  • 6.4 Получение записей из базы данных
  • 6.5 Создание метода readAll() в файле product.php
  • 6.6 Вывод товаров из базы данных
  • 6.7 Добавление кнопок просмотра, редактирования и удаления
  • 6.8 Создание файла paging.php для пагинации
  • 6.9 Создание метода countAll() в objects/product.php
  • 6.10 Включение paging.php в index.php
  • 6.11 Результат
  • 7. Обновление записи в PHP методом ООП
  • 7.1 Создание файла update_product.php
  • 7.2 Создание кнопки «Просмотр всех товаров»
  • 7.3 Получение информации об одном товаре на основе получаемого ID
  • 7.4 Добавление метода readOne() в класс объекта Product
  • 7.5 Добавление значений в форму обновления товара
  • 7.6 Вывод категорий в выпадающем списке
  • 7.7 Код при отправке формы обновления товара
  • 7.8 Добавление метода update() в объекте класса Product
  • 7.9 Результат
  • 8. Чтение одной записи на PHP в ООП
  • 8.1 Создание страницы товара
  • 8.2 Чтение одной записи на основе полученного ID
  • 8.3 Отображение товара в HTML-таблице
  • 8.4 Результат
  • 9. Удаление записи на PHP в ООП
  • 9.1 Добавление JavaScript для удаления товара
  • 9.2 Создание файла delete_product.php
  • 9.3 Метод для удаления товара в классе Product
  • 9.4 Результат
  • 10. Поиск записей в PHP методом ООП
  • 10.1 Изменение index.php
  • 10.2 Создание read_template.php
  • 10.3 Создание core.php в папке config
  • 10.4 Изменение кода в paging.php
  • 10.5 Создание файла search.php
  • 10.6 Добавление методов search() и countAll_BySearch()
  • 10.7 Результат
  • 11. Загрузка файлов в PHP методом ООП
  • 11.1 Изменение HTML-формы
  • 11.2 Установка значения полю «Изображение»
  • 11.3 Изменение метода create()
  • 11.4 Вызов метода uploadPhoto()
  • 11.5 Создание метода uploadPhoto()
  • 11.6 Валидация отправляемого файла
  • 11.7 Сообщения об ошибках
  • 11.8 Показ загруженного изображения
  • 11.9 Результат

1. Введение

Данное учебное пособие о создании простого приложения с базой данных в стиле объектно-ориентированного программирования на PHP.

Мы будем использовать Bootstrap, чтобы не тратить время на вёрстку, а сосредоточимся на главном, а именно на ООП.

Мы хотим изучить правильную реализацию ООП в PHP. Есть PHP-фреймворки, такие как CakePHP, Laravel, Yii — они на один шаг выше. Сейчас мы изучим объектно-ориентированное программирование в PHP с MySQL-запросами. Осваивать PHP-фреймворки должно быть гораздо проще после изучения данного пособия.

2. Файловая структура

Файловая структура данного приложения.

  • php-oop-mysql/
    • config/
      • core.php
      • database.php
    • objects/
      • product.php
      • category.php
    • libs/
      • css/
        • custom.css
    • index.php
    • layout_header.php
    • layout_footer.php
    • create_product.php
    • read_product.php
    • update_product.php
    • delete_product.php
    • read_template.php
    • paging.php
    • search.php

3. Структура таблицы базы данных

Создадим базу данных и две таблицы: для категорий и для самих товаров.

3.1 Создание базы данных и таблицы товаров

Откройте PhpMyAdmin и создайте новую базу данных. Назовём её php_oop .

В этой базе данных создадим таблицу products . Перейдите во вкладку «SQL» и выполните следующий SQL-запрос.

3.2 Вставка демо-данных для таблицы «Товары»

Выполните SQL-запрос для добавления демо-данных в таблицу «Товары» .

3.3 Создание таблицы для категорий товаров

Таблицу с категориями мы будем использовать для хранения категорий товаров.

Запустите следующую инструкцию SQL, используя ваш PhpMyAdmin .

3.4 Вставка демо-данных для таблицы «Категории»

В нашем проекте в качестве категорий будут:

Выполните следующий SQL запрос, используя ваш PhpMyAdmin.

3.5 Результат

В этом разделе мы смогли настроить нашу базу данных с помощью PhpMyAdmin . У вас должно получиться как на изображении ниже.

Результатом данного раздела у вас должны быть:

  1. база данных php_oop ;
  2. две таблицы categories и products , наполненные демо-контентом.

4. Создание файлов шаблонов

Чтобы уменьшить беспорядок в коде, мы создадим файлы макетов с нужным кодом и ресурсами.

Создайте папку для нашего проекта, пусть она будет называться php-oop-mysql .

4.1 Создание файла шаблона «header»

Этот файл layout_header.php будет включен в начало тех файлов PHP, которые ему понадобятся. Таким образом, нам не придется каждый раз писать один и тот же код.

Как уже говорилось ранее, мы будем использовать фреймворк Bootstrap, чтобы наш проект выглядел хорошо.

Подключим Bootstrap в теге head .

  1. Перейдите в папку проекта php-oop-mysql .
  2. Создайте в ней файл layout_header.php .
  3. Вставьте в него следующий код:

Шаблон layout_footer.php будем подключать в конец каждого php-файла, который в нём нуждается. Таким образом, нам не придётся каждый раз писать один и тот же код.

Подключим следующие компоненты/библиотеки:

  • jQuery — понадобится для Bootstrap JavaScript;
  • Bootstrap JavaScript — чтобы заставить работать крутые компоненты пользовательского интерфейса;
  • BootboxJS — для отображения красивых предупреждений или диалоговых окон подтверждения.

Можно было бы обойтись без сторонних библиотек, используя HTML, CSS и нативный JavaScript, но т.к. задача стоит разобраться в ООП, мы не будем много тратить времени на вёрстку.

Итак, создадим файл «подвала» и подключим его.

  1. Перейдите в папку проекта php-oop-mysql .
  2. Создайте файл layout_footer.php .
  3. Добавьте в него следующий код:

4.3 Создание кастомного CSS файла

Этот файл будем использовать для добавления стилей веб-страницы и для переопределения дефолтных стилей Bootstrap.

  1. В корне проекта создайте папку libs .
  2. В ней папку css .
  3. Внутри папки css создайте файл custom.css .
  4. Добавьте в него следующие стили:

4.4 Результат

Файлы шаблонов, которые мы создали в этом разделе, предназначены для использования внутри другого файла PHP. Если мы попытаемся запустить файлы макета в одиночку, мы не получим желаемого результата.

Если вы запустите layout_header.php , в браузере он будет выглядеть примерно так.

Файл custom.css будет выглядеть так.

Шаблон layout_footer.php пуст. Давайте продолжим в следующем разделе, чтобы увидеть более значимый результат.

5. Создание записей в PHP методом ООП

5.1 Создание файла create_product.php

Вернитесь в корневую папку php-oop-mysql , создайте в ней файл create_product.php со следующим кодом:

5.2 Создание кнопки «Просмотр всех товаров»

Следующий код отобразит кнопку. Замените комментарий &lt!— здесь будет контент —&gt предыдущего раздела следующим кодом:

5.3 Подключение к базе данных

Мы можем использовать его для получения категорий или сохранения новой записи о товаре позже. Поместите следующий код перед комментарием // установка заголовка страницы в файле create_product.php .

5.4 Создание класса конфигурации базы данных

Без этого класса невозможно установить соединение с базой данных. Этот файл класса будет включен в большинство файлов PHP нашего руководства по PHP ОПП MySQL.

В корне проекта создайте папку config и в ней файл database.php со следующим содержимым:

5.5 Создание формы в create_product.php

Следующий код отобразит HTML-форму. Откройте файл create_product.php .

Замените &lt!— здесь будет html-форма ‘create product’ —&gt следующим кодом:

С помощью глобальной переменной $_SERVER[«PHP_SELF»] мы получаем имя скрипта, который сейчас выполняется.

5.6 Вывод категорий в выпадающем списке

Следующий код будет извлекать категории, и помещать их в раскрывающийся список «Выбрать».

Замените комментарий &lt!— здесь будут категории из базы данных —&gt из предыдущего раздела следующим кодом:

5.7 Создание класса для работы с категориями

Предыдущий раздел не будет работать без класса Category и метода read() . Создайте папку для объектов objects . В ней создайте файл category.php и добавьте следующий код:

5.8 Создание метода readName()

Мы будем получать название категории, а не просто идентификатор. Добавьте следующий код в наш category.php после метода read() , далее вы увидите, что этот метод используется в последующих нескольких разделах.

5.9 Выполнение php-кода при отправке формы

Пользователь будет вводить значения в HTML-форму, и при нажатии кнопки отправки, значения будут отправлены через запрос POST, а приведенный ниже код сохранит их в базе данных.

Откройте файл create_product.php . Замените комментарий &lt!— Здесь будет PHP код —&gt следующим кодом.

5.10 Создание класса для работы с товарами

Предыдущий раздел не будет работать без класса Product. Откройте папку с объектами (objects). Создайте файл product.php . Откройте этот файл и добавьте следующий код.

5.11 Результат

Форма для создания товара.

Когда вы заполните форму и нажмёте кнопку «Создать».

6. Вывод товаров + пагинация с помощью PHP ООП

В этой части нашего руководства PHP ООП MySQL мы выведем записи из базы данных.

6.1 Создание файла index.php

Создайте новый файл и назовите его index.php . Этот файл будет отображать главную страницу нашего веб-приложения. Поместите в него следующий код.

6.2 Добавление кнопки «Создание товара»

Следующий код отобразит кнопку. Когда эта кнопка будет нажата, она покажет нам страницу, на которой мы можем добавить новый товар. Замените комментарий &lt!— здесь будет контент —&gt в предыдущем разделе следующим кодом.

6.3 Настройка переменных для создания пагинации

Пагинация очень важна, если у вас есть тысячи товаров в базе данных. Поместите следующий код перед установкой заголовка страницы файла index.php .

6.4 Получение записей из базы данных

Теперь мы извлечем товары из базы данных. Замените комментарий // здесь будет получение товаров из БД в файле index.php следующим кодом.

6.5 Создание метода readAll() в файле product.php

Без этого метода получение записей из предыдущего раздела не будет работать. Поместите следующий код в наш файл product.php , который находится в папке objects .

6.6 Вывод товаров из базы данных

На этот раз мы покажем пользователю список товаров. HTML Таблица будет содержать наши данные. Поместите следующий код после кода раздела 6.2.

6.7 Добавление кнопок просмотра, редактирования и удаления

Следующий код отобразит три кнопки (ссылки на соответствующие страницы): «Просмотр», «Редактировать» и «Удалить».

Внутри цикла while предыдущего раздела есть комментарий // здесь будут кнопки для просмотра, редактирования и удаления , замените его следующим кодом.

6.8 Создание файла paging.php для пагинации

Следующий код покажет наши кнопки пагинации. Создайте новый файл и назовите его paging.php . Откройте этот файл и введите следующий код.

6.9 Создание метода countAll() в objects/product.php

Следующий код будет использоваться для подсчета общего количества записей в базе данных. Это будет использоваться для нумерации страниц.

Откройте файл product.php , который находится внутри папки objects . Добавьте в класс Product метод countAll() .

6.10 Включение paging.php в index.php

Следующий код покажет пагинацию под нашим списком записей. Поместите следующий код после закрывающего тега table в разделе 6.6.

6.11 Результат

Запустите http://php-oop-mysql/index.php через ваш локальный сервер, вы должны увидеть что-то вроде этого:

Список товаров, страница 1.

Список товаров, страница 2.

7. Обновление записи в PHP методом ООП

Я знаю, что наше руководство по PHP OOP MySQL довольно длинное. Пожалуйста, сделайте перерыв или выпейте кофе 🙂

7.1 Создание файла update_product.php

Создайте файл update_product.php и добавьте в него следующий код:

7.2 Создание кнопки «Просмотр всех товаров»

Следующий код отобразит кнопку. По нажатию на эту кнопку мы вернемся к списку товаров. Замените комментарий &lt!— здесь будет контент —&gt в предыдущем разделе следующим кодом.

7.3 Получение информации об одном товаре на основе получаемого ID.

Следующий код получит текущие данные, которыми будет заполнена наша HTML-форма. Это важно, потому что это позволит пользователю узнать, какую именно запись он обновляет.

В файле update_product.php замените комментарий // здесь будет получение одного товара следующим кодом.

7.4 Добавление метода readOne() в класс Product

Метод readOne() , использованный в предыдущем разделе, не будет работать без следующего кода внутри файла /objects/product.php .

7.5 Добавление значений в форму обновления товара

Теперь мы можем поместить текущие значения в каждый элемент формы. Замените комментарий &lt!— здесь будет форма обновления товара —&gt в update_product.php следующим кодом.

7.6 Вывод категорий в выпадающем списке

Следующий код перечислит категории в раскрывающемся списке.

Замените комментарии в предыдущем разделе &lt!— здесь будет раскрывающийся список для выбора категории —&gt следующим кодом.

7.7 Код при отправке формы обновления товара

Следующий код присваивает «опубликованные» значения свойствам объекта. После назначения он обновит базу данных этими значениями с помощью метода update() .

Откройте файл update_product.php . Замените комментарий &lt!— здесь будет контент —&gt следующим кодом.

7.8 Добавление метода update() в класс товара

Следующий код заставит работать метод $product->update() из предыдущего раздела. Откройте product.php , который находится внутри папки objects , и добавьте следующий код.

7.9 Результат

Щелкните любую кнопку «Редактировать» на главной странице приложения. Форма обновления товара должна выглядеть следующим образом.

Когда вы отправите форму, будет показано сообщение.

В базе данных будет изменена запись.

8.0 Чтение одной записи на PHP в ООП

Ранее мы сделали страницу для редактирования товара и код для «обновления записи». Теперь нам необходимо создать страницу для отображения товара. Этот раздел для чтения одной записи из базы данных будет сделать проще.

8.1 Создание страницы товара

На этой странице будут отображаться данные одной записи. Создайте новый файл и назовите его read_product.php , откройте этот файл и добавьте следующий код.

8.2 Чтение одной записи на основе полученного ID

Следующий код считывает одну запись из базы данных. Поместите код перед комментарием // установка заголовка страницы в предыдущем разделе.

8.3 Отображение товара в HTML-таблице

На этот раз мы отобразим информацию о товаре в таблице HTML. Поместите следующий код под закрывающим тегом div кнопки Просмотр всех товаров .

8.4 Результат

Нажмите любую кнопку Просмотр на главной странице, вы должны увидеть что-то вроде изображения ниже.

9. Удаление записи на PHP в ООП

9.1 Добавление JavaScript для удаления товара

Поместите следующий код JavaScript перед закрывающим тегом body в файле layout_footer.php . Мы используем Bootbox.js и AJAX для создания диалогового окна подтверждения в стиле Bootstrap.

9.2 Создание файла delete_product.php

Создайте новый файл delete_product.php . Этот файл принимает ID, полученный в JavaScript в предыдущем разделе. Запись будет удалена из базы данных на основе полученного идентификатора (ID записи).

Откройте delete_product.php и добавьте в него следующий код:

9.3 Метод для удаления товара в классе Product

Предыдущий раздел не будет работать с методом delete() , т.к. мы его ещё не создали. Откройте product.php , который находится внутри папки objects , и добавьте следующий код.

9.4 Результат

Щелкните любую кнопку Удалить на главной странице. Появится всплывающее окно подтверждения.

Если пользователь нажимает Да , то запись удаляется и исчезает из таблицы и базы данных.

10. Поиск записей в PHP методом ООП

Следующие разделы являются бонусными, поэтому если вы не разобрались с кодом выше, лучше сначала разберитесь, а затем продолжайте изучение дальше.

И так, продолжим, добавим функцию поиска. Это ответит на вопрос: «Как искать данные в базе данных на php?» Это очень полезная функция, потому что вы позволяете пользователям легко искать определенные данные в нашей базе данных MySQL.

10.1 Изменение index.php

Нам нужно изменить index.php , потому что мы добавляем функцию «поиска» и хотим, чтобы наш код был коротким и лаконичным. Наш index.php теперь будет выглядеть так.

10.2 Создание read_template.php

Зачем нам этот шаблон? Он нам нужен, потому что точно такой же код может использоваться и в index.php и в search.php для отображения списка записей. Использование шаблона означает меньший объем кода.

Создайте read_template.php с формой поиска.

10.3 Создание core.php в папке config

В папке config создайте новый файл core.php .

Этот файл будет содержать наши переменные пагинации страниц. Использование файла core.php является хорошей практикой, его можно использовать для хранения других значений конфигурации, которые могут вам понадобиться в будущем.

Откройте core.php и добавьте следующий код:

10.4 Изменение кода в paging.php

Новый код paging.php будет выглядеть следующим образом.

10.5 Создание файла search.php

Это самый важный файл в этом разделе. В этом файле будут отображаться записи на основе поискового запроса пользователя.

Создайте новый файл и назовите его search.php . Откройте этот файл и добавьте следующий код.

10.6 Добавление методов search() и countAll_BySearch()

Откройте файл product.php , который находится внутри папки objects . Добавьте в класс Product следующие методы.

10.7 Результат

Выполним поиск по слову «телефон».

11. Загрузка файлов в PHP методом ООП

Это последняя часть нашего руководства по PHP ООП MySQL. Наслаждайтесь каждой строчкой кода! 🙂

В этом разделе мы добавим функцию «загрузки файлов» для товаров.

Источник

Оцените статью