如何从数据库中获取新闻并将其打印在PHP页面上?
我想从数据库中获取最后两条新闻,然后使用函数在PHP页面上打印它们 这两条新闻应该一条挨着另一条印刷 这就是我到目前为止所做的,我做错了什么 这就是问题所在:如何从数据库中获取新闻并将其打印在PHP页面上?,php,mysql,html,bootstrap-4,Php,Mysql,Html,Bootstrap 4,我想从数据库中获取最后两条新闻,然后使用函数在PHP页面上打印它们 这两条新闻应该一条挨着另一条印刷 这就是我到目前为止所做的,我做错了什么 这就是问题所在: <?php function getAllNewsHome(){ $connection = mysqli_connect("localhost", "root", "", "serverName"); $connection->query("SET NAMES 'utf8'");
<?php
function getAllNewsHome(){
$connection = mysqli_connect("localhost", "root", "", "serverName");
$connection->query("SET NAMES 'utf8'");
$rsNewsHome = mysqli_query($connection, "SELECT * FROM news ORDER BY id DESC LIMIT 2");
$newsHome = mysqli_fetch_all($rsNewsHome, MYSQLI_ASSOC);
mysqli_close($connection);
for($i=0; $i < count($newsHome); $i++){
echo "
<div class='container'>
<div class='row'>
<div class='col-xs-6'>
<h1>".$newsHome[$i]['title']."
</h1>
<p>".$newsHome[$i]['content']."
</div>
<div class='col-xs-6'>
<h1>".$newsHome[$i]['title']."
</h1>
<p>".$newsHome[$i]['content']."
</div>
</div>
</div>
";
}
}
?>
它正在做你让它做的事!在($i=0;$i循环中,它生成两个div,每个div包含相同的“新闻”($newsHome[$i]['title']
)两次
您希望第一个div包含第一个项目,第二个div包含第二个项目
如果删除for循环中的第二个div,它将为每个“新闻”创建一个div
(您可能需要将2个外部div(
和
移动到循环外部)这可能是最简单的:在循环内部增加$i
,然后在回显之前确保它存在。这将允许您保持div对齐:
for($i = 0; $i < count($newsHome); $i++) {
echo "
<div class='container'>
<div class='row'>
<div class='col-xs-6'>
<h1>" . $newsHome[$i]['title'] . "
</h1>
<p>" . $newsHome[$i]['content'] . "</p>
</div>";
$i++;
echo "
<div class='col-xs-6'>";
if(array_key_exists($i, $newsHome)) {
echo "<h1>" . $newsHome[$i]['title'] . "
</h1>
<p>" . $newsHome[$i]['content'] . "</p>";
}
echo "
</div>
</div>
</div>
";
}
for($i=0;$i
";
$i++;
回声“
";
如果(数组\键\存在($i,$newsHome)){
回显“.$newsHome[$i]['title']”
“$newsHome[$i]['content']。””;
}
回声“
";
}
上面的代码有什么问题吗?另外,最好关闭PHP标记,删除echo
,并使用
将HTML输出为HTML和echo。这是因为您要打印两次。您需要做的是将类放入循环中,然后可能添加一个计数器来决定是否需要使用c丢失/打开容器。或者你可以在两个6CL div之间的循环中间做<代码> $i++/COD>以获得下一个结果,但是确保你检查下一个迭代是否真的存在。“AynBER我曾经尝试过一次打印,但是它们将是一个在另一个上面,我需要它们并排。我在回音中遗漏了什么吗?