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
Форумы портала PHP.SU :: Версия для печати :: Вывод личных сообщений
Форумы портала PHP.SU » » Вопросы новичков » Вывод личных сообщений

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

1. antonhristovsky - 04 Февраля, 2012 - 14:06:35 - перейти к сообщению
Здравствуйтею Я работаю в Kohana 3. А сделать внутренню почту(ЛС). Мне нужно вывести сообщения на страницу с вида. Но ни как не получается. Вот у меня в контроллере:
PHP:
скопировать код в буфер обмена
  1. $posts = ORM::factory('dispatch')->find_all($useremail);
  2.                 foreach($posts as $post) {
  3.                         if($post->recipient == $useremail)
  4.                         {
  5.                                 $data['mymail'] =  $post->message;
  6.                         }
  7.                 }
И в виде:
Но почему-то выводит на экран только одно сообщение. А если в контоллере через echo вывести $post->message то будет несколько значений..Что делать?
2. snikers987 - 04 Февраля, 2012 - 14:15:27 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. $data['mymail'] =  $post->message;
  3.  

Потгму что вы перезаписываете значение каждый раз,а не добавляете.
3. antonhristovsky - 04 Февраля, 2012 - 14:18:14 - перейти к сообщению
snikers987 пишет:
PHP:
скопировать код в буфер обмена
  1.  
  2. $data['mymail'] =  $post->message;
  3.  

Потгму что вы перезаписываете значение каждый раз,а не добавляете.
Это я догадался... А как это исправить?
4. snikers987 - 04 Февраля, 2012 - 15:34:58 - перейти к сообщению
Цитата:
Но почему-то выводит на экран только одно сообщение.

Откуда мне знать о чем вы там догадались? Читая ваши темы я очень сомневаюсь в Вашей квалификации.
Как пример, можно в цикле формировать строку и присвоить ее за пределами цикла, можно также сформировать двумерный массив.
(Добавление)
PHP:
скопировать код в буфер обмена
  1. $posts = ORM::factory('dispatch')->find_all($useremail);
  2.       $sString = '';
  3.                 foreach($posts as $post) {
  4.                         if($post->recipient == $useremail)
  5.                         {
  6.                                 $sString .=  $post->message;
  7.                         }
  8.                 }
  9.      $data['mymail'] = $sString;
  10.  

(Добавление)
или
PHP:
скопировать код в буфер обмена
  1. $posts = ORM::factory('dispatch')->find_all($useremail);
  2.      
  3.                 foreach($posts as $post) {
  4.                         if($post->recipient == $useremail)
  5.                         {
  6.                                 $data['mymail'][] =  $post->message;
  7.                         }
  8.                 }
  9.    //var_dump($data['mymail']);
  10.  

 

Powered by ExBB FM 1.0 RC1