MYSQL: показ правильных записей

0

Я пытаюсь сделать для себя форум для себя, чтобы я мог учиться на нем. Теперь мне нужно только показать "темы" с доски с правым board_id как вы можете видеть на первом снимке, который является платами, а второе изображение - это база данных с темами, поэтому, если я нажму "Nieuws & Events", Советует только показать мне запись с topicnaam (topicname) = salespage.

Я только пытаюсь получить это, и я не совсем уверен, что делать.

Ps. Это мой первый вопрос, так скажите мне, если я делаю что-то неправильно или если мне не хватает важной информации.

База данных с основными boards Изображение 174551

База данных с темами форума Изображение 174551

** Код для отображения тем: **

                <?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;

    }
  • 1
    См. Meta.stackoverflow.com/questions/333952/… . Об этом сообщил.
  • 1
    Добро пожаловать в стек переполнения. Пожалуйста, примите участие в туре , как было предложено при регистрации сегодня, чтобы лучше понять, какие типы вопросов вы можете задать. Было бы здорово, если бы вы могли привести минимальный, полный и проверяемый пример
Показать ещё 1 комментарий
Теги:
join

2 ответа

0

Использовать Join

Вот пример:

SELECT Boards.id, Boards.topic, Topics.board_id, Topics.topicnaam
FROM Boards
INNER JOIN Topics
ON Boards.id=Topics.board_id
WHERE Boards.id = 2;
  • 0
    Но это только показывает правильные темы для правильных советов тогда?
  • 0
    @checkingthestring Теперь он рассмотрит все темы на board id 2
Показать ещё 10 комментариев
0

Ваш код:

Если у вас есть входной идентификатор платы:

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'
  • 0
    Спасибо! но если я делаю много плат, мне нужно сделать эту функцию SQL для всех из них раздельной, если нет способа проверить, нажимаете ли вы на одну, что она проверит в БД, какой у нее «идентификатор платы»
  • 0
    @checkingthestring: вы можете перенаправить свой ввод по запросу SQL. Вы должны написать код PHP (если вы используете PHP), чтобы построить свой запрос с параметрами

Ещё вопросы

Сообщество Overcoder
Наверх
Меню