";如果数据库“中存在消息/文本”;,然后显示用户从最新到最旧创建的消息


"if message/text exists in database", then show the message that the user created from latest to oldest

我正在开发这个消息系统。用户收到一个表单,用户将在其中键入注释,在本例中称为"消息"。当用户访问他的个人资料页面时,会显示他之前在表单中键入并按下"保存"的消息。

屏幕截图:https://i.stack.imgur.com/VEsDg.png

我的数据库有一个名为"messages"的表,其中有列piduidmessagetimepicture,其中uid是我的"users"表中的uid

因此,pid是自动递增的,而uid是发布消息的用户的用户id。(用户在表单中发布其图片的URL,该URL随后保存到数据库中的picture列。

我从数据库获取数据的PHP代码:

<?php
$uid = $this->session->userdata('uid');
$this->db->limit(10); //Use this to limit the entires while you show the entires on the front page.
$query = $this->db->query("SELECT pid, message, time, picture FROM messages WHERE uid = '$uid';");
foreach ($query->result_array() as $row)
{
   $message = $row['message'];
   $time = $row['time'];
   $picture = $row['picture'];
}
    ?>

我的profile_body.php页面中的html代码位于我的视图文件夹中,其中包含了上面的代码。

    <div class="list-group list-group-breakout">
              <a class="list-group-item" href="https://assembly.com/assemblycoins">
                <div class="chip">
  <div class="chip-icon">
    <img alt="Coins" width="48" height="48" class="app-icon" src="<?php echo $picture ?>"/>
  </div>
  <div class="row">
    <div class="col-sm-12">
      <p class="omega"><?php echo $message;?></p>
    </div>
    <div class="col-sm-12 right-align">
      <p class="gray-2 small omega">
        Feb. 21, 2015 <!-- Not from database -->
      </p>
    </div>
  </div>
</div>

对于用户在数据库中键入的消息,我如何只得到10个结果并显示它?我再次尝试粘贴相同的html代码,但它显示的是相同的消息和图片。

谢谢。

以下是要做的一些改进:

$uid = $this->session->userdata('uid');
$result = $this->db->select('pid, message, time, picture')
         ->where(array('uid' => $uid))
         ->limit(10)
         ->get('messages')
         ->result_array();
$this->load->view('profile_body', $result);

在您的视图中,profile_body.php文件:

<?php foreach($result as $row): ?>
<div class="list-group list-group-breakout">
              <a class="list-group-item" href="https://assembly.com/assemblycoins">
                <div class="chip">
  <div class="chip-icon">
    <img alt="Coins" width="48" height="48" class="app-icon" src="<?php echo $row['picture'] ?>"/>
  </div>
  <div class="row">
    <div class="col-sm-12">
      <p class="omega"><?php echo $row['message'];?></p>
    </div>
    <div class="col-sm-12 right-align">
      <p class="gray-2 small omega">
        Feb. 21, 2015 <!-- Not from database -->
      </p>
    </div>
  </div>
</div>
<?php endforeach; ?>