простой запрос из БД

anna1978

Новичок
простой запрос из БД

Всем привет!
Вопрос начинающегою
Есть самая простая таблица с тремя колонками, мне нужно вывести только одну из них. Выводится как Array, а мне нужно каждое значение отдельно, чтобы потом их использовать в скрипте.

PHP:
$result=mysql("$DBName","SELECT name FROM adresse");
PHP:
name1= mysql_result($result, 0);
PHP:
name2= mysql_result($result, 0);
...
...
PHP:
echo "$name1";

И так все десять имен.
Но это какое-то неэлегантное решение, не нравится оно мне, а знаний не хватает. Подскажите, пожалуйста...
 

Фанат

oncle terrible
Команда форума
array - это массив.
Ты получаешь из базы массив.
обращаться к лементу массива надо указывая имя массива и в квадратных скобках - имя элемента:
$array[имя элемента]

какой функцией ты получила массив?

-~{}~ 03.12.06 19:45:

странно.
в предыдущей твоей теме есть код, в котором ты замечательно получаешь колонку из базы.
безо всяких Array и mysql_result

быстро же ты разучилась...
 

anna1978

Новичок
Все правильноб но старый прием почему-то не работает

$result=mysql("$DBName","SELECT name FROM adresse");
while ($row = mysql_fetch_row($result)) {
$name1=$row[0];
$name2=$row[1];
....}
 

Фанат

oncle terrible
Команда форума
это не похоже на старый приём.
это похоже на какую-то странную самодеятельность.

скажи, почему ты считаешь, что получение одной колонки чем-то отличается от получаения двух или всех?

-~{}~ 03.12.06 20:00:

что означает это странное перечисление -
$name1=$row[0];
$name2=$row[1];
....
?
 

anna1978

Новичок
Тогда я не знаю, что ты старым приемом называешь.
С приказом mysql_fetch_row($result) я получаю Array а $name1=$row[0]; именую части этой цепочки. В принципе мне нужно получить из таблицы каждую строку под своим именем.
 

Фанат

oncle terrible
Команда форума
скажи, ты совсем не понимаешь, что делает этот код?
к примеру, что делает оператор while?
и что делает mysql_fetch_row()
и что лежит в $row?
 

anna1978

Новичок
Да, собственная тупость иногда поражает. Конечно, выводится будет по элементу.
$i="0";
$result=mysql("$DBName","SELECT name FROM adresse");
while ($row = mysql_fetch_row($result)) {
$name=$row[0];
$name_$i=$name;
i=i+1;
}

echo "$name_3";

Вот как мне каждый следующий элемент в шляйфе обозвать по-новому?
Спасибо.
 

Фанат

oncle terrible
Команда форума
тебе нужен массив
вместо $name_$i=$name;
надо писать
$array_names[$i]=$name;

и, соответственно,
echo $array_names[3];
 

anna1978

Новичок
Я так понимаю, что $row = mysql_fetch_row($result) выводит элемент соответствующей колонкиБ в данном случае одной, было бы три, вывел бы три. А while ответственнен за, скажем, прокрутку строк, их у меня десять. И в если не ввести какой-нибудь счетчик, то каждый раз значение будет заменяться, так что покажет только последнее значение. Поэтому надо каждое значение запомнить под своим именем.
 

anna1978

Новичок
Да, но я достаю из БД десять разных значений, который используются в разных частях текста. Мне казалось, что быстрее их вывести в начале, чем в десяти местах текста выходить в БД.

Спасибо за хороший урок . надо понимать, что делаешь...
 
Сверху