Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   Чтото не врублюсь... (http://forum.oszone.net/showthread.php?t=31105)

FADE 03-07-2004 18:06 213291

почему при такой комбинации

Код:

<?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 213292

FADE
а в чем собственно пробюлемма???
(прошу ставить вопрос конкретнее)

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

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

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

Grinvich 04-07-2004 13:24 213293

Начнём с того, что результат запроса - это массив.

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

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

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


Время: 00:23.

Время: 00:23.
© OSzone.net 2001-