[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: из базы в одну переменную строкой
w01f14
В общем задача такая из базы из столбца NAME_CAT забрать все строчки и поместить их в переменную одной строкой для передачи во флеш.
как решить задачу?


Вот так пытаюсь это сделать я :

$res = mysql_query("SELECT NAME_CAT FROM CAT");
$row = mysql_fetch_array($res);
for($i=0;$i<count($row);$i++){
echo explode (",",$base[i]);
}




Спустя 4 минуты, 59 секунд (26.01.2011 - 19:52) sharki написал(а):
$res = mysql_query("SELECT NAME_CAT FROM CAT");
$row = mysql_fetch_array($res);
$data = implode ("," , $row);
echo $data;



ВОТ!

Спустя 4 минуты, 33 секунды (26.01.2011 - 19:57) Invis1ble написал(а):
$res = mysql_query('SELECT `NAME_CAT` FROM `CAT`');
while ($row = mysql_fetch_assoc($res))
$cats[] = $row['NAME_CAT'];
$cats_str = implode(', ', $cats);

Спустя 1 минута, 47 секунд (26.01.2011 - 19:59) sharki написал(а):
Invis1ble
Ты думаешь мой код работать не будет? ведь он берет не ассоциативный массив, а 2 в одном так сказать =)

Спустя 2 минуты, 30 секунд (26.01.2011 - 20:01) alex12060 написал(а):
sharki

Ты сделал не так, как надо. Ты сделал для первой записи, т.е не пропустил через цикл, как Invis1ble

Да и в добавок, у него ошибка только в explode()

Спустя 3 минуты, 59 секунд (26.01.2011 - 20:05) sharki написал(а):
alex12060
Функция implode принимает первый аргумент разделитель, а вторым массив, и из массива берутся значения и склеиваются, а ведь в переменную $row поместился массив полученный из БД.

Допустим

$array = array('lst'=>'lastname', 'mail'=>'email', 'ph'=>'phone');
$data= implode(",", $array);

print_r($array );
echo $data;

Выведет
Array ( [lst] => lastname [mail] => email [ph] => phone )  

И сам текст lastname,email,phone

Спустя 6 минут, 11 секунд (26.01.2011 - 20:11) Invis1ble написал(а):
sharki
Цитата
Ты думаешь мой код работать не будет?

работать-то он будет, только совсем не так, как надо =)

Спустя 2 минуты, 32 секунды (26.01.2011 - 20:14) Invis1ble написал(а):
sharki
в твоем случае примерно такой массив получится
array $row(0=>'вибраторы', 'NAME_CAT'=>'вибраторы')

Спустя 49 секунд (26.01.2011 - 20:15) alex12060 написал(а):
sharki

Ты меня не удивил)
На самом деле, ты просто меня не понял, у него написано
Цитата

echo explode (",",$base[i]);

А надо, как ты написал, implode()

хотя нет, подправлю свой пост, у тебя проще получается, чем у Инвизибла) А аррай исправь)

Спустя 1 минута, 33 секунды (26.01.2011 - 20:16) sharki написал(а):
alex12060
И я о том же, щас я попробовал тоже сделать коннект к своей базе, вытащить данные и выводит то что мне нужно...только у меня действительно assoc стоит

А нет, он выводит первую строку...всё таки соглашусь с Invis1ble

Спустя 2 минуты, 28 секунд (26.01.2011 - 20:19) Invis1ble написал(а):
еще раз.
Цитата
$res = mysql_query("SELECT NAME_CAT FROM CAT");
$row = mysql_fetch_array($res);
$data= implode ("," , $row);
echo $data;

- выберется только первая запись

Спустя 1 минута, 25 секунд (26.01.2011 - 20:20) alex12060 написал(а):

/* Тоже внесу свою лепту) */
$res = mysql_query('SELECT `NAME_CAT` FROM `CAT`') or die(mysql_error());
$new = array();
if (mysql_num_rows($res) > 0) {
while($row = mysql_fetch_array($res, MYSQL_NUM))
$new[] = $row[0];

$base = implode(', ', $new);
} else {
die('WTF?!');
}

Спустя 51 секунда (26.01.2011 - 20:21) sharki написал(а):
alex12060
Те же яйца только в профиль biggrin.gif

Спустя 3 минуты, 4 секунды (26.01.2011 - 20:24) Invis1ble написал(а):
alex12060
Цитата
if (mysql_num_rows($res) > 0)

эта проверка - лишняя =)

Спустя 2 минуты, 48 секунд (26.01.2011 - 20:27) alex12060 написал(а):
а если база пустая? Оо

Или понадеемся на его силы?)

Спустя 1 минута, 1 секунда (26.01.2011 - 20:28) Invis1ble написал(а):
$res = mysql_query('SELECT `NAME_CAT` FROM `CAT`');
while ($row = mysql_fetch_assoc($res))
$cats[] = $row['NAME_CAT'];
$cats_str = isset($cats) ? implode(', ', $cats) : '';


Цитата
а если база лишняя?

?? какая еще база ?? :D

Спустя 10 секунд (26.01.2011 - 20:28) w01f14 написал(а):
Ого =) Вы так мне и сайт допишите =)

Всем огромное спс , раскидаю плюсики когда подрасту =)

Спустя 2 минуты, 27 секунд (26.01.2011 - 20:30) alex12060 написал(а):
а если база лишняя?

Пустая biggrin.gif

Спустя 8 минут, 47 секунд (26.01.2011 - 20:39) Invis1ble написал(а):
alex12060
Цитата
Пустая

возможно и такое ) см. мой код в предыдущем посте, я его модернизировал по этому случаю

Спустя 5 минут, 41 секунда (26.01.2011 - 20:45) alex12060 написал(а):
Ну да, все привыкнуть не могу к такому виду записи)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.