Я пытаюсь сделать для себя форум для себя, чтобы я мог учиться на нем. Теперь мне нужно только показать "темы" с доски с правым board_id
как вы можете видеть на первом снимке, который является платами, а второе изображение - это база данных с темами, поэтому, если я нажму "Nieuws & Events", Советует только показать мне запись с topicnaam (topicname) = salespage.
Я только пытаюсь получить это, и я не совсем уверен, что делать.
Ps. Это мой первый вопрос, так скажите мне, если я делаю что-то неправильно или если мне не хватает важной информации.
База данных с основными boards
База данных с темами форума
** Код для отображения тем: **
<?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;
}
Использовать 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;
board id 2
Ваш код:
Если у вас есть входной идентификатор платы:
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'