下面是一个从数据库中获取博客并在屏幕上以单列显示的代码,我想在多列中显示博客可能是三个,每列显示按其ID排序的10个博客,那么如何做到这一点。如果它在这里回答太长可能会提到任何易于使用的方法可以帮助我。
这就是我从db中调用帖子的方式:
$query = ("SELECT blogs_id, title, body, posted_by, category FROM blogs INNER JOIN
categories ON categories.category_id=blogs.category_id ORDER BY blogs_id desc LIMIT 10");
foreach($db->query($query)as $row){
$blogs_id = $row['blogs_id'];
$title = $row['title'];
$body = $row['body'];
$posted_by = $row['posted_by'];
}
echo "<h2>$title</h2>
<p>$body</p>";
答案 0 :(得分:0)
使用下面的代码可以随时随地更改列数。
<tr>
<?php do { //horizontal looper?>
<td><div><?php echo $row['title']; ?></div>
<div><?php echo $row['body']; ?></div>
<div style="height:20px;"></div></td>
<?php
$row = $query->fetch(PDO::FETCH_ASSOC);
if (!isset($nested_List)) {
$nested_List= 1;
}
if (isset($row) && is_array($row) && $nested_List++%3==0) {
echo "</tr><tr>";
}
} while ($row); //end horizontal looper
?>
这将为您提供三列。
请注意,您的表行在循环之外开始。然后,此行echo "</tr><tr>";
结束您的表行,并在每次达到所需列数时启动一个新行。在上面的代码中它是3。
要更改列数,只需将$nested_List++%3==0
更改为$nested_List++%5==0
即可获得5列。
快乐的编码!
修改强>
在上面的顶部上放置类似的内容<doctype><html><head>
所有这些应该看起来与此类似......
<?php
$host = 'localhost'; $db = 'database_name'; $user = 'database_user'; $pw = 'database_password';
$conn = new PDO('mysql:host='.$host.';dbname='.$db.';charset=utf8', $user, $pw);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT blogs_id, title, body, posted_by, category FROM blogs INNER JOIN categories ON categories.category_id=blogs.category_id ORDER BY blogs_id desc LIMIT 10";
$query = $conn->prepare($sql);
$query->execute();
$row = $query->fetch(PDO::FETCH_ASSOC);
$totalRows = $query->rowCount();
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>
<body>
<table cellpadding="5" cellspacing="0" border="0">
<tr>
<?php do { //horizontal looper?>
<td><div><?php echo $row['title']; ?></div>
<div><?php echo $row['body']; ?></div>
<div style="height:20px;"></div></td>
<?php
$row = $query->fetch(PDO::FETCH_ASSOC);
if (!isset($nested_List)) {
$nested_List= 1;
}
if (isset($row) && is_array($row) && $nested_List++%3==0) {
echo "</tr><tr>";
}
} while ($row); //end horizontal looper
?>
</table>
</body>
</html>
当然,您可以按常规方式“包含”或“要求”您的连接文件,并在必要时更改$conn
以匹配您的代码。