Вывести два результата SQL-запроса на таблицу - PullRequest
0 голосов
/ 14 марта 2019

У меня есть следующий код:

<?php
  include_once '../includes/db.inc.php';
  $sql = "SELECT * FROM clients ORDER BY nif_id ASC;";
  $result = mysqli_query($conn, $sql);
  $resultCheck = mysqli_num_rows($result);

  if ($resultCheck > 0) {
    while ($row = mysqli_fetch_assoc($result)) {
      $first = $row["prm_nome"];
      $last = $row["apelido"];
      $phone = $row['nmr_tlm'];
      $email = $row['mail'];
      $nif = $row['nif_id'];
      $flight = "SELECT flight_id FROM flights INNER JOIN clients ON flights.nif_id=clients.nif_id";

      echo '<tr>';
      echo '<td><a href="detail.php?id='. $nif . '">'.$nif.'</a></td>';
      echo '<td>'.$first.'</td>';
      echo '<td>'.$last.'</td>';
      echo '<td>'.$phone.'</td>';
      echo '<td>'.$email.'</td>';
      echo '<td><a href="../flights/detail.php?id='. $flight . '">'.$flight.'</a></td>';
      echo '</tr>';
    }
  }
 ?>

Мне нужно повторить результат запроса SELECT flight_id FROM flights INNER JOIN clients ON flights.nif_id=clients.nif_id. Но когда я сохраняю файл, я получаю ссылку на этот запрос вместо результата.

Должен ли я начать новый $sql = с этого запроса под первым $sql =? Или есть другой способ?

Я пытался UNION и SELECT *, flight_id FROM flights INNER JOIN clients ON flights.nif_id=clients.nif_id FROM clients ORDER BY nif_id ASC;, но потом получаю mysqli_num_rows() expects parameter 1 to be mysqli_result, bool given.

1 Ответ

0 голосов
/ 14 марта 2019

Вам не нужно два запроса. Просто используйте объединенный запрос.

<?php
include_once '../includes/db.inc.php';
$sql = "SELECT c.prm_nome, c.apelido, c.nmr_tlm, c.mail, c.nif_id, f.flight_id
        FROM clients c
        JOIN flights f ON f.nif_id = c.nif_id
        ORDER BY c.nif_id ASC;";
$result = mysqli_query($conn, $sql) or die(mysqli_error($conn));
$resultCheck = mysqli_num_rows($result);

if ($resultCheck > 0) {
    while ($row = mysqli_fetch_assoc($result)) {
        $first = $row["prm_nome"];
        $last = $row["apelido"];
        $phone = $row['nmr_tlm'];
        $email = $row['mail'];
        $nif = $row['nif_id'];
        $flight = $row['flight_id'];

        echo '<tr>';
        echo '<td><a href="detail.php?id='. $nif . '">'.$nif.'</a></td>';
        echo '<td>'.$first.'</td>';
        echo '<td>'.$last.'</td>';
        echo '<td>'.$phone.'</td>';
        echo '<td>'.$email.'</td>';
        echo '<td><a href="../flights/detail.php?id='. $flight . '">'.$flight.'</a></td>';
        echo '</tr>';
    }
}
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...