我已经为一个评论框创建了一个表单,我将在几个不同的页面上使用它。它将数据发送到我的数据库中名为“comments”的表,该表具有列“id”“author”“body”“created”和“page_name”。我是php的新手,我正在试图弄清楚如何只显示与当前页面具有相同“page_name”值的注释。
要获取“page_name”,我使用以下格式的代码:
<input type="hidden" name="page_name" value="<?=$_SERVER['REQUEST_URI']?>" />
这是我正在构建的用于显示注释的代码:
<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”值的注释。任何帮助将不胜感激!
答案 0 :(得分:0)
你必须查询与url相对应的数据,如。
对于数据库连接,请使用以下代码:
<?php
// Create connection
$db_con=mysql_connect('servername','db username','dbpassword');
if (!$db_con)
{
die('Could not connect: ' . mysql_error());
}
$connection_string=mysql_select_db('db name',$db_con);
?>
对于查询,请使用代码:
$url=$_SERVER['REQUEST_URI'];
$query=mysql_query("select * from comments where page_name='".$url."'");
while($result=mysql_fetch_row($query))
{
echo $result[0]."<br>".$result[1]."<br>"; // echo all values that are needed for displaying. You can do the coding for displaying formatted values inside this loop.
}