状況:
条件が満たされた場合、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>
';
}
}