КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Вывод БД на экран
Теория Лабораторная работа № 2 Задание К созданному Вами сайту, подключаете базу данных с помощью php скриптов. База данных создается в phpmyadmin. БД должна содержать минимум одну таблицу. Одна из таблиц содержит минимум 5 полей со следующими типами полей: 1. Первое поле это ключевое поле, значение которого уникально и не повторяется нигде в БД. Имеет тип Bigint. 2. Второе текстовое поле типа varchar(указать мин. элементов) 3. Следующие поля должны быть типа: float (значение с плавающей точкой); Int – целое значение; Data – дата. Содержимое БД нужно вывести на страницу сайта. Должна быть реализована возможность через сайт добавлять, удалять и сортировать поля БД.
Для реализации взаимодействия языка PHP и СУБД MySQL существует множество встроенных функций. К наиболее популярным относятся функции для подключения к базе данных MySQL, записи данных в базу данных, а для также чтения и вывода содержимого таблиц. Для устойчивого подключения к серверу MySQL в языке PHP используется функция mysql_pconnect.
Синтаксис:
mysql_pconnect ([string host[:port][:/socketpath]], [string user], [string password]), $connect =mysql_pconnect ([string host[:port][:/socketpath]], [string user], [string password]),
где host[:port][:/socketpath]] - полный адрес узла, на котором размещен сервер MySQL, user - имя пользователя базы данных, password - пароль для входа в базу данных.
Функция mysql_pconnect устанавливает устойчивое сетевое соединение с базой данных MySQL, расположенной на хосте “$host”, и возвращает идентификатор открытого соединения. При регистрации указывается имя пользователя “$user” и пароль “$password”.
Как альтернативу можно использовать функцию mysql_connect, которая делает практически то же самое. Отличие состоит в том, что mysql_connect устанавливает непостоянное соединение с базой данных.
Синтаксис:
Mysql_connect ([string host[:port][:/socketpath]], [string user], [string password]),
$connect = mysql_connect ([string host[:port][:/socketpath]], [string user], [string password]), где host[:port][:/socketpath] - полный адрес узла, на котором размещен сервер MySQL, user - имя пользователя базы данных, password - пароль для входа в базу данных. По умолчанию, на mysql-сервере в таблице пользователей есть пользователь root, который может иметь доступ только с localhost-а, т.е. с того же самого компьютера, где стоит сервер mysql. ВНИМАНИЕ! "Иметь доступ с localhost" значит, что доступ имеет ваш скрипт PHP, а вы можете обращаться к нему с любого другого компьютера. Функция mysql_connect устанавливает сетевое соединение с базой данных MySQL, расположенной на хосте “hostname”, и возвращает идентификатор открытого соединения. При регистрации указывается имя пользователя “username” и пароль “password”. С началом выполнения вашего скрипта, php выделяет в своей памяти место для информации о нём и его переменных. В информации о выполняемом скрипте хранится, в том числе, и информация о соединениях с базами данных. Переменная $connect - указатель на место, где данная информация хранится. Переменная эта точно такая же, как и остальные - если вы используете функции, то надо объявлять глобальные переменные, чтобы обратиться к ней. При попытке запуска следующего соединения с теми же самыми аргументами, второе соединение не будет открыто, а функция возвратит идентификатор уже существующего.
Соединение с базой данных закрывается, когда сценарий завершает свое выполнение или когда обращается к функции mysql_close.
Синтаксис:
mysql_close(database_connection), где database_connection - соединение, которое получено в функции mysql_connect.
Для работы с базой данных MySQL необходимо также указать, какая база данных нужна. Это можно сделать с помощью функции mysql_select_db.
Синтаксис:
mysql_select_db(string database, [ database_connection]), где database - имя выбираемой базы данных, database_connection - соединение, которое получено в функции mysql_connect.
Механизм работы функций запросов к БД такой же, как и у функции соединения: функции передаются параметры запроса и (если надо) соединения, а результат записывается в переменную: Синтаксис: mysql_query(string query, [int database_connection]), где query - строка, содержащая запрос, database_connection - соединение, которое получено в функции mysql_connect. $result = mysql_db_query(string база данных, string запрос [, переменная соединения]); или $result = mysql_query(string запрос [, переменная соединения]); Если параметр “database_connection” опущен, используется последнее открытое соединение. Если открытые соединения отсутствуют, функция пытается соединиться с СУБД, аналогично функции mysql_connect без параметров. При этом результат запроса буферизируется.
При работе с базами данных может возникнуть ситуация, когда потребуется узнать количество записей, участвующих в запросе с SQL-операторами INSERT, UPDATE, DELETE. Это можно сделать с помощью функции mysql_affected_rows.
Синтаксис:
mysql_affected_rows (database_connection]), где database_connection - соединение, которое получено в функции mysql_connect.
Функция mysql_num_rows определяет количество записей, возвращаемых оператором SELECT.
Синтаксис:
mysql_num_rows(result),
где result - результат.
Ниже представлен пример совместной работы языка РНР с базой данных СУБД MySQL “PRODUCT”
Создадим базу данных под названием product и в этой базе создали таблицу под названием tovars со следующими столбцами: 1. inc -это ключевое поле или код, т.е. поле, значение которого уникально и нигде во всей базе не повторяется.Это сделали с помощью того, что это поле автоинкремент, т.е. при вводе новой строки в базу текущее значение этого поля равно значение предыдущего поля этого столбца плюс 1. Тип этого поля: Bigint -не скоро мы переберем все возможные значения. 2. naim - в этом столбце мы указываем название товара. Тип поля: varchar(20) - т.е. строка не более 20 символов. 3. cena -в этом столбце мы указываем цену товара. Тип поля: float -т.е. число с плавающей точкой. 4. kol -это количество товара. Тип поля: int -целый тип. 5. srok - это срок годности продукта. И тип этого поля: date -т.е. дата. Создадим программу, которая будет вносить данные в нашу базу данных. В начале создадим форму для ввода данных: <html>
вот, что у нас получится:
затем нам надо скрипт php, который будет проверять корректность ввода данных и в правильном формате вводит эти данные в базу данных. Окончательный текст файла будет такой:
<?php $result = mysql_query($sql) or die("Query failed");;
Вот текст файла: uspex.php <HTML>
После правильного ввода всех данных и нажатия на кнопку «ввести» мы увидим следующее:
Данные в базу данных введены. Но с ними необходимо как-то работать. Допустим возникла необходимость просмотреть всю базу в браузере. Для этого необходимо написать примерно следующий код:
<html> $query="SELECT * FROM tovars "; $result = mysql_query($query) or die("Query failed"); }?>
Реализована возможность удалить записи следующим образом: <?php Header("Location: uspex.php?i=2");
Дата добавления: 2015-05-10; Просмотров: 758; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |