Отправляет email-рассылки с помощью сервиса Sendsay

[TC] mysql и php. использование идентификатора результата запроса

Здравствуйте, уважаемые!

Есть сценарий, выбирающий из таблицы записи о шахматной партии: имя белых, черных,
пароль. Затем результат выводится с помощью цикла. Но вот не задача: написал
в учебных целях сразу три цикла по разному извлекающими и выводящими результат.
Но почему-то работает из них только первый. Стоит удалить первый из них - как
начинает работать второй, который стал теперь первым. Когда перед каждым циклом
скопировал строку, возвращающую идентификатор результата запроса, стали работать
все три цикла одновременно. Почему так и можно ли обойтись без тупого повторения
запроса? привожу отрывок:

$l=new mysqli($DBHost, $DBUser, $DBPass, $DBName);
$q="SELECT `name1`, `name2`, `pass` FROM `games` WHERE `pass` LIKE '%002%'";
$num=$r->num_rows;

//повторяемая строка запроса
$r=$l->query($q);

for ($i=1; $i <= $num; $i++) {
$row=$r->fetch_assoc();
echo $i.' '.$row['name1'].' играет с '.$row['name2'].' с паролем '.$row['pass'].'<br

}

for ($i=1; $i <= $num; $i++) {
$myobj=$r->fetch_object();
echo $i.' '.$myobj->name1.' играет с '.$myobj->name2.' с паролем '.$myobj->pass.'<br

}

for ($i=1; $i <= $num; $i++) {
list($name1, $name2, $pass)=$r->fetch_array();
echo $i.' '.$name1.' играет с '.$name2.' с паролем '.$pass.'<br />';
}

Грызунов Александр. Самара.

Ответить   "eastreb" Sun, 16 May 2010 09:58:29 +0500 (#1077077)

 

Ответы:

Приветствую всех.
Александр пишет:

Это не так. Работают все три цикла. Однако после того, как первый цикл дочерпал
до дна текущий результат, двум оставшимся циклам делать уже нечего.
Попробуйте перед вторым и третьим циклами поставить строку

Успехов. Анатолий.

Ответить   "i_chay" Sun, 16 May 2010 14:19:30 +0400 (#1077184)