Php 使用变量创建模板循环时出现的问题
我试图在我的网站上建立一个简单的博客,但没有关于如何正确创建博客的教程,所以我尝试从头开始创建一个。我现在的问题是在带有变量的循环中显示帖子模板。以下是我的表格中的列: 表格博客Php 使用变量创建模板循环时出现的问题,php,Php,我试图在我的网站上建立一个简单的博客,但没有关于如何正确创建博客的教程,所以我尝试从头开始创建一个。我现在的问题是在带有变量的循环中显示帖子模板。以下是我的表格中的列: 表格博客 身份证 用户id 日期 头衔 内容 变量代码: <?php // query // $sql = mysql_query("SELECT id, user_id, date, title, content FROM blog"); $row = mysql_fetch_array($sql); // varia
<?php
// query //
$sql = mysql_query("SELECT id, user_id, date, title, content FROM blog");
$row = mysql_fetch_array($sql);
// variables //
$user_id = $row['user_id']; //only the id, not the name
$date = $row['date'];
$title = $row['title'];
$content = $row['content'];
// get user_id name //
$sql2 = mysql_query("SELECT name FROM users WHERE id = '$user_id'");
$row2 = mysql_fetch_array($sql2);
$author = $row2['name']; //last variable
?>
试试这个:
<?php
// query //
$sql = mysql_query ( "
SELECT b.id, b.user_id, b.date, b.title, b.content, u.name
FROM blog b, users u
WHERE b.user_id = u.id
ORDER BY b.id DESC" );
while ( $row = mysql_fetch_array ( $sql ) ) {
// variables //
$user_id = $row ['user_id']; // only the id, not the name
$date = $row ['date'];
$title = $row ['title'];
$content = $row ['content'];
$author = $row ['name']; // last variable
?>
<div id="container">
<div align="center" style="background-color: gray">
<b><?php echo $title;?></b>
</div>
<div align="right">Author: <?php echo $author;?> Date: <?php echo $date;?></div>
<div><?php echo $content;?></div>
</div>
<hr>
<?php
}
?>
然后,您需要使用以下命令循环查询:
while ( $row = mysql_fetch_array ( $sql ) ) {}
首先,您需要将blog表放入一个数组中:
$sql = mysql_query("SELECT id, user_id, date, title, content FROM blog");
while($row = mysql_fetch_array($sql)) {
$blog[] = $row;
}
然后,在模板中:
<div id="container">
<div align="center" style="background-color:gray"><b><?php echo $title;?></b></div>
<div align="right">Author: <?php echo $author;?> Date: <?php echo $date;?></div>
<div><?php
foreach($blog as $val) {
echo "<h1>".$val['title']."</h1>"M
echo $val['content'];
}
?></div>
</div>
<hr>
作者:日期:
意味着您希望查看日志中的所有记录
?我希望显示表blog中的所有记录。从id值派生而来。我想您应该了解了,所以我将给您一些提示:1)了解sqlJOIN
-无需在其他查询中获取用户。2) mysql\u fetch\u array
只返回结果中的一行,因此您需要对它们进行循环以获取所有行3)假设您有包含REULT的变量,您只需使用foreach循环即可显示所有行4)mysql\u*函数不推荐使用,请尝试检查mysqli或pdo@user3555218例如我把答案贴了出来。请检查它。博客id不是后代,请修复它。它目前的顺序是从低id到高id,我希望它从高到低,所以新的帖子将首先显示。
$sql = mysql_query("SELECT id, user_id, date, title, content FROM blog");
while($row = mysql_fetch_array($sql)) {
$blog[] = $row;
}
<div id="container">
<div align="center" style="background-color:gray"><b><?php echo $title;?></b></div>
<div align="right">Author: <?php echo $author;?> Date: <?php echo $date;?></div>
<div><?php
foreach($blog as $val) {
echo "<h1>".$val['title']."</h1>"M
echo $val['content'];
}
?></div>
</div>
<hr>
$records = mysql_fetch_array($sql);
$blogs_table = '<table> <tr> <th>User id</th> <th>Date</th> <th>Title</th> <th>Content</th></tr>';
foreach($records as $row) {
$blogs_table .= '<tr>';
$blogs_table .= '<td>' . $row ['user_id'] .'</td>';
$blogs_table .= '<td>' . $row ['date'] .'</td>';
$blogs_table .= '<td>' . $row ['title'] .'</td>';
$blogs_table .= '<td>' . $row ['content'] .'</td>';
$blogs_table .= '</tr>';
}
$blogs_table .= '</table>';
<div align="right"><?php echo $blogs_table ?></div>