Php 允许对每个回显的文本行进行注释
首先,我回显数据库中的每个“帖子”,然后我在数据库中得到另一个名为“评论”的表,我想在其中存储每个“帖子”上的每个评论 如何将注释字段回传出来,使其成为每个“帖子”的单独注释字段 到目前为止,我确实在while循环中回显了一个注释字段,但是它没有连接到特定的“post”,“post”和“comment”在数据库中是相关的Php 允许对每个回显的文本行进行注释,php,mysql,Php,Mysql,首先,我回显数据库中的每个“帖子”,然后我在数据库中得到另一个名为“评论”的表,我想在其中存储每个“帖子”上的每个评论 如何将注释字段回传出来,使其成为每个“帖子”的单独注释字段 到目前为止,我确实在while循环中回显了一个注释字段,但是它没有连接到特定的“post”,“post”和“comment”在数据库中是相关的 $sql = "SELECT posts.post, user.username,posts.date FROM posts, user WHE
$sql = "SELECT posts.post, user.username,posts.date
FROM posts, user
WHERE posts.userid = user.id";
$result = mysql_query($sql);
echo '<ul>';
while($row = mysql_fetch_array($result)){
if(!isset($_POST['sort'])){
echo '<li>'.$row['username'].': '.$row['post'].$row['date'] .'</li></br>';
}else{
$sql = "SELECT posts.post, user.username, posts.date
FROM posts, user
WHERE posts.userid = user.id
ORDER BY posts.date";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result)){
echo '<li>'.$row['username'].': '.$row['post'].''.row['date'].'</li>'.'<br/>';
$sql=“选择posts.post、user.username、posts.date
来自帖子、用户
其中posts.userid=user.id”;
$result=mysql\u查询($sql);
回声“”;
while($row=mysql\u fetch\u数组($result)){
如果(!isset($\u POST['sort'])){
回显“- ”.$row['username']”:“.$row['post'].$row['date']”。
”;
}否则{
$sql=“选择posts.post、user.username、posts.date
来自帖子、用户
其中posts.userid=user.id
邮购日期”;
$result=mysql\u查询($sql);
while($row=mysql\u fetch\u数组($result)){
回显“- ”.$row['username'].:“.$row['post'..”.行['date'..
”.
”;
如果您必须将注释保留在另一个表格中,我建议将该表格如下所示:
| id | comment | postid |
| | | |
然后您的查询将类似于:
$postid = $post['id']
$commentsquery = "SELECT * FROM comments WHERE postid=$postid";
显然,这需要为评论和帖子设置一个自动递增的id字段我得到了这样的数据库,但我的问题是如何让评论字段知道“此评论显示在此处”而另一条注释应该在其他地方?现在这是最糟糕的情况。永远不要对每个帖子id进行查询。使用左连接并将注释作为一个单独的表是明智的选择。你不能在一个表中正确地进行此操作。@Samuel我这样做有什么问题吗?它比左连接慢吗?大量。对于查询一篇帖子,差异是nEselectable,但查询100篇文章并在每个查询中获取其相应的注释会产生101个查询,而左连接只会产生一个查询。不需要进行任何性能比较,因为1:101应该足够提示:)但请随意测试,对于任何中等规模的查询,差异应该很大。我同意.OP,执行左连接操作您必须开始阅读有关连接的内容以及左连接对您的帮助。阅读一些教程,就像您面临一个非常常见的情况一样。