Группировать результат по полю - PullRequest
0 голосов
/ 14 сентября 2011

Я создаю систему обмена сообщениями для сайта, но я хочу, чтобы у нее было ощущение приложения для обмена мгновенными сообщениями. У меня есть таблица с такой структурой:

<!-- language: lang-none -->
id
R_id     = Reciever's id
S_id     = Sender's Id
message
read     = 0 if unread, 1 if read
post_time
conv_id  = conversation id

Я пытаюсь создать запрос, который извлекает все сообщения, относящиеся к принимающему пользователю, и отображает его в групповом формате, т.е. все сообщения от пользователя, сгруппированные по имени пользователя, что-то вроде сообщений Facebook.

Это метод в моей модели, я работаю с codeigniter

function get_user_conversations($user_id) {
       //Load Models
       $this->load->model('conversation_model');
       //Load helper
       $this->load->helper('date');
       //database query
       $q = $this->db->select('*')
                     ->from('conversations_inbox')
                     ->where('R_id',$user_id)
                     ->group_by('S_id')
                     ->order_by('post_time','desc')
                     ->get();
        $conversations = $q->result();
        return $conversations;
   }

1 Ответ

0 голосов
/ 14 сентября 2011

Может быть, что-то вроде этого?

// Presuming you want the most recent ones first
$q = mysql_query("SELECT message FROM `TABLE` WHERE `R_id`='USERNAME_HERE' ORDER BY `post_time` DESC");
while ($row = mysql_fetch_array($q)) {
  echo "<li>Message: " . $row['message'];
}

Честно говоря, я не совсем уверен, что вы спрашиваете, так что это лучшее, что я могу сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...