Можно ли получить выделенные поля одним запросом (одной строкой) в один массив.

  • Автор темы Автор темы Schwejk
  • Дата начала Дата начала

Schwejk

Новичок
Можно ли получить выделенные поля одним запросом (одной строкой) в один массив.

Всем привет.
Объясню на примере суть вопроса:
Есть таблица table с 15 записями, к примеру, делаем запрос
PHP:
$query="SELECT * FROM table";
за тем чтобы получить эти запись ОБЫЧНО делаю так
$mq=mysql_query($query);
while ($table=mysql_fetch_array($mq)) {
  $table['name'];
  ....
}
То есть я перебираю одно за другим.
А возможно такое, чтобы получить одной строчкой результат выполнения запроса. Ну то есть
PHP:
$table=функция($mq); // и в массиве $table уже содержится все 15 записей
 
Я бы на вашем месте разобрался, что делает код в каждой строке.
 
а я бы на вашем месте, простите, молчал, если бы не мог дать вразумительных ответов.
Пусть простит на модератор...
 
Schwejk
1. Угомонитесь. Не хамите.

2. Зачем это нужно?
 
Напишите ету функцию если она вам нужна в чём проблема?
Выглядеть она будет приблизительно так:
PHP:
function get_result($res)
{
    for($i=0;$i<mysql_num_rows($res);$i++)
    {
     $table[$i]=mysql_fetch_assoc($res);
    }
    return $table;
}


ИМХО: смысла в етом действии нет ибо в первом случае мы выполняем прогон по всему результату с обработкой/выводом данных. А при использовании такой функции сначала прогоняем и вносим всё в массив а потом проходим по тому же массиву.
 
Schwejk
Я думаю, что ответ на вопрос да/нет Вы можете найти самостоятельно в мануале.
[m]mysql[/m]

-~{}~ 04.11.07 14:16:

TutanXamoN
Schwejk

И где здесь

То есть я перебираю одно за другим.
А возможно такое, чтобы получить одной строчкой результат выполнения запроса.
?
:)
 
Истинный дипломат всегда может убедить человека что ему нужно совсем не то что ему кажеться было нужно а совсем то что получилось.
 
Автор оригинала: Mr_Max
Schwejk
Я думаю, что ответ на вопрос да/нет Вы можете найти самостоятельно в мануале.
[m]mysql[/m]

-~{}~ 04.11.07 14:16:

TutanXamoN
Schwejk

И где здесь


?
:)
В цикле
while ($table=mysql_fetch_array($mq)) {
....
}
вот этот цикл равен все равно, что 15 раз написать
$table=mysql_fetch_array($mq))
print $table['name']; // здесь будет одно
$table=mysql_fetch_array($mq))
print $table['name']; // здесь будет другое уже
// ну если конечно эти записи уже изначально разные :)
 
Функции БД работают со строками.
"Волшебной" ф-ции работы с БД, которая достанет сразу всё - нет.

-~{}~ 04.11.07 14:31:

я интуитивно догадываюсь, что Вы хотели спросить.
И свой ответ Вы уже получили.

Но впредь, когда у Вас спрашивают "Зачем?"
потрудитесь обяснить зачем. ;)

-~{}~ 04.11.07 14:34:


-~{}~ 04.11.07 14:35:

implode
 
Автор оригинала: Mr_Max
Функции БД работают со строками.
"Волшебной" ф-ции работы с БД, которая достанет сразу всё - нет.

-~{}~ 04.11.07 14:31:

я интуитивно догадываюсь, что Вы хотели спросить.
И свой ответ Вы уже получили.

Но впредь, когда у Вас спрашивают "Зачем?"
потрудитесь обяснить зачем. ;)

-~{}~ 04.11.07 14:34:



-~{}~ 04.11.07 14:35:


implode
В общем на самом деле долгая история. Есть 1 таблица в ней каждая запись это определенный каталог, у каждой записи есть id_catalog и id_parent. 1 Это уникальный идентификатор каталога, а второе индекс указывающий кокому каталогу принадлежит текущий каталог. Так вот Получился каталог с бесконечным вложением. К нему еще одну таблицу привязал - что будет хранится в этих каталогах . Ну так вот проблема была в том, чтобы подсчитать сколько в том или ином каталоге хранится записей 2-й таблицы.
 
Сверху