Массив и while ...

igortik

Новичок
Массив и while ...

Доброго времени суток.

Ознакомился с: array_push

Задача:

В процессе выборки из базы данных создать массив из тех элементов, которые получил из базы.

Сразу большая просьба не пинать :)

Пытаюсь сделать так:

PHP:
$q = "SELECT * FROM `table` WHERE `sid`='$sid'";
	$yes = mysql_query($q);
	while ($myrow = mysql_fetch_array($yes))
	{
	$name = $myrow["name"];
	$count = $myrow["count"];
	
        $order[] = $name;

	}
Мне необходимо, чтобы все $name полученные из базы объединились в один массив.
В моем случае это не работает, уверен, что что-то не так делаю.

P.S. array_push также пробовал.
 

Фанат

oncle terrible
Команда форума
за год ты так и не выучил, что слова "не работает" здесь запрещено произносить?

-~{}~ 25.10.07 06:21:

Сразу большая просьба не пинать
сразу большая просьба. вместо невразумительного "не работает" писать человеческим языком:
- что хотел получить
- что сделал
- что получил
- что не устроило

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

igortik

Новичок
*****
Хотел получить:

При выборке из базы данных всех элементов $name заносить их в определенный массив, чтобы в дальнейшем можно было записать в 1 переменную и отправить по почте.
 

Фанат

oncle terrible
Команда форума
это все?
все что ты осилил?
последние два вопроса - что получил и что не устроило - слишком сложные?
 

igortik

Новичок
Получил:

$order[] имеет только 1 элемент, первый, т.е. первый $name из базы.

Не устроило: промолчу.

Попытаюсь еще раз сформулировать задачу:

- По определенному параметру я делаю выборку из базы данных
- Все поля name заношу в переменную $name и поочередно вывожу в браузер
- Необходимо отправить все полученные $name по e-mail
-- для этого мне необходимо создать массив из $name
-- после все элементы массива записать в переменную

-~{}~ 25.10.07 06:45:

Вопрос снят, спасибо *****у за очередной толчек к мышлению.

Проблему решил так:

т.к. пока выполняется while нужно было просто внести в цикл:

PHP:
$order .= $name;
$order .= " в колличестве: ";
$order .= $count;
$order в этом случае будет с каждым повтором наполнять себя.
 

ElGato

Новичок
Дык, работает оно.

sid - это идентификатор сессии?

Проверь что возвращает твой запрос, может он возвращает всего одну строку?
 

igortik

Новичок
*****
узнал, выводя в браузер $order[1] и при попытке вывести $order[2] ничего не получил.

$order[] - массив

-~{}~ 25.10.07 06:56:

ElGato
sid - да, идентификатор сессии

дело в том, что я так и не смог все в массив отправить, хотя, нашол иной метод наполнения нужной мне переменной, которая отправляется как часть формируемого письма :)
 

Pigmeich

Новичок
igortik используй var_dump() в следующий раз.

осутствие наличия индекса "2" ещё ни о чём не говорит.
 

Фанат

oncle terrible
Команда форума
igortik
$order[] - не массив. а оператор
если в массиве два элемента, то в переменной $order[2] ничего не будет.
документацию надо читать.
 
Сверху