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

时间:2018-03-27 08:55:53

标签: php html mysql foreach

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

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

        return $topics;

    }

功能:

j++

我希望这也是新块中的每条记录。在代码中,你可以看到我尝试了一些东西,但它不是正确的方式或它不工作。我知道LIMIT 1不好,但是如果我删除它并且<?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>'; } ?> 函数它仍然不起作用

What it looks like

更新

如果我使用的代码类似于给出的答案它看起来像这样而不是2个不同的块。

enter image description here

let modeDict : [Float : String] = [ 8 : "Pls delete game, you noob", 9 : "Pff, girl", 10 : "Optimal", 11 : "Very Hard", 12 : "Almost Unreal"]

1 个答案:

答案 0 :(得分:0)

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

$toppics的foreach循环中(正确的拼写:主题; P),您目前只回显一个锚标记(链接),但您想要的是(在这里使用您的单词)一个“阻止”。无论你希望那个块看起来像什么,定义它的地方都在foreach循环中。

现在我不知道您使用/想要使用哪些元素,类或样式,因此我将创建一个包含标题的块的示例,以及链接下面的

//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>';
}

我知道我的解决方案看起来与您给定的图像不完全相同,但它应该指明您构建块的方式和位置。

我认为当您了解HTML的基础知识时,这个问题应该很容易解决,所以我建议您在开展大项目之前先学习一些HTML知识。

编辑问题后

编辑
正如我在回答中提到的,my solution will not look exactly like your given image因为I don't know what elements, classes or stylings you use。您现在剩下的问题是使用正确的html标签,类和样式。

生成的div的父元素看起来像你希望单个块看起来的样式 所以你可以做的是删除父元素并将其用作生成的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属性。