Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Организовать цикл while

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: скрипт выводит данные из БД из поля text, нужен цикл...
DiMaN-VRN
Отправлено: 16 Октября, 2009 - 19:27:20
Post Id



Новичок


Покинул форум
Сообщений всего: 24
Дата рег-ции: Июнь 2009  
Откуда: Воронеж


Помог: 0 раз(а)




Есть скрипт:

PHP:
скопировать код в буфер обмена
  1. function lgsl_text($server)
  2. {
  3.   global $lgsl_config;
  4.  
  5.   $mysql_query  = "SELECT `text` FROM `{$lgsl_config['db']['prefix']}{$lgsl_config['db']['table']}` WHERE `id`='{$server['o']['id']}'";
  6.   $mysql_result = mysql_query($mysql_query) or die(mysql_error());
  7.   $mysql_row    = mysql_fetch_array($mysql_result, MYSQL_ASSOC);
  8.  
  9.   return $mysql_row['text'];
  10. }


вот он выводит 1 запись для определенного id, мне нужно чтоб выводил все записи с такимде id, помогите организовать цикл while
 
 Top
Мелкий Супермодератор
Отправлено: 16 Октября, 2009 - 20:27:16
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




PHP:
скопировать код в буфер обмена
  1. function lgsl_text($server)
  2. {
  3.   global $lgsl_config;
  4.  
  5.   $mysql_query  = "SELECT `text` FROM `{$lgsl_config['db']['prefix']}{$lgsl_config['db']['table']}` WHERE `id`='{$server['o']['id']}'";
  6.   $mysql_result = mysql_query($mysql_query) or die(mysql_error());
  7. while ($mysql_row    = mysql_fetch_array($mysql_result, MYSQL_ASSOC)) {
  8.   $antword[]=$mysql_row['text'];
  9. }
  10.  return $antword;
  11. }

Ответ возвращает массивом

(Отредактировано автором: 16 Октября, 2009 - 20:28:04)



-----
PostgreSQL DBA
 
 Top
DiMaN-VRN
Отправлено: 16 Октября, 2009 - 22:06:07
Post Id



Новичок


Покинул форум
Сообщений всего: 24
Дата рег-ции: Июнь 2009  
Откуда: Воронеж


Помог: 0 раз(а)




я раньше выводил вот так: ".lgsl_text($server)."
а сейчас он выводит слово Array и все Недовольство, огорчение

помогите плз, заплачу семизнаком...

(Отредактировано автором: 16 Октября, 2009 - 22:19:08)

 
 Top
Мелкий Супермодератор
Отправлено: 16 Октября, 2009 - 22:30:36
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Это потому, что теперь и ответ массивом приходит.
т.е. используется так:
PHP:
скопировать код в буфер обмена
  1. lgsl_text_arr = lgsl_text($server);
  2. echo lgsl_text_arr[0]; //вывод первого значения


Или вам надо, чтобы просто в одну строку выводил всё, что в таблице есть с таким id? Тогда такая функця:
PHP:
скопировать код в буфер обмена
  1. function lgsl_text($server)
  2. {
  3.   global $lgsl_config;
  4.   $str = '';
  5.   $mysql_query  = "SELECT `text` FROM `{$lgsl_config['db']['prefix']}{$lgsl_config['db']['table']}` WHERE `id`='{$server['o']['id']}'";
  6.   $mysql_result = mysql_query($mysql_query) or die(mysql_error());
  7.   while ($mysql_row    = mysql_fetch_array($mysql_result, MYSQL_ASSOC)) {
  8.   $str .= $mysql_row['text']; //тут, если надо, можно поставить разделитель между записями
  9.   }
  10.   return $str;
  11. }


-----
PostgreSQL DBA
 
 Top
Champion Супермодератор
Отправлено: 17 Октября, 2009 - 08:25:07
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




DiMaN-VRN пишет:
а сейчас он выводит слово Array и все
Открою секрет: массивы не выводятся оператором echo. Они выводятся с помощью var_dump() или поэлементно.
 
 Top
DiMaN-VRN
Отправлено: 17 Октября, 2009 - 14:23:53
Post Id



Новичок


Покинул форум
Сообщений всего: 24
Дата рег-ции: Июнь 2009  
Откуда: Воронеж


Помог: 0 раз(а)




То что предложил Мелкий не работает вообще, Champion подскажите пжл как быть... Улыбка
 
 Top
Мелкий Супермодератор
Отправлено: 17 Октября, 2009 - 14:32:23
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Которая из 2-х мной предложенных не работает и как к ней обращаетесь при этом?

сделайте var_dump(lgsl_text($server)); и посмотрите, что возвращает функция.


-----
PostgreSQL DBA
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB