0

状況:

条件が満たされた場合、2 つの異なるテーブルからのデータと 1 つのテーブルからの 2 つの異なるデータ セットを表示するコードを書いています。

問題:

最初の場合は$row[7]死亡NULLし、継続しません。

最初の値の後のいずれかの値$row[7]NULLまた$row2[5]NULLである場合、その行の前の値が繰り返されます。値が の場合はNULL、空白として表示され、次の行に進みます。

コード:

$sql = "SELECT * FROM roster WHERE uic='".$uic."'";
if($result = $mysqli->query($sql,MYSQLI_STORE_RESULT)) {
while($row = $result->fetch_row()) {
    if($row[7]) {
        $sql2 = "SELECT * FROM equipment WHERE id=$row[7]";
        $result2 = $mysqli->query($sql2,MYSQLI_STORE_RESULT);
        $row2 = $result2->fetch_row();
        if($row2[5]) {
            $sql3 = "SELECT * FROM equipment WHERE id=$row2[5]";
            $result3 = $mysqli->query($sql3,MYSQLI_STORE_RESULT);
            $row3 = $result3->fetch_row();
        }
    }
    echo '
        <tr bgcolor="#a3a3a3">
          <td>'.$row[1].'</td>
          <td>'.$row[2].'</td>
          <td>'.$row[3].'</td>
          <td>'.$row[4].'</td>
          <td>'.$row2[1].'</td>
          <td>'.$row2[2].'</td>
          <td>'.$row3[1].'</td>
          <td>'.$row3[2].'</td>
          <td>'.$row2[9].'</td>
          <td>'.$row2[7].'</td>
          <td>'.$row2[8].'</td>
        </tr>
         ';
    }
}
4

1 に答える 1