русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Получение результата


Дата добавления: 2013-12-23; просмотров: 1157; Нарушение авторских прав


Рассмотрим какой-нибудь запрос к MySQL в РНР-программе:

$result = mysql_query("SELECT * FROM people WHERE name!=' ' ORDER BY id")

or die(mysql_error());



После того как запрос выполнен, идентификатор результирующего набора данных помещен в $result. Результат (result-set) — это упорядоченный набор данных, полностью аналогичный двумерному массиву в РНР. А именно, результат представляет собой массив строк, каждая из которых состоит из одной или нескольких ячеек. Записи и поля в таблице не упорядочены и не могут быть извлечены, например, указанием их номера (такого номера просто не существует; для выборки необходимо составлять логическое wHERE-выражение). В то же время, результирующий набор данных — это всегда массив записей, или массив массивов ячеек.

В общем случае результирующий набор данных, соответствующий некоторой таблице, получается простым запросом "select * from таблица".

Количество строк, вошедших в результат, можно узнать при помощи функции mysql_num_rows(). Например, если при выборке из таблицы оказалось, что в таблице имеются 10 записей с непустым полем name, то мы в идентификаторе результата получим "ссылку" на 10 "строчек". Рассмотрим способы получения каждой строчки результата.

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

// распечатывание в браузер содержимое некоторой таблицы

<?php ## Получение результата запроса.

require_once "mysql_connect.php";

// Выполняем запрос.

$r = mysql_query('SELECT * FROM people ORDER BY id')

or die(mysql_error());



 

// Получаем весь результат в массив $data.

for ($data=array(); $row=mysql_fetch_assoc($r); $data[]=$row);

// Выводим массив на экран,

echo "<pre>"; print_r($data); echo "</pre>";

?>

В результате в массиве $data окажется список ассоциативных массивов. каждый такой массив состоит из пар имя_ячейки=>значение, где имя_ячейки — это имя поля в нашей таблице (id или name), а значение — соответствующее ему значение из очередной записи. Здесь используется функция mysql_fetch_assoc(), получающая очередную строку из результирующего набора данных.

array mysql_fetch_assoc (int $result)

Функция возвращает ассоциативный массив со значениями полей очередной строки результата $result. Если указатель текущей позиции результата был установлен за последней записью (т. е. строки кончились), возвращает false. Текущая позиция сдвигается к следующей записи, так что очередной вызов mysql_fetch_assoc() вернет следующую строку результата.

AS: переименование полей

Ключи в результирующем массиве обычно совпадают с именами полей в таблице, откуда было произведено извлечение данных. Однако запрос select позволяет производить переименование полей. Делается это при помощи конструкции AS:

$r = mysql_query('SELECT id AS number, name AS surname FROM people');

for ($data=array(); $row=mysql_fetch_assoc($r); $data[]=$row);

Теперь в $data окажется список ассоциативных массивов, соответствующих строкам в результате $r, однако, ключи этих массивов будут равны number и surname, а не id и name. Произошло переименование.



<== предыдущая лекция | следующая лекция ==>
Запись данных в базу данных | Получение отдельной ячейки результата


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.