Войти

Показать полную графическую версию : Чтото не врублюсь...


FADE
03-07-2004, 18:06
почему при такой комбинации


<?php

mysql_connect ('web','root','');

mysql_select_db('hcd');

$res=mysql_query("SELECT * FROM my_users") or die(mysql_error());

while ($row=mysql_fetch_array($res))
{
echo $row['username'], "<br>";
echo $row['PASSWORD'], "<br>";
echo $row['usermale'], "<br><br>";
}

?>


на экране будет:

Ivan_Taranov
pivoPIT
taranov@pivo.ru

Bochkarev
svetloe
bochkarev@pivo.ru

Klinskoe
fullklin
kto_poidet_za@klinskim.ru

а при такой

<?php

mysql_connect ('web','root','');

mysql_select_db('hcd');

$res=mysql_query("SELECT * FROM my_users") or die(mysql_error());

$row=mysql_fetch_array($res);

echo $row['username'], "<br>";
echo $row['PASSWORD'], "<br>";
echo $row['usermale'], "<br><br>";


только:

Ivan_Taranov
pivoPIT
taranov@pivo.ru

П.С.,
всегда WHILE обходил стороной... не нравится он мне, объясните что почем почему плиз))..

Vlad Drakula
03-07-2004, 22:35
FADE
а в чем собственно пробюлемма???
(прошу ставить вопрос конкретнее)

$res=mysql_query("SELECT * FROM my_users") or die(mysql_error());
(прозводит запрос к базе)

$row=mysql_fetch_array($res);
(читает строку из базы)

дело в том что результатом рапроса может быть несколько сторк как в твоем случае, вот и все, никто не говорил что у базы может быть только один пользователь!

Grinvich
04-07-2004, 13:24
Начнём с того, что результат запроса - это массив.

А WHILE - это оператор цикла. Он тебе выводит все результаты запроса (элементы массива), начиная от самого первого ( элемент массива с индексом [0] ) и до самого конца (до последнего элемента массива).

Без оператора WHILE выводится только самый первый результат - элемент массива с индексом [0].

Исправлено: Grinvich, 13:26 4-07-2004




© OSzone.net 2001-2012