Недавно я задал аналогичный вопрос примерно две недели назад, но я не видел, чтобы моя проблема работала так, как мне это нужно.Почему мой запрос возвращает неверные результаты?
У меня есть запрос, который выбирает из 2 таблиц; билеты и ответы. Я выбираю информацию из таблицы билета, и я выбираю информацию из таблицы ответов, в которой хранится идентификатор билета. Что теперь приходит к моей проблеме.
В моем запросе отображаются только те, у которых есть более 0 ответов, но мне нужно, чтобы они отображали информацию о билете, даже если у нее нет ответов.
Я хотел бы узнать (если возможно), если есть какой-либо способ исправить мою проблему, и если есть способ сделать его более простым, чем в настоящее время.
Сейчас это немного грязно, но вот мой код для запроса и отображения билетов и ответов.
if(isset($_GET['id']) && is_numeric($_GET['id'])) {
$id = trim($_GET['id']);
$i = "";
$ticket = $db->conn->query("
SELECT * FROM tickets
INNER JOIN replies ON tickets.id = '$id'") or die(mysqli_error($db->conn));
while($rows = $ticket->fetch_assoc()) {
$i++;
if($_SESSION['ticket_username'] == $rows['client']) {
if($i <= 1) {
$status = $rows['status'];
echo '
<h3>'.$rows['subject'].'</h3><hr>
<div class="panel panel-danger">
<div class="panel-heading">
<h3 class="panel-title"><small>Created by '.$rows['client'].', '.$timeAgo->inWords($rows['created_at']).'</small></h3>
</div>
<div class="panel-body">'.nl2br($rows['message']).'</div>
</div>
';
}
echo '
<div class="panel panel-info">
<div class="panel-heading">
<h3 class="panel-title"><small>Reply from '.$rows['reply_username'].', '.$timeAgo->inWords($rows['reply_time']).'</small></h3>
</div>
<div class="panel-body">'.nl2br($rows['reply_message']).'</div>
</div>
';
} else {
header("Location: index");
}
}
} else {
header("Location: index");
}
Вы могли бы просто решить ее разделяющая запросы. Сначала заберите все билеты. Пройдите через билеты и получите все ответы за каждый билет. – Peter
Я сделал что-то похожее на предыдущий проект, но на этот раз я хотел объединить его в один запрос. – Jon