在表上回显两个SQL查询结果

问题描述 投票:0回答:1

我有以下代码:

<?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 =吗?或者还有其他方式吗?

我尝试了UNIONSELECT *, 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

mysql echo
1个回答
0
投票

您不需要两个查询。只需使用加入的查询。

<?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>';
    }
}
?>
© www.soinside.com 2019 - 2024. All rights reserved.