Админ-панель

Редактирование данных в MySql с помощью PHP (админ-панель)

Счетчик PR-CY.Rank

Если ты полностью справился с предыдущим уроком, то данный урок можно пропустить 🙂 Здесь мы с вами пошагово сделаем следующее:

  • Создадим таблицу MySql
  • Выведем из таблицы MySql данные
  • Сделаем форму для редактирования и удаления данных из таблицы MySql

Создание таблицы

Давайте создадим в нашей БД таблицу products со следующими полями: ID, Name, Price. Поле Name у нас будет иметь тип TEXT, остальные два — INT. Если вам лень в PhpMyAdmin создавать такую табличку руками, то можете просто в нем выполнить вот этот SQL-код:

CREATE TABLE IF NOT EXISTS `products` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `Name` text NOT NULL, `Price` int(11) NOT NULL, PRIMARY KEY (`ID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

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

Mysql-таблица с товарами

Заполнить таблицу можно либо ручками через PhpMyAdmin, либо опять же вот таким простым SQL-запросом:

INSERT INTO `products` (`ID`, `Name`, `Price`) VALUES (1, 'Хлеб', 35), (2, 'Йогурт', 27), (3, 'Пиво Балтика #7', 50);

Вывод записей

Следующим нашим шагом будет обычный вывод этих данных из MySql на web-страничку.

Создадим новую страницу, к примеру «product_list.php» с установленным соединением с БД:

Теперь выведем все записи из таблицы. Для этого после подключения к БД (перед закрывающимся тегом ) вставим следующий код:

 "; > ?>
Идентификатор Наименование Цена

Если вы увидели на экране табличку с вашими товарами, то ПОЗДРАВЛЯЮ, пока что у вас все получается как надо! Возможно только для этого вы сюда и пришли. Этот вариант уже можно разместить на сайте, а добавлять и редактировать товары четез PhpMyAdmin. Все изменения будут автоматически отображаться на вашей страничке, доступной пользователям. Конечно вам придется для более касивого отображения таблички поколдовать со стилями css, но это уже другая тема 🙂 Итак, мы поедем дальше и сделаем редактирование и удаление этих товаров.

Редактирование и удаление записей

Давайте определимся, что нам надо уметь делать? Первое — удалять записи, воторое — редактировать записи. Ну а третье (вставлять новые записи) — мы уже сделали в прошлом уроке.

Итак, для того, чтобы мы могли удалить запись, нам надо в строке браузера передать в какой-либо переменной ID этой записи. Иными словами, нам надо, чтобы строка браузера у нас выглядела примерно так:

Переменная в строке браузера

На скриншоте выше мы видим переменную del_id в строке браузера, которая равна 1. Значение этой переменной можно прочитать средствами PHP и удалить из MySql-таблицы запись под номером 1 (ID = 1). Давайте сделаем это. Для начала передадим переменную, которая укажет, какую запись надо удалить. Для этого рядом с каждой записью добавим ссылку на удаление, в которой и передадим эту переменную. Итак, наша табличка с выведенными данными изменится следующим образом:

Теперь, если вы будете переходить по ссылкам «Удалить», то увидите, что значения переменной в строке браузера будет меняться в зависимости от выбранного продукта. Теперь давайте перед самым выводом товаров проверим, не передана ли переменная del_id, и если она передана, то удалим запись. Для этого после подключения к БД почти в начало файла вставим следующий код:

"); if ($sql) < echo "

Товар удален.

"; > else < echo '

Произошла ошибка: ' . mysqli_error($link) . '

'; > > ?>

Редактирование записей

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

  • мы также как и для удаления передадим переменную red_id
  • достанем из БД запись с таким номером, чему равна red_id
  • подставим полученные из БД данные в форму редактирования (для этого мы воспользуемся сокразениями php для вывода результатов и для выполнения условий)
  • сохраним эти данные в БД

Сокращенная запись echo с условием

Следующие два примера кода делают одно и то же.

Полный листинг кода

      //Если переменная Name передана if (isset($_POST["Name"])) < //Если это запрос на обновление, то обновляем if (isset($_GET['red_id'])) < $sql = mysqli_query($link, "UPDATE `products` SET `Name` = '',`Price` = '' WHERE `ID`="); > else < //Иначе вставляем данные, подставляя их в запрос $sql = mysqli_query($link, "INSERT INTO `products` (`Name`, `Price`) VALUES ('', '')"); > //Если вставка прошла успешно if ($sql) < echo '

Успешно!

'; > else < echo '

Произошла ошибка: ' . mysqli_error($link) . '

'; > > if (isset($_GET['del_id'])) < //проверяем, есть ли переменная //удаляем строку из таблицы $sql = mysqli_query($link, "DELETE FROM `products` WHERE `ID` = "); if ($sql) < echo "

Товар удален.

"; > else < echo '

Произошла ошибка: ' . mysqli_error($link) . '

'; > > //Если передана переменная red_id, то надо обновлять данные. Для начала достанем их из БД if (isset($_GET['red_id'])) < $sql = mysqli_query($link, "SELECT `ID`, `Name`, `Price` FROM `products` WHERE `ID`="); $product = mysqli_fetch_array($sql); > ?>
Наименование: ">
Цена: "> руб.
' . " " . "" . "" . ''; > ?>
Идентификатор Наименование Цена Удаление Редактирование
" . " " . "'>Удалить'>Изменить

Добавить новый товар

Ну вот, друзья, мы и научились доставать данные из БД MySql или MariaDB, отображать их на странице, удалять их прямо со страницы и, конечно же, редактировать 😉

Кстати, если вы еще не нашли себе хостинг для сайта (место в сети интернет), или не выбрали домен, то рекомендую почитать статью «Как разместить сайт в сети Интернет», в ней много всякой полезной информации.

Удачи в изучении связки PHP и MySql. Пишите комментарии, ставьте лайки «Мне нравится»!

Крутов Герман

Понравилась или помогла статья? Самое лучшее, что ты можешь сделать — это поделиться ею в любой из своих соцсетей (даже если ты поделишься в твиттере или google+, которыми ты не пользуешься — это очень поможет развитию моего блога). Спасибо! А если ты еще и оставишь любой комментарий снизу в обсуждениях, то это будет двойное СПАСИБО!

Ссылка на статью на всякий случай:

PersonКрутов Герман © 2009-2023 Emailkrutovgerman2007@ya.ru VK SocialЯ ВКонтате

Источник

PHP MySQL Database

With PHP, you can connect to and manipulate databases.

MySQL is the most popular database system used with PHP.

What is MySQL?

  • MySQL is a database system used on the web
  • MySQL is a database system that runs on a server
  • MySQL is ideal for both small and large applications
  • MySQL is very fast, reliable, and easy to use
  • MySQL uses standard SQL
  • MySQL compiles on a number of platforms
  • MySQL is free to download and use
  • MySQL is developed, distributed, and supported by Oracle Corporation
  • MySQL is named after co-founder Monty Widenius’s daughter: My

The data in a MySQL database are stored in tables. A table is a collection of related data, and it consists of columns and rows.

Databases are useful for storing information categorically. A company may have a database with the following tables:

PHP + MySQL Database System

  • PHP combined with MySQL are cross-platform (you can develop in Windows and serve on a Unix platform)

Database Queries

A query is a question or a request.

We can query a database for specific information and have a recordset returned.

Look at the following query (using standard SQL):

The query above selects all the data in the «LastName» column from the «Employees» table.

To learn more about SQL, please visit our SQL tutorial.

Download MySQL Database

If you don’t have a PHP server with a MySQL Database, you can download it for free here: http://www.mysql.com

Facts About MySQL Database

MySQL is the de-facto standard database system for web sites with HUGE volumes of both data and end-users (like Facebook, Twitter, and Wikipedia).

Another great thing about MySQL is that it can be scaled down to support embedded database applications.

Источник

PHP: работа с БД MySQL

PHP: работа с БД MySQL

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

Их используют для:

  1. Регистрации и авторизации на сайте (хранят регистрационные данные).
  2. Хранения статей и комментариев к ним.
  3. Организации поиска по веб-сайту.

В этой статье мы научимся вставлять, изменять, получать и защищать данные из БД MySQL, используя PHP.

Есть несколько вариантов подключения к базе данных MySQL, но самые лучшие варианты — mysqli и PDO .

Основная разница в том, что PDO может работать с огромным количеством баз данных: MySQL, Cubrid, Oracle, SQlite и так далее. А mysqli может работать только с MySQL.

В своей статье я покажу, как работать с PDO.

Примеры показывать буду на локальном сервере ( xampp ).

Создание БД и таблиц

Создать БД можно из панели управления хостингом, если есть такая возможность, а если нет, то из phpMyAdmin. Сравнение ставим utf8_general_ci.

Заходим в БД и создадим таблицу users , которую будем использовать для примера. Она будет включать колонки: ID(int) , login(varchar) и pass(varchar) . ID будет первичным ключом, а также будет иметь галочку напротив AI(auto increment), что позволит каждой новой записи присваивать id на 1 больше, чем у прошлой записи. Кроме этого, не забываем проставить длину varchar ’ам и поставить сравнение utf8_general_ci к полям login и pass .

База данных

Теперь мы имеем готовую БД и таблицу для работы с ней.

Подключение к БД с помощью PHP

Создаём файл index.php и прописываем:

 $user = 'root'; // пользователь $password = ''; // пароль $db = 'mydb'; // название бд $host = 'localhost'; // хост $charset = 'utf8'; // кодировка // Создаём подключение $pdo = new PDO("mysql:host=$host;dbname=$db;cahrset=$charset", $user, $password); ?>

Мы создали подключение к БД. Подключение от PDO не нужно закрывать, оно само закрывается, когда скрипт завершает свою работу.

Выборка данных

Здесь я сделаю небольшое отступление. Выбирать данные можно:

PDO::FETCH_ASSOC — возвращает массив с названиями столбцов в виде ключей.

PDO::FETCH_OBJ — возвращает анонимный объект со свойствами, соответствующими именам столбцов.

Fetch() — каждый раз извлекает следующую строку.

Продолжаем скрипт:

// Создаём запрос $query = $pdo -> query('SELECT * FROM users'); // Перебираем способом ассоциативного массива while ($row = $query->fetch(PDO::FETCH_ASSOC))  echo $row['login']."
";
>

Здесь мы обращаемся к массиву $row по индексу login.

В данном случае код выведет логин всех, кто есть в таблице.

// Перебираем способом объекта while ($row = $query->fetch(PDO::FETCH_OBJ))  echo $row->login."
";
>

Здесь мы обращаемся к объекту $row по login.

В данном случае код выведет также логин всех, кто есть в таблице.

Выборка данных по параметру + защита

Мы можем выбирать определённые данные из таблицы. Например, мы можем выбрать все записи, где pass = 123, и тому подобные.

Вот первый пример выборки по логину + защита:

$login = 'Andre'; // Подставиться вместо знака вопроса $sql = 'SELECT * FROM users WHERE login = ?'; // Формируем запрос $query = $pdo -> prepare($sql); // Возвращает объект $query -> execute([$login]); // В скобках указываем то, что заменит знак вопроса. // Также перебираем массив, но теперь в массиве только те строки, где login = Andre while ($row = $query->fetch(PDO::FETCH_ASSOC))  echo $row['id']; > 

Можно указать несколько вопросительных знаков, а в execute перечислить замены для них через запятую.

Вот второй пример выборки по логину + защита:

$login = 'Andre'; // Подставится вместо :login // Формируем запрос с помощью ключа $sql = 'SELECT * FROM users WHERE login = :login'; $query = $pdo -> prepare($sql); // Возвращает объект // В кавычках нужно указать ключ, который мы указали в запросе. // А после передать значение, которое должно подставится. $query -> execute(['login' => $login]); // Также перебираем массив, но теперь в массиве только те строки, где login = Andre while ($row = $query->fetch(PDO::FETCH_ASSOC)) echo $row['id']; >

Можно указать несколько ключей, а в execute перечислить замены для них через запятую в формате ‘ключ’ => значение .

Второй способ использовать предпочтительнее, так как читаемость и понятность кода более понятна, чем в первом примере, но использовать можно два способа.

Вставка данных по параметру + защита

$login = 'Lorem'; // Подставиться вместо :login $pass = 444; // Подставиться вместо :pass // Формируем запрос с помощью ключей $sql = 'INSERT INTO users (login, pass) VALUES (:login, :pass)'; $query = $pdo -> prepare($sql); // Возвращает объект // В кавычках нужно указать ключи, которые мы указали в запросе. // А после передать значение, которое должно подставится. $query -> execute(['login' => $login, 'pass' => $pass]);

Теперь можем проверить таблицу. Видим, что всё сработало правильно.

Обновление данных по параметру + защита

$id = 7; // Подставиться вместо :id $pass = 222; // Подставиться вместо :pass // Формируем запрос с помощью ключей $sql = 'UPDATE users SET pass = :pass WHERE '; $query = $pdo -> prepare($sql); // Возвращает объект // В кавычках нужно указать ключи, которые мы указали в запросе. // А после передать значение, которое должно подставится. $query -> execute(['pass' => $pass, 'id' => $id]);

Теперь можем проверить таблицу. Видим, что всё сработало правильно.

Заключение

Как видите, работать с PDO довольно легко. Теперь вы сами можете создавать веб-сайты с базами данных.

Надеюсь, что вам понравилась статья, и вы получили новые знания.

Всем спасибо за внимание!

Источник

Читайте также:  Html body background image border
Оцените статью