Организовать подключение к СУБД MySQL при помощи функций PHP.

Лабораторная работа № 6

Введение в web-программирование. Разработка клиентского интерфейса БД

 

Цель работы: приобрести практические навыки работы с СУБД MySQL, научиться строить простейшие веб-приложения с использованием языка программирования PHP.

 

Задание:

1. Изучить БД internet_shop, ознакомиться с основными таблицами. Осуществить запросы на выборку и добавление данных в соответствующие таблицы. Перечислить использованные запросы, оформив их в виде текстового документа.

Для доступа к веб-серверу выполнить следующие действия:

Запустить ssh-клиент putty, указать ip-адрес 192.168.9.236. Далее ввести логин student <номер_варианта>(номер варианта назначается преподавателем) и пароль 321.

После подключения ввести команду

mysql --user=student —password

Или

Mysql – u student – p

после этого ввести пароль 321.

После этого выбрать базу данных internet_shop, введя следующую sql-команду:

Use internet_shop

Просмотреть структуру базы данных можно, введя команду:

show tables;

Просмотреть структуру конкретной таблицы можно, введя команду:

show columns from < название _ таблицы >;

БД internet_shop имеет следующую структуру:

Ниже дается текстовое описание БД, включающее расшифровку назначения определенных полей БД.

Таблица Клиенты (clients)

Cl_id — индекс

firstName — имя

lastName — фамилия

sex — пол

nickName — логин, ник

phone — телефон

email — электронная почта

 

Таблица Производители (manufacturers)

Man_id — индекс

name — название

establish_date — дата основания

 

Таблица Продукты (products)

Pr_id — индекс

name — название

price — цена за единицу

Man_id — производитель (внешний ключ)

 

Таблица Заказы (orders)

Ord_id — индекс

Cl_id — клиент (внешний ключ)

date_of_order — дата заказа

total_sum — общая сумма заказа

 

Таблица СведенияОЗаказах (orders_summary)

Ord_s_id — индекс

Ord_id — заказ (внешний ключ)

Pr_id — продукт (внешний ключ)

count — количество единиц продукта

 

Осуществите следующие операции вставки в БД:

1.1. Добавьте производителя(-ей);

1.2. Добавьте несколько новых товаров по Вашему желанию;

    1.3. Добавьте нового клиента;

    1.4. Добавьте новый заказ, произведенный добавленным в пункте 1.3 клиентом с включенными в него товарами из пункта 1.2.

1.5. Добавьте записи в таблицу orders_summary, соответствующие заказу из пункта 1.4.

 

Осуществите следующие операции выборки из БД:

    1.1. Выберите всех клиентов и отобразите следующие поля запроса: имя, фамилия, пол и логин.

    1.2. Выберите всех клиентов-женщин с телефоном, начинающимся на цифру 2.

    1.3. Выберите всех клиентов-мужчин, имеющих в никнейме букву f, упорядочите их по алфавитному порядку их никнеймов (в порядке возрастания).

    1.4. Выберите всех клиентов, оформивших заказ заданного числа.

    1.5. Выберите все продукты, стоимость которых находится в интервале от 50 до 100 рублей, упорядочьте их по названию (в порядке убывания).

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

    1.7. Определите общее количество товаров, представленных заданным производителем.

        

- Выборка из БД осуществляется с помощью команды SELECT.

    Пример: необходимо выбрать поля field1 и field2 таблицы tbl1.

    Решение : SELECT field1, field2 FROM tbl1;

 

    Пример: необходимо выбрать все поля из таблицы tbl1.

    Решение: SELECT * FROM tbl1;

 

    Пример: необходимо выбрать все записи из таблица tbl1, для которых значение поля field1 не превышает 5.

    Решение : SELECT * FROM tbl1 WHERE field1 <= 5;

    Пример: упорядочить данные запроса из таблицы tbl1 по алфавитному порядку поля field1 (в порядке возрастания)

    Решение : SELECT * FROM tbl1 ORDER BY field1 ASC;

Для сортировки по убыванию использовать DESC.

    Пример: подсчитать общее количество записей заданной таблицы.

    Решение: SELECT COUNT(*) FROM tbl1;

 

    Пример: выбрать записи из таблицы для поля, удовлетворяющего заданному паттерну.

    Решение: SELECT * FROM tbl1 WHERE field1 LIKE 'a%' (выбираем все данные для поля, начинающегося на «a».

 

- Вставка в базу данных выполняется с помощью команды INSERT INTO:

 

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

 

Организовать подключение к СУБД MySQL при помощи функций PHP.

Перейдите в свою домашнюю папку на сервере. Создайте в ней директорию html и создайте внутри файл index . php с содержимым:

 

<html>

<body>

    <H1>Hello, world!</H1>

</body>

</html>

 

Сохраните полученный файл. Откройте любой браузер по желанию и введите в адресной строке 192.168.9.236/ std <номер>, где <номер> - этопоследние цифры в вашей учетной записи. При необходимости введите student – student на запрос прокси-сервера.

Убедитесь в корректности результата. Отредактируйте файл следующим образом:

 

<html>

<body>

<?php

         phpinfo();

    ?>

</body>

</html>

 

После обновления страницы вы увидите информацию об установленном интерпретаторе php на сервере.

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

 

<?php 

function setConnection()

{

  $main_login = < логин >;

$main_password = < пароль >;

$dbname = < название БД >;

$dblocation = < расположение БД >;          

//$dbcnx = mysql_connect($dblocation,$main_login,$main_password);

$connection = mysqli_connect($dblocation,$main_login,$main_password);

mysqli_select_db($connection, $dbname);       

$query = "Set names utf8";

$result = mysqli_query($connection, $query);

return $connection;

}

?>

 

Организуя соединение, можно формулировать запросы к БД, например, так:

 

'SELECT prs_id, prs_surname, prs_name, prs_patronymic, ntn_id

FROM person

WHERE ntn_id = 10';

$result = mysqli_query($connection, $query);

 

Далее данные могут быть записаны в ассоциативный массив:

 

$outputArray = array ();                 

if (mysqli_num_rows($result) != 0)

{

while ($row = mysqli_fetch_assoc($result)) {

   array_push($outputArray,array(                  

       0 => $row['prs_id'],

       1 => $row['prs_surname'],

       2 => $row['prs_name'],

       3 => $row['prs_patronymic'],

       4 => $row['ntn_id']

   ));

}       

}

 


Дата добавления: 2021-12-10; просмотров: 23; Мы поможем в написании вашей работы!

Поделиться с друзьями:




Мы поможем в написании ваших работ!