"if message/text exists in database",然后从最新到最旧显示用户创建的消息
"if message/text exists in database", then show the message that the user created from latest to oldest
我正在研究这个消息系统。用户有一个表单呈现给他,用户将在其中键入注释,在本例中称为 "message"。当用户访问他的个人资料页面时,他会看到他之前在表单中输入并按下保存的消息。
截图:
http://i.stack.imgur.com/VEsDg.png
我的数据库有一个名为 "messages" 的 table,其中我有列 pid
、uid
、message
、time
和 picture
其中 uid
是我的 "users" table.
中的 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'];
}
?>
我的 html 代码在我的视图文件夹中的 profile_body.php 页面中,其中包含上述代码。
<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; ?>
我正在研究这个消息系统。用户有一个表单呈现给他,用户将在其中键入注释,在本例中称为 "message"。当用户访问他的个人资料页面时,他会看到他之前在表单中输入并按下保存的消息。
截图: http://i.stack.imgur.com/VEsDg.png
我的数据库有一个名为 "messages" 的 table,其中我有列 pid
、uid
、message
、time
和 picture
其中 uid
是我的 "users" table.
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'];
}
?>
我的 html 代码在我的视图文件夹中的 profile_body.php 页面中,其中包含上述代码。
<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; ?>