gpt4 book ai didi

PHP 数据库输出没有显示正确的方式

转载 作者:行者123 更新时间:2023-11-28 02:32:52 25 4
gpt4 key购买 nike

我正在用我的数据库中的主题创建一个论坛。我的网站是用 PHP (PDO) 构建的,问题是我无法从数据库中获取主题以在每个不同的 block 中显示正确的方法。

<div class="col-md-6">
<div class="well dash-box">
<h2><span class="glyphicon glyphicon-list-alt" aria-hidden="true"></span> Stel jezelf voor</h2>
<h5><a href="https://tom.lbmedia.nl/onderwerp"> Laat wetn wie jij en je business zijn</a></h5>
</div>
</div>
<div class="col-md-6">
<div class="well dash-box">
<h2><span class="glyphicon glyphicon-list-alt" aria-hidden="true"></span> 12</h2>
<?php
$toppics = $app->get_topics();
$i = 0;
$j = 0;
foreach ($toppics as $topic) {
if($j >= 1) continue;
echo '<a href="#section' . $i++ . '">' . $topic['onderwerp'] . '</a>';
$j++;
}
?>
</div>
</div>

功能:

  public function get_topics(){
$getTopic = $this->database->query("SELECT * FROM topics ORDER BY id DESC LIMIT 1");
$topics = $this->database->resultset();

return $topics;

}

我希望这也成为新 block 中的每条记录。在代码中,您可以看到我尝试了一些方法,但方法不正确或不起作用。我知道 j++ 不好,但如果我删除它和 LIMIT 1 函数,它仍然不起作用

What it looks like

更新

如果我使用答案中的代码,它看起来像这样而不是 2 个不同的 block 。

enter image description here

<?php
$toppics = $app->get_topics();
$i = 0;
foreach($toppics as $topic){
echo '<div>';
echo '<h3>'.$topic['onderwerp'].'</h3><br>';
echo '<a href="#section' . $i++ . '">' .$topic['omschrijving'].'</a>';
echo '</div><br>';
}
?>

最佳答案

首先:由于您想从数据库中获取多个主题,因此必须从查询中删除 LIMIT 1 并且 if($j >= 1) 继续; 在 foreach 循环中,因为它们都将您的输出限制为仅 1 个主题。

$toppics 的 foreach 循环中(正确的拼写:topics ;P)你目前只回显一个 anchor 标记(链接),但你想要的是(在这里使用你的话)一个 '堵塞'。无论您希望该 block 看起来像什么,定义该 block 的位置都在该 foreach 循环中。

现在我不知道你使用/想要使用什么元素、类或样式,所以我将制作一个包含标题和链接下方的 block 的示例:

//rename $topic keys to the names of your DB columns
foreach($toppics as $topic){
echo '<div>';
echo '<h3>'.$topic['title'].'</h3><br>';
echo '<a href="#section'.$topic['id'].'">'.$topic['link_text'].'</a>';
echo '</div><br>';
}

我知道我的解决方案看起来不会与您给定的图像完全一样,但它应该说明您可以如何以及在何处构建 block 。

我认为如果您了解 HTML 的基础知识,这个问题应该很容易解决,所以我真的建议您在从事大型项目之前多了解一下 HTML。


编辑问题被编辑后:
正如我在回答中提到的,我的解决方案看起来不会完全像您给定的图像,因为我不知道您使用的是什么元素、类或样式。现在剩下的问题是使用正确的 html 标签、类和样式。

生成的 div 的父元素的样式似乎与您希望单个 block 的样式相同。
所以你可以做的是删除父元素并将其用作生成的 div 的替换,如下所示:

<div class="col-md-6">
<div class="well dash-box">
<h2><span class="glyphicon glyphicon-list-alt" aria-hidden="true"></span> Stel jezelf voor</h2>
<h5><a href="https://tom.lbmedia.nl/onderwerp"> Laat wetn wie jij en je business zijn</a></h5>
</div>
</div>
<div class="col-md-6">
<!--<div class="well dash-box">-->
<h2><span class="glyphicon glyphicon-list-alt" aria-hidden="true"></span> 12</h2>
<?php
$toppics = $app->get_topics();
$i = 0;
foreach($toppics as $topic){
echo '<div class="well dash-box">';
echo '<h3>'.$topic['onderwerp'].'</h3><br>';
echo '<a href="#section' . $i++ . '">' .$topic['omschrijving'].'</a>';
echo '</div><br>';
}
?>
<!--</div>-->
</div>

旁注:我不同意您构建 href 属性#section1。在构建这些部分时,您必须知道之前的 foreach 循环中的确切索引。相反,使用主题本身的一些属性,可能是它的 ID、标题或描述(就像我在第一个代码块中所做的那样)。这样,当您构建部分时,您可以轻松了解如何设置元素 id 属性。

关于PHP 数据库输出没有显示正确的方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49508453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com