Создание массива из результатов запроса

  • Автор темы Илья Кyкyшкин
  • Дата начала

Илья Кyкyшкин

Guest
Создание массива из результатов запроса

PHP Version 4.3.9
MySQL 3.23.53-max

Подскажите, как сделать массив из результатов запроса. Все что я смог найти в документации и FAQ касательно моего вопроса сводилось к выводу данных массива в цикле, либо к выводу первой строки, а как сделать полный массив без вывода строк я не нашел.

PHP:
$query0 =  "SELECT call_id FROM call_ring";
$result0 = mysql_query($query0);
$tmp = mysql_fetch_row($result0);
$row = implode(" , ", $tmp);
print $row; // возвращает только первое значение, хотя их должно быть три.
 

Фанат

oncle terrible
Команда форума
ты просто не там смотрел
читай документацию про массивы http://www.php.net/manual/ru/language.types.array.php
и смотри, как правильно присваиать значение новому элементу массива.

В качестве домашнего задания прочти документацию на функцию explode, и посмотри - какого типа должен быть второй параметр. А ты ему что суёшь?

-~{}~ 18.04.05 09:41:

проблема твоя в том, что ты не умеешь абстрагировать задачи.
естественно, что не к mysql, ни к выборкам проблема твоя не имеет никакого отношения.
ты не умеешь добавлять элементы в массив. Вот и надо было тренироваться безо всяких выборок. если не получается - то задать вопрос "как добавить элемент в массив?" и не на форуме по MySQL, а на форкме по пхп.
 

Илья Кyкyшкин

Guest
Можно эту тему перевести в форум " Всё о программировании на РНР"?
 

Фанат

oncle terrible
Команда форума
можно.
но вопрос, в каком форуме вопрос - не самый важный. Это только следствие. Гораздо важнее, чтобы ты сам чётко понимал свою проблему. Тогда, скажу я тебе по секрету, тебе и форум не понадобится.

У тебя ещё какие-то вопросы остались?
 

Илья Кyкyшкин

Guest
Конечно остались... Сейчас изучаю инструкцию по Вашей ссылке. И попутно пытаюсь экспериментировать. Возможно и не будет больше вопросов.

-~{}~ 18.04.05 13:01:

Я понял свое непонимание: я думал что функция mysql_fetch_row создает массив и заполняет его всеми записями, а оказывается создается только первая запись, а индексы массива это поля а не сами записи . Поэтому нужно включить ее в цикл и при каждой итерации значение первого индекса [0] присваивать уже отдельным индексам другого массива.

Мой код получился таким:
PHP:
 while ($tmp=mysql_fetch_row($result0)) {
   $arr[]=$tmp[0];
 }
$row = implode(" , ", $arr);
print $row;
Мой вывод, что с функцией mysql_fetch_row в любом случае нужно работать только в цикле, правильно?
 
Сверху