Создание скрипта PHP с использованием MySQL на вашем сайте.

Создание скрипта PHP с использованием MySQL на вашем сайте.

Написание простого скрипта на PHP для реализации функционала на сайте - это заманчивая задача для начинающих разработчиков. Однако, перед тем, как приступить к написанию кода, очень важно четко понимать требования и желаемый результат. Это связано с тем, что неправильное толкование функционала может привести к появлению ржавшей кода, который станет неуправляемым с течением времени. В этой статье я расскажу вам о важности создания Технического задания (ТЗ) и об обсуждении его с developером. Кроме того, я предоставлю вам простой пример реализации функционала на сайте с помощью скрипта на PHP и MySQL. **Техническое задание (ТЗ)** Техническое задание - это документ, в котором четкоdescribe all требования и ожидания клиента на данный проект. Он должен содержать следующие разделы: 1. **Описание проблемы**: В этом разделе описывается проблема или функционал, который необходимо реализовать. 2. **Функциональные требования**: В этом разделе перечисляются все функции, которые должны быть реализованы в скрипте. 3. **Методология разработки**: В этом разделе указываются все любые строгие требования по методологии разработки. 4. **Технологии**: В этом разделе указываются все технологии, которые будут использоваться для реализации проекта. 5. **Сроки REALизации**: В этом разделе указываются все сроки реализации проекта. **Пример ТЗ** Например, клиент хочет, чтобы на сайте была реализована функция отображения статистики по просмотрам веб-сайта. ТЗ для этого проекта может быть таким: * **Описание проблемы**: Данным веб-сайтом управляется командой разработчиков, и хотелось бы иметь возможность отследить количество просмотрений страниц сайта. * **Функциональные требования**: + Отображение статистики по просмотрам на главной странице сайта + Возможность фильтрации статистики по времени просмотра (год, месяц, день) + Возможность экспорта статистики в csv-файл * **Методология разработки**: При разработке скрипта необходимо использовать лояльную по PHP 7.4 версию * **Технологии**: Используемые технологии: PHP, MySQL, HTML, CSS * **Сроки реализации**: Сроки реализации проекта: две недели с момента получения задания **Обсуждение ТЗ** После составления ТЗ, обязательно нужно discuss его с developером. Это важное этап, поскольку может быть, что у developера мнение по отдельным моментам по-другому. Кроме того, только обсуждение ТЗ может подразделить на 100% что что от вас в меньшинства ожидания. А также нужно озадачить developера разными аспектами ТЗ, такие как как вариант реализации функциональных требований, методологии разработки, технологий, сроков реализации. **Простой скрипт на PHP** Теперь, когда у нас есть ТЗ, время приступать к написанию скрипта на PHP. Для этого нам понадобится: * Веб-сервер с PHP 7.4 версией * База данных MySQL * Пользователь и базовый набор прав для base данных Ниже приведен пример простого скрипта на PHP, реализующий функционал по отображению статистики по просмотрам веб-сайта: ```php load->helper('html'); $data['title'] = 'Статистика'; $data['page'] = 'stats'; $this->load->view('header', $data); $this->load->view('stat_stats'); $this->load->view('footer'); } function get_stats() { $d=$this->input->post('d'); $m=$this->input->post('m'); $y=$this->input->post('y'); $sql = "SELECT page, COUNT(id) as cnt FROM stats WHERE DATE(date) BETWEEN '$y-$m-01' AND '$y-$m-31' GROUP BY page; UNION ALL SELECT page_full, COUNT(id) as cnt FROM stats WHERE DATE(date) BETWEEN '$y-$m-01' AND '$y-$m-31' GROUP BY page_full"; $result= $this->db->query($sql)->result(); foreach ($result as $output){ $page = $output->page ? $output->page :$output->page_full; switch ($page) { case 'index.php': if ($d==5 && $m==7) $page='stats_07_2019'; if ($d==25 && $m==4) $page='stats_25_2019'; if ($d==15 && $m==10) $page='sdtas_15_lnt_2020_9'; if ($d==18 && $m==9) $page='sdtas_18_Lnt_2020'; break; case 'admin.php/index.php': if ($d==25 && $m==10) $page='stats_25_2020'; if ($d==24 && $m==10) $page='stats_24_2020'; if ($d==12 && $m==11) $page='stats_12_2020'; break; case '/': if ($d == 18 && $m == 9) $page = 'index_18_Lnt_2020-09-18'; if ($d == 22 && $m == 6) $page = 'index_2020'; break; } $output->page=$page; } echo json_encode($result); } } ?> ``` Небольшая database представляет из себя один phpMyAdmin таблицу с полем date в виде unixTime: ```sql CREATE TABLE `stats` ( `id` int(11) NOT NULL, `page` tinytext COLLATE utf8mb4_unicode_ci, `page_full` tinytext COLLATE utf8mb4_unicode_ci, `date` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; ``` Процесс с DB функцией простой статистик по mysql запросом закодирован ```sql sql= "SELECT page, COUNT(id) as cnt FROM stats WHERE DATEFROMUNIX(date) BETWEEN '$y-$m-01' AND '$y-$m-31' GROUP BY page; UNION ALL SELECT page_full, COUNT(id) as cnt FROM stats WHERE DATEFROMUNIX(date) BETWEEN '$y-$m-01' AND '$y-$m-31' GROUP BY page_full"; Sql функцией "DATEFROMUNIX(date)" phpмудрилики парсий date и поменяла его на sql запрос ``` PHP API дает пользователю выбрать month year и функция дает эти фильтры. С помощью технологии JSON обьекты приходят к Vue front Поскольку, это все просто, при development скрипта в консоле мы можем получить вид: ```bash INFO 2022-07-15 20:11:21 | --- Begin GET /index.php/stat_stats/load_stat.php INFO 2022-07-15 20:11:21 | SELECT page, COUNT(id) as cnt INFO 2022-07-15 20:11:21 | FROM stats INFO 2022-07-15 20:11:21 | WHERE date BETWEEN '2022-07-01' AND '2022-07-31' INFO 2022-07-15 20:11:21 | GROUP BY page INFO 2022-07-15 20:11:21 | UNION ALL INFO 2022-07-15 20:11:21 | SELECT page_full, COUNT(id) as cnt INFO 2022-07-15 20:11:21 | FROM stats INFO 2022-07-15 20:11:21 | WHERE date BETWEEN '2022-07-01' AND '2022-07-31' INFO 2022-07-15 20:11:21 | GROUP BY page_full INFO 2022-07-15 20:11:21 | TIME 4,51 INFO 2022-07-15 20:11:21 | --- End GET /index.php/stat_stats/load_stat.php ``` Данные выводятся на ную HTML секцию с Vue.js технологией. Всего эту функцию можно вынести отдельную вкладку, сделать минимальную пагинацию чтобы она лучше читалась

🛠 Техническая поддержка сайтов на Wordpress


Создание скрипта PHP с использованием MySQL на вашем сайте.

Перенаправление..