|
|
|
|
|
для: Unkind
(02.08.2007 в 15:42)
| | Спасибо, много интересных вариантов! Как раз и стремлюсь к тому чтобы проще писать но пока не всегда выходит:) | |
|
|
|
|
|
|
|
для: Trianon
(02.08.2007 в 15:33)
| | Не нужно, конечно. Но иногда встречаются те, кто не слушает, что нужно, а что нет. Так что проще показать как такое решается, нежели отговорить... | |
|
|
|
|
|
|
|
для: Unkind
(02.08.2007 в 15:30)
| | > и решил, что нужно получить как ассоциативный массив, так и переменные с названиями, соответсвующими названиям полей.
Такого не бывает нужно никогда.
Необходимость такого может быть обусловлена только ошибкой в проектировании.
Соответственно, mysql_fetch_array() - функция, оставленная лишь для совместимости, на самом деле - паразит. | |
|
|
|
|
|
|
|
для: Trianon
(02.08.2007 в 15:23)
| | тогда уж mysql_fetch_row()
Мне лень было читать всю тему, я посмотрел на Ваш последний пост и решил, что нужно получить как ассоциативный массив, так и переменные с названиями, соответсвующими названиям полей.
В таком случае нужна именно функция mysql_fetch_array(), так как от mysql_fetch_row() имен полей не добьешься. А с mysql_fetch_assoc() придется применять foreach, как делали Вы.
Я, например, предпочитаю работать с массивом полей.
Я, например, тоже. | |
|
|
|
|
|
|
|
для: Unkind
(02.08.2007 в 15:15)
| | тогда уж mysql_fetch_row() .
Дело вкуса.
Я, например, предпочитаю работать с массивом полей. | |
|
|
|
|
|
|
|
для: Trianon
(02.08.2007 в 15:11)
| | А мне кажется лучше mysql_fetch_array() и использовать list().
<?php
$result = mysql_query("SELECT `id`, `title`, `body` FROM `table`;");
while($b = mysql_fetch_array($result))
{
// И здесь работать уже с $b['id'] , $b['title'], $b['body']
list($id, $title, $body) = $b;
// или даже прямо с $id, $title, $body
//....
}
?>
|
| |
|
|
|
|
|
|
|
для: Unkind
(02.08.2007 в 14:56)
| | верно. Крайне дурацкая функция.
Ну тогда вместо list($id, $title, $body) = $b;
foreach($b as $k=>$v) $$k = $v;
|
| |
|
|
|
|
|
|
|
для: Trianon
(02.08.2007 в 09:36)
| | list() не работает с ассоциативными массивами. | |
|
|
|
|
|
|
|
для: amigo62
(02.08.2007 в 01:12)
| | >индекс ноль будутиметь все переменные по запросу первой строки. Далее будут и 1, и 2, и 3 и т.д., но это все обработается в цикле.
вот только первый индекс, а не второй.
Проще надо писать.
<?php
$rez=mysql_query("SELECT id, title, body FROM table");
while($b=mysql_fetch_assoc($rez))
{
// и здесь работать уже с $b['id'] , $b['title'], $b['body']
list($id, $title, $body) = $b;
// или даже прямо с $id, $title, $body
//....
}
?>
|
| |
|
|
|
|
|
|
|
для: Proger
(02.08.2007 в 00:51)
| |
<?php
$rez=mysql_query("SELECT id, title, body FROM table");
while($ar=mysql_fetch_assoc($rez)) $a[]=$ar;
?>
|
индекс ноль будутиметь все переменные по запросу первой строки. Далее будут и 1, и 2, и 3 и т.д., но это все обработается в цикле. Я вот подумал, может, так:
<?php
foreach($a as $key=>$val) $b[$key]=$a[$key][0];
?>
| a? | |
|
|
|
|