За последние 24 часа нас посетили 16859 программистов и 1641 робот. Сейчас ищут 945 программистов ...

Как достать несколько строк из БД?

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

  1. antonhristovsky

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

    С нами с:
    14 янв 2012
    Сообщения:
    11
    Симпатии:
    0
    Здравствуйте. Мне нужно сделать так, что бы на странице user/id/X выводились сообщения пользователя. Работаю я на Kohana 3. У меня есть в базе данных таблица message в ней 2 колонки - recipient и message. Что бы отправить сообщение человек заходит на страницу /mail. Там вводит получателя и текст. У меня не получается вывести на страницу более одного сообщения. Насколько я понял проблемма в моделе. Проверял через var_dump от-туда выводит только одно сообщение.. Вот код контроллера:
    Код (Text):
    1. <?php defined('SYSPATH') or die('No direct script access.');
    2.  
    3. class Controller_User extends Mycontroller
    4. {
    5.     public $template = 'basic';
    6.    
    7.     public function action_id($url = NULL)
    8.     {
    9.         $url = $this->request->param('id');
    10.        
    11.         $data = array();
    12.        
    13.         $mouser = new Model_Mouser();
    14.        
    15.         $email = $mouser->demail($url);
    16.  
    17.         $user = $mouser->demail($url);
    18.            
    19.         $data['name'] = $user->name;
    20.         $data['email'] = $user->email;
    21.        
    22.         $auth = Auth::instance();
    23.         $userId = $auth->get_user();
    24.         $useremail = $userId->email;
    25.  
    26.         $mymail = $mouser->demail1($useremail);
    27.         $data['mymail'] = $mymail;
    28.          
    29.         $this->template->content =  View::factory('userview', $data);
    30.     }
    31.    
    32. }
    Вот модель:
    Код (Text):
    1. <?php defined('SYSPATH') or die('No direct script access.');
    2.  
    3. class Model_Mouser
    4. {
    5.     public function demail($url)
    6.     {
    7.             $usertemp = ORM::factory('myuser', array('url'=>$url));
    8.  
    9.             $email = $usertemp->email;
    10.  
    11.             return ORM::factory('myuser', array('url'=>$url));
    12.  
    13.     }
    14.    
    15.     public function demail1($useremail)
    16.     {
    17.             $mymailik = ORM::factory('dispatch', array('recipient'=>$useremail));
    18.  
    19.             $email = $mymailik->message;
    20.  
    21.             return $email;
    22.  
    23.     }
    24. }
    И вот вид:
    Код (Text):
    1. <title><?=$name?></title>
    2.  
    3. <p>Профиль пользователя:</p>
    4. <p style="font-size: 11px; font-family:tahoma">
    5. Имя пользователя: <?if(isset($name)){?> <?=$name?> <?}?><br>
    6. Почта: <?if(isset($email)){?> <?=$email?> <?}?></p>
    7. <p>Ваши сообщения:</p>
    8. <?if(isset($mymail)){?> <?=$mymail?> <?}?>
     
  2. FalkoN

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

    С нами с:
    1 апр 2011
    Сообщения:
    184
    Симпатии:
    0
    Адрес:
    Екатеринбург
    <p>Ваши сообщения:</p>
    <?if(isset($mymail)){?> <?=$mymail?> <?}?>

    этот код работает правильно - выводит только одно сообщение. Чтобы несколько вывести, надо как-то в цикле выводить.