【发布时间】:2014-01-27 14:10:30
【问题描述】:
我为评论框创建了一个表单,我将在几个不同的页面上使用它。它将数据发送到我的数据库中名为“cmets”的表中,该表具有列“id”“author”“body”“created”和“page_name”。我是 php 新手,我想弄清楚如何只显示与当前页面具有相同“page_name”值的 cmets。
为了获得“page_name”,我在表单中使用了这个代码:
<input type="hidden" name="page_name" value="<?=$_SERVER['REQUEST_URI']?>" />
这是我正在构建的用于显示 cmets 的代码:
<div id="comments">
<?php foreach($comments as $comment): ?>
<div class="comment" style="margin-bottom: 2em;">
<div class="author">
<b><?php echo htmlentities($comment->author); ?>:</b>
</div>
<div class="meta-info" style="font-size: 0.8em;">
<?php echo datetime_to_text($comment->created); ?>
</div>
<div class="body">
<?php echo strip_tags($comment->body, '<strong><em><p>'); ?>
</div>
</div>
<?php endforeach; ?>
<?php if(empty($comments)) { echo "No Comments."; } ?>
</div>
我只是不确定如何告诉页面只显示与用户所在页面具有相同“page_name”值的 cmets。任何帮助将不胜感激!
【问题讨论】:
-
获取 cmets 的数据库查询在哪里?您可以在循环内添加一个简单的
if语句来检查cmetspage_name值与当前page_name的对比,但您应该真正编辑数据库查询,以便仅加载相关的cmets首先。 -
你的数据检索查询是什么。
-
您需要通过查询来完成,根据页面名称对查询应用过滤器