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

Форум PHP

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

 

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

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

тема: Не получается разбить массив через implode()
 
 автор: lElectroHardl   (12.08.2010 в 15:13)   письмо автору
 
 

<? $rec_ings1 mysql_query ("SELECT ings_id FROM rec_ings WHERE rec_id = '1'",$db);
while ( 
$rec_ings mysql_fetch_assoc ($rec_ings1) )
$str_imp implode(", "$rec_ings);
echo(
$str_imp);


В $rec_ings['rec_ings'] 9 чисел. А в implode попадает только 2-е. В чем дело?

Если делаю через
<? foreach($rec_ings as $key => $val)
   {
      
$str_imp implode(", "$val);
   }

Пишет ошибку.
Помогите новичку....

  Ответить  
 
 автор: Valick   (12.08.2010 в 15:31)   письмо автору
 
   для: lElectroHardl   (12.08.2010 в 15:13)
 

<? $rec_ings1 mysql_query ("SELECT ings_id FROM rec_ings WHERE rec_id = '1'",$db); 
while ( 
$rec_ings mysql_fetch_assoc ($rec_ings1) ) 
$str_imp $str_imp.$rec_ings.",";
echo(
$str_imp); 

вообще не совсем понятно что ты хочешь в очередной раз натворить)

  Ответить  
 
 автор: lElectroHardl   (12.08.2010 в 15:39)   письмо автору
 
   для: Valick   (12.08.2010 в 15:31)
 

Всего-навсего преобразовать массив в строку и разделить эти элементы запятыми.

  Ответить  
 
 автор: Valick   (12.08.2010 в 16:00)   письмо автору
 
   для: lElectroHardl   (12.08.2010 в 15:39)
 

ты хочешь массив из одного элемента преобразовать в строку... и с каждой итерацией перезаписываешь значение переменной новым массивом
вот и получается у тебя переменная с одним последним значением строки выборки

  Ответить  
 
 автор: lElectroHardl   (12.08.2010 в 16:40)   письмо автору
 
   для: Valick   (12.08.2010 в 16:00)
 

Почему из 1-го элемента? В массиве, который из базы пришел - около 8-ми элементов. Вот их надо как-то разбить и вывести через запятую.

  Ответить  
 
 автор: psychomc   (12.08.2010 в 16:45)   письмо автору
 
   для: lElectroHardl   (12.08.2010 в 16:40)
 

на запрос посмотрите. вы же каждый раз выбираете по одному полю. при обходе mysql_fetch_assoc каждый раз отдает новый массив

  Ответить  
 
 автор: lElectroHardl   (12.08.2010 в 16:59)   письмо автору
 
   для: psychomc   (12.08.2010 в 16:45)
 

А как надо?

  Ответить  
 
 автор: psychomc   (12.08.2010 в 17:22)   письмо автору
 
   для: lElectroHardl   (12.08.2010 в 16:59)
 

так как показал Valick
только обрежьте последнюю запятую

  Ответить  
 
 автор: lElectroHardl   (12.08.2010 в 17:47)   письмо автору
 
   для: psychomc   (12.08.2010 в 17:22)
 

Так-то я уже сделал (пошел по-трудному пути), но ведь существует implode... Вот как мою задумку можно через него сделать?

  Ответить  
 
 автор: Valick   (12.08.2010 в 17:56)   письмо автору
 
   для: lElectroHardl   (12.08.2010 в 17:47)
 

<? $rec_ings1 mysql_query ("SELECT ings_id FROM rec_ings WHERE rec_id = '1'",$db); 
while ( 
$rec_ings mysql_fetch_assoc ($rec_ings1) ) 
$mass[]=$rec_ings[ings_id];
$str_imp implode(", "$mass);
echo(
$str_imp);

имплод существует - базара нема, но вот учиться работать с БД и понимать что из себя предстваляет результат выборки все равно придется
___
один хрен я не пойму нахрена захреначивать всю эту хрень в одну переменную
на лицо работа с базой по РНРшным замашкам

  Ответить  
Rambler's Top100
вверх

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