Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Не могу обратиться к отдельным элементам ассоциативного массива по номеру в квадратных скобках.
 
 автор: ДацкыйКот   (19.08.2007 в 17:26)   письмо автору
 
 

Ситуация.
Делаю запрос к MySQL, затем, стандартным образом, присваиваю значения ассоциативному массиву:


$qres_order = mysql_fetch_assoc($query_order);


Но обращаться могу только к первому (нулевому) элементу этого массива:
- вывод $qres_order[0] дает число
- вывод $qres_order[1] (остальные элементы так же) дает пустую строку.

Что за канитель? (это не риторический вопрос, :))) )

Приходится огород городить - через While перебирать все значения результирующего массива $qres_order и записывать их в другой (промежуточный) массив.

Гемору добавляет то, что запрос идет по нескольким нужным для меня полям, и вместо
того, чтобы обращаться к примеру к элементу $qres_order['field'][3], приходится блин создавать массив $field и только из него доставать значение: $field[3]. Таких промежуточных массивов пока 3, но в других скриптах ожидается гораздо больше...

Т.е. как видите такой обход краткости и ясности кода нифига не способствует...

   
 
 автор: lifead   (19.08.2007 в 17:44)   письмо автору
 
   для: ДацкыйКот   (19.08.2007 в 17:26)
 

А запрос отправляемый mysql выводит один столбец или несколько?

   
 
 автор: ДацкыйКот   (19.08.2007 в 18:28)   письмо автору
 
   для: lifead   (19.08.2007 в 17:44)
 

Несколько, но если индивидуально прописать $qres_order['field'][1] получается такая же фигня...

   
 
 автор: lifead   (19.08.2007 в 18:49)   письмо автору
 
   для: ДацкыйКот   (19.08.2007 в 18:28)
 

если необходимо вывести несколько столбцов то это можно сделать ассоциативным массивом:

<?php
$query
='Ваш запрос';
$resultmysql_query($query);
$num mysql_num_rows($result) ; //определение колличества строк
for ($i=1;$i<=$num;$i++)
{
$qres_order1[]=mysql_fetch_array('Наименование первого столбца в кавычках'); /*я использую эту функцию */
$qres_order2[]=mysql_fetch_array('Наименование второго столбца в кавычках');
}
?>

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

   
 
 автор: Trianon   (20.08.2007 в 00:58)   письмо автору
 
   для: ДацкыйКот   (19.08.2007 в 17:26)
 

Вы бы написали пример запроса, а то ни одного поля не видно.

   
 
 автор: cheops   (20.08.2007 в 10:45)   письмо автору
 
   для: ДацкыйКот   (19.08.2007 в 17:26)
 

Как вылядит запрос?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования