MySQL и ООП

компьютеры MySQL sql БД ООП

В классе создан метод, который выдирает из БД несколько строк данных.
Как мне на выходе метода подать все данные?
$r=mysql_fetch_array($result);
return $r;
Выдает только первую строку.

Нужно на выходе подать именно несколько строк, при этом в итоге их надо использовать в разных частях документа, поэтому конструкция

while($r=mysql_fetch_array($result)) {
echo "<li><a href=/recipe/$r[alias]>$r[name]</a></li>";
}

не подойдет. Как решить эту задачу?


Примечание:
Мдее

Примечание:
Дурака никто не валяет -)

Дело в указателе. Он считывает только одну строку...

Примечание:
Артем Спаский, думаю так сработает... Проверить уже не могу..
Ответы:
Можешь затолкать это всё в переменную у которой область видимости шире, а потом трахать её как тебе заблагорассудиться ;)
Самый простой вариант
$res=array();
while($r = mysql_fetch_array($result))
$res[] = $r;
В результате - массив с данными
....
$res = array();
while($r=mysql_fetch_array($result)) {
$res[] = $r;
}
return $res;
Простите, не в том плане понял вопрос, за раз только одну строку считывает поэтому у вас и печатается одна строка, таков уж механизм функции которую вы используете, поэтому задействован цикл, если вы будете вбивать прямо в цикле извлечённые данные в другой массив область действия которого гораздо шире нежели тех переменных которые входят в метод вы думаю сможете потом использовать все данные.  
Нечто подобное кстати предложил Артем Спаский :) И кстате что я коротко упомянул в первом ответе, простите недостаточно ясно ;)
$arr=array();
$r=mysql_fetch_array($result);
do
{
    $arr[]=$r;
}
while($r=mysql_fetch_array($result));
return $arr
$arr=array();
$r=mysql_fetch_array($result);
do
{
    $arr[]=$r;
}
while($r=mysql_fetch_array($result));
return $arr


15 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.