За последние 24 часа нас посетили 52862 программиста и 1768 роботов. Сейчас ищут 922 программиста ...

foreach выводит только последнюю запись

Тема в разделе "PHP для новичков", создана пользователем viphost, 2 апр 2012.

  1. viphost

    viphost Активный пользователь

    С нами с:
    23 мар 2009
    Сообщения:
    307
    Симпатии:
    0
    Подскажите что делаю не так.
    Код (Text):
    1. function return_comments($id) {
    2.             $sql = "SELECT * FROM comments WHERE news = {$id}";
    3.                 $res = $this->sql($sql) ;
    4.                 $result = array();
    5.                  while($row = mysql_fetch_array($res)) {
    6.                   $result[$row['id']] = $row ;  
    7.                   }
    8.             return $result ;
    9.                      
    10.         }
    11.  
    12.  function comments($id) {
    13.             $result = $this->return_comments($id) ;
    14.             $out = "" ;
    15.             if($result != 0 ) {
    16.             foreach($result as $key => $value) {
    17.                 $out = "<div class=\"comments\">
    18.                     <div class=\"autor\"><b>{$value['login']}</b> ({$value['date']})</div>
    19.                         <div class=\"text\">
    20.                             {$value['story']}
    21.                         </div>
    22.                     </div>" ;
    23.                     }
    24.                
    25.           }
    26.           return $out ;    
    27.        }
    Выводит только последнюю запись, а не все записи с comments.news = $id . Т.е. в таблице есть 5 записей в поле news которых прописано 3, и если я вывожу записи, то выводится не 5 записей, а только одна, последняя запись.
     
  2. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Код (Text):
    1. $out = "<div class=\"comments\">
    ->
    Код (Text):
    1. $out .= "<div class=\"comments\">
     
  3. viphost

    viphost Активный пользователь

    С нами с:
    23 мар 2009
    Сообщения:
    307
    Симпатии:
    0
    Ох, я три часа переписывал по двадцать тыщ раз и никак не мог понять почему не работает.
    Спасибо )