html - MYSQL:显示正确的记录

标签 html mysql sql join

我正在尝试为自己创建一个论坛,这样我就可以从中学习。现在我需要它只显示具有正确 board_id 的板上的“主题”,正如您在第一张图片中看到的那样,这是板,第二张图片是包含主题的数据库,所以如果我单击“Nieuws & Events”面板,它只需要向我显示带有 topicnaam(topicname) = salespage 的记录。

我只是在努力得到这个,但我不确定该怎么做。

诗。这是我的第一个问题,所以请告诉我我是否做错了什么或者我是否遗漏了一些重要信息。

包含主要的数据库 enter image description here

包含论坛主题的数据库 enter image description here

** 显示主题的代码:**

                <?php


                    $toppic = $app->get_topics();
                    foreach($toppic as $topic){

                        echo '<a href="https://tom.lbmedia.nl/reactie"> <div id="topic">';
                        echo '<div id="topicimg">';
                        if(file_exists('assets/images/profielfotos/'.$topic['klant_id'])) { 
                            echo '<img class="img-circle" src="/assets/images/profielfotos/'.$topic['klant_id'].'/'.$topic['foto'].'" />';
                        } else {
                            echo '<i class="fa fa-fw fa-user img-circle"></i>';
                        }
                        echo '</div><div id="topictekst">';
                        echo '<b>'.$topic['topicnaam'].'</b>'; 
                        echo ' - ' . $topic['voornaam'] . " " . $topic['achternaam'] ;
                        echo '<span style="float:right; margin-top:15px; margin-left:5px;">reacties</span> <span style="float:right; color:grey; margin-top:15px"class="fa fa-comment"></span>';
                        echo '<hr><span class="badge bg-red">' . $board['topic'] . '</span>';
                        echo '</div></div></a>';
                    }
                ?>

我正在使用的功能:

 public function get_boards(){
        $getBoards = $this->database->query("SELECT boards.*, ledenpagina.ledenpagina_id FROM boards 
        LEFT JOIN ledenpagina ON ledenpagina.ledenpagina_id = boards.ledenpagina_id
        ORDER BY id DESC");
//        $this->database->bind(":ledenpagina_id", $_SESSION['ledenpagina_id']);
        $boards = $this->database->resultset();

        return $boards;

    }


    public function get_topics(){
        $getTopic = $this->database->query("
        SELECT topics.*, klanten.foto, klanten.voornaam, klanten.achternaam FROM topics 
        LEFT JOIN klanten ON topics.klant_id=klanten.id
        ORDER BY id ASC");
//        $this->database->bind(":ledenpagina_id", $_SESSION['ledenpagina_id']);
        $topics = $this->database->resultset();

        return $topics;

    }

最佳答案

您的代码是:

如果您输入了板 ID:

SELECT t.* FROM topics t
JOIN boards b
    ON t.borad_id = b.id
WHERE b.id = 2

SELECT t.* FROM topics t
WHERE t.borad_id = 2

如果您有输入板描述:

SELECT t.* FROM topics t
JOIN boards b
    ON t.borad_id = b.id
WHERE b.description = 'Nieuws & Events'

关于html - MYSQL:显示正确的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49644967/

相关文章:

php - 在 Laravel 中搜索关系和日期

mysql - 如何限制Mysql表的fr_key计数<4的插入操作

html - div 之间的垂直线

java - JEdi​​torPane 正在删除 CSS 字体样式

javascript - 带侧边栏菜单的 HTML5 导入

mysql - 如何优化在 130,000 行上运行的联接查询?

javascript - dragula - 如何禁用在其父容器中的拖动

php - 图像 blob 上的 GROUP_CONCAT?

java - jbdc 忽略 sql 语句中的别名

c# - 如何在 Entity Framework 5 Code First 中处理主键