Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Помогите разобраться с массивами в результате запроса Mysql

428
01 апреля 2005 года
covex
49 / / 20.06.2000
3 день не могу понять принцип работы следующей конструкции:

<?
mysql_select_db($db,$sock);
$result=mysql_query("SELECT * FROM `base` WHERE `id` = '$id' AND `ip` = '$ip'",$sock);
WHILE ($row=mysql_fetch_array($result, MYSQL_ASSOC)){
$id=$row["id"];
$ip=$row["ip"];
}
?>

Все видят ассоциативный массив $row. Мне не понятно как здесь работает WHILE. от какого значения он начинает цикл на каком значении он прекращает свою работу....

в моем представлении (псевдографическом)массив должен выглядеть после выполнения SELECT так :

id ip
1 x y.y.y.y.
2 x y.y.y.y.
3 x y.y.y.y.
4 x y.y.y.y.
5 x y.y.y.y.

Как выдернуть тогда значение ip из 5 строчки?
Или как упорядочить этот массив по ip?
Вообще мое представление о массиве полученного после select, правильное или как.

В целом запутался я с этими массивами.
Если не запихивать $row=mysql_fetch_array($result, MYSQL_ASSOC) в WHILE то как получить доступ к данным.
6.2K
01 апреля 2005 года
pull-push
55 / / 25.10.2004
While начинает работу с первой записи в результате запроса и заканчивается как только доходит до последней записи результата.
чтобы выдернуть строчку результата с конкретным номером, используй mysql_data_seek() и дальше mysql_fetch_row()
291
01 апреля 2005 года
gufy
703 / / 08.01.2003
просто mysql_fetch_array делает свое дело: читает следующую запись из ответа сервера mysql, после чего возвращает true, если смогла все сделать и false, если не смогла. не может как правило потому что больше записей нет.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог