положить в массив результат mysql_fecth_array

spiner

Новичок
положить в массив результат mysql_fecth_array

Есть код:
PHP:
//здесь работающий запрос $firms
for ($i=0; $i<mysql_num_rows($firms); $i++)
{
$mass=mysql_fetch_array($firms);
$name_c=$mass['name'];
$car[] = array("$name_c");
}
Допустим результатом mysql_num_rows($firms)=2;
Длина массива $car тоже равняется 2-м.. Но я не к этому.. Если сделать print_r($car), то видно:
Array
( [0] => Array ( [0] => name1 ) [1] => Array ( [0] => name2 )
)
Не пойму почему, массив многомерный ...
Как сделать, чтобы массив $car был одномерным вида:
Array (
[0] => name1
[1] => name2
)
Спасибо.
По-моему тему по-дибильному назвал..
Но не знаю как по-другому..
 

Фанат

oncle terrible
Команда форума
Не пойму почему, массив многомерный ...
наверное, потому, что ты кладёшь в него массив?

-~{}~ 23.11.05 01:16:

тебе надо положить в массив $car переменную $mass['name']
ну так и клади.
зачем все остальные телодвижения?

-~{}~ 23.11.05 01:16:

кстати, и много у тебя элементов в массиве будет?
 

spiner

Новичок
Фанат
Пока пробую как сделать..
Пробую вот так:
PHP:
$car[] = array($mass['name']);
тоже самое.. правда наверное это баш на баш.. буду думать
кстати, и много у тебя элементов в массиве будет?
Может быть много, очень много..
 

spiner

Новичок
Фанат
спасибо!
PHP:
$car[] = $mass['name'];
кстати, и много у тебя элементов в массиве будет?
А почему вы спросили об этом?

Я спросил об этом, т.к. я потом буду применять к этому массиву array_unique()...
 

Фанат

oncle terrible
Команда форума
потому, что для "много, очень много" элементов у тебя база данных.
а если ты всю её перекачиваешь в массив, значит ты чтото делаешь неправильно.
 

spiner

Новичок
Фанат
значит ты чтото делаешь неправильно.
Может быть.. Но есть две таблицы.. Разного содержания, но у них есть общее поле id. Мне надо вывести id из этих двух таблиц по какому-либо запросу..
Так вот, эти id могут запросто совпадать. А мне их надо вывести без повторений.. В одном запросе к базе эту задачу нельзя написать..
Поэтому я складываю в массив результаты двух сложных запросов, а потом удаляю из него повторяющиеся..вот..
 

spiner

Новичок
Фанат

Как вы так можете уверенно говорить, не зная структуры БД?
 

Фанат

oncle terrible
Команда форума
я могу так уверенно говрить исходя из того, что:
1. Я знаю, что такие проблемы решаются средствами базы данных. Должны решаться. Если не решаются - это значит, что криво спроектирована база.
2. я вижу уровень твоих вопросов, судя по которому ты так делаешь по незнанию, а не исходя из реальной необходимости.

Если ты расскажешь, зачем тебе это понадобилось - подробно расскажешь - что за таблицы, какая между ними связь, что делает эта выборка - то тебе объяснят, как это делается правильно.
 

Фанат

oncle terrible
Команда форума
union - такая же затычка, как и твои массивы в скрипте
 

Фанат

oncle terrible
Команда форума
потому, что она не использует никакие преимущества РЕЛЯЦИОННОЙ бд, а тупо кидает в одну кучку содержимое двух таблиц, точно так же, как твой скрипт на пхп.
 

zarus

Хитрожопый макак
SELEcT distinct (
select ...
union
select ...
)
вот и весь запрос, главное чтобы "пчелы делали правильный мед"
 

spiner

Новичок
http://dev.mysql.com/doc/refman/4.0/ru/union.html

Если не используется ключевое слово ALL для UNION, все возвращенные строки будут уникальными, так как по умолчанию подразумевается DISTINCT для всего результирующего набора данных. Если указать ключевое слово ALL, то результат будет содержать все найденные строки из всех примененных команд SELECT.
 
Сверху