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

Вывод данных из MySql на PHP

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

Первое, что нам следует сделать для того, чтобы получить данные из таблицы базы данных, — установить соединение с БД.

Извлечь данные из таблицы MySql

После того, как мы установили соединение с БД, c помощью запроса можно получить данные из любой таблицы. А с помощью цикла while их вывести.

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

mysqli_connect

mysqli_connect(, , , ) — устанавливает соединение с базой данных.

mysqli_query

mysqli_query(, ) — выполняет запрос к БД, написанный на языке SQL.

mysqli_fetch_array

mysqli_fetch_array() — поочередно возвращает по одной строке из результата запроса.

Вывод переменной врутри строки

Заметьте, что если вы выводите строку оператором echo и строка заключена в двойные кавычки (именно двойные), то внутрь строки можно вставлять переменные в фигурных скобках и они будут подставленны в этот шаблон. Круто, да?

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

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

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

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

Источник

Обработка результатов запросов

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

Описываем нужный SQL-запрос и помещаем его в переменной $sql .

Затем выполняем запрос к базе данных с помощью метода query объекта mysqli.

Если ошибок нет — получим объект mysqli_result , который сохраняется в переменной $result .

Если же в SQL-запросе присутствуют ошибки — метод query вернет FALSE ,

тогда с помощью оператора throw генерируем исключение, которое обрабатываем с помощью Exception .

// устанавливаем соединение с базой данных newDB (создаем экземпляр класса new mysqli())
$conn = new mysqli($servername, $username, $password, $dbname);

// SQL-запрос
$sql = «SELECT * FROM users «;

// запрос к базе данных
$result = $conn->query($sql);

if ($result === FALSE) <
throw new \Exception(‘Ошибка в SQL-запросе!’);
>else <
echo «Выполнено:

«;
>

Получение данных одной строки в виде ассоциативного массива:

Получение данных одной строки в виде индексированного массива:

Получение данных одной строки в виде объекта:

$entries = array();
while ($entry = $result->fetch_object()) <
$entries[] = $entry;
>

Получение всех строк в виде ассоциативного массива:

Если результат не содержит количество результатов выборки — num_rows , выведем: «Нет результатов».

Выражение $result->$num_rows — получает число рядов в результирующей выборке

if (!$result->num_rows) <
echo «Нет результатов:

«;
>

Описываем нужный SQL-запрос и помещаем его в переменной $sql .

Затем выполняем запрос к базе данных с помощью функции mysqli_query($conn, $sql) и помещаем результат в переменную $result

// устанавливаем соединение с базой данных newDB
$conn = mysqli_connect($servername, $username, $password, $dbname);

// SQL-запрос
$sql = «SELECT * FROM users»;

// запрос к базе данных
$result = mysqli_query($conn, $sql);

Эта функция возвращает одну запись выборки в виде индексированного массива:

Эта функция возвращает одну запись выборки в виде ассоциативного массива:

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

либо ассоциативный массив, либо массив, содержащий и индексы и строковые ключи:

$row = mysqli_fetch_array($result, MYSQLI_ASSOC);

Получение всего результата .

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

$row = mysqli_fetch_all($result, MYSQLI_ASSOC);

Если запрос к базе данных — выполнен, тогда выведем сообщение «Выполнено».

В противном случае выведем сообщение «Ошибка» и выведем информацию об ошибке mysqli_error($conn) :

if(mysqli_query($conn, $sql)) <
echo «Выполнено»;
>else <
echo «Ошибка:

» . mysqli_error($conn);
>

Выбираем данные из таблицы workers (Стиль ООП).

$servername = «localhost» ;
$username = «root» ;
$password = «» ;
$dbname = «newDB» ;

// Устанавливаем соединение с сервером MySQL:
$conn = new mysqli ( $servername , $username , $password , $dbname );

// Проверка соединения:
if ( $conn -> connect_error ) die ( «Не удалось подключиться: » . $conn -> connect_error );
>
echo «Соединение успешно установлено» ;

//1. Выбрать значения всех полей из таблицы workers:
// $sql = «SELECT * FROM workers «;

//2. Выбрать значения всех полей из таблицы workers, где >
// $sql = «SELECT * FROM workers WHERE >

//3. Выбрать значение поля id из таблицы workers, где значение поля name = ‘Иван’:
// $sql = «SELECT id FROM workers WHERE name = ‘Иван'»;

//4. Выбрать значение поля name из таблицы workers, где id > 5:
// $sql ;

//5. Выбрать значения всех полей из таблицы workers,
// где значение поля name = ‘Сидор’ И значение поля age > 30:
// $sql ;

//6. Иногда нужно указать много значений:
$sql = «SELECT name FROM workers WHERE AND AND >;

// Выполнение запроса
$result = $conn -> query ( $sql );

// Проверка выполнения запросов
if ( $result === FALSE ) throw new \ Exception ( ‘Ошибка в SQL-запросе!’ );
> else <
echo «Выполнено:

» ;
>

// получить все строки в виде ассоциативного массива
$entries = $result -> fetch_all ( MYSQLI_ASSOC );

// num_rows содержит количество результатов выборки
if (! $result -> num_rows ) echo «Нет результатов:

» ;
>

// закрываем соединение
$conn -> close ();
?>

Источник

Редактирование данных в 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Я ВКонтате

Источник

Читайте также:  Кэш java windows 10
Оцените статью