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 :: Цикл из функции

 PHP.SU

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


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

> Без описания
VestCoastman
Отправлено: 26 Января, 2013 - 15:01:07
Post Id



Посетитель


Покинул форум
Сообщений всего: 374
Дата рег-ции: Дек. 2010  


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




Не до конца разобрался с функциями, точнее выводом циклов из функций.
Понятно, что $ArrayRet вернет только последнее значение, но вот как вернуть все значения, не понимаю. Разъясните, пожалуйста, что не так?

PHP:
скопировать код в буфер обмена
  1. function NewsField($QueryField)
  2. {
  3.         $query = mysql_query("SELECT $QueryField FROM news");
  4.                 while ($array = mysql_fetch_array($query))
  5.                 {
  6.                         $ArrayRet = $array[$QueryField];
  7.                 }
  8.                 mysql_free_result($query);
  9.         return $ArrayRet;
  10. }
  11.  
  12. $tst = NewsField('id');
  13. echo $tst;
 
 Top
EuGen Администратор
Отправлено: 26 Января, 2013 - 15:08:46
Post Id


Профессионал


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


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




PHP:
скопировать код в буфер обмена
  1. function NewsField($QueryField)
  2. {
  3.         $query = mysql_query("SELECT $QueryField FROM news");
  4.         $ArrayRet = array();
  5.                 while ($array = mysql_fetch_array($query))
  6.                 {
  7.                         $ArrayRet[] = $array[$QueryField];
  8.                 }
  9.                 mysql_free_result($query);
  10.         return $ArrayRet;
  11. }

?


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
VestCoastman
Отправлено: 26 Января, 2013 - 15:15:22
Post Id



Посетитель


Покинул форум
Сообщений всего: 374
Дата рег-ции: Дек. 2010  


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




EuGen пишет:
PHP:
скопировать код в буфер обмена
  1. function NewsField($QueryField)
  2. {
  3.         $query = mysql_query("SELECT $QueryField FROM news");
  4.         $ArrayRet = array();
  5.                 while ($array = mysql_fetch_array($query))
  6.                 {
  7.                         $ArrayRet[] = $array[$QueryField];
  8.                 }
  9.                 mysql_free_result($query);
  10.         return $ArrayRet;
  11. }
?

Так я пробовал, NewsField('id'); возвращает "Array". А мне нужны значения NewsField('id').

(Отредактировано автором: 26 Января, 2013 - 15:17:31)

 
 Top
AlexAnder
Отправлено: 26 Января, 2013 - 16:03:26
Post Id



Частый посетитель


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


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




PHP:
скопировать код в буфер обмена
  1. echo '<pre>' . print_r($tst, 1) . '</pre>';

or

(Отредактировано автором: 26 Января, 2013 - 16:05:40)



-----
Оказывается, недостаточно читать справочники, чтобы правильно писать коды. sadex ©

Форумы стали местом обучения программированию, а не решения трудных вопросов. KingStar ©
 
 Top
EuGen Администратор
Отправлено: 26 Января, 2013 - 16:13:06
Post Id


Профессионал


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


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




VestCoastman пишет:
А мне нужны значения NewsField('id').

Тогда
PHP:
скопировать код в буфер обмена
  1.     function NewsField($QueryField)
  2.     {
  3.             $query = mysql_query("SELECT $QueryField FROM news");
  4.             $ArrayRet = array();
  5.                     while ($array = mysql_fetch_array($query))
  6.                     {
  7.                                $ArrayRet[$QueryField][] = $array[$QueryField];
  8.                     }
  9.                     mysql_free_result($query);
  10.             return $ArrayRet;
  11.     }


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
VestCoastman
Отправлено: 26 Января, 2013 - 16:20:15
Post Id



Посетитель


Покинул форум
Сообщений всего: 374
Дата рег-ции: Дек. 2010  


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




AlexAnder пишет:

Да - это то, что надо. Оказывается проблема была в выводе((

Спасибо всем, тему можно закрывать. Закатив глазки
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB