這是我當前的代碼。我正在嘗試將來自兩個單獨查詢的資料顯示到具有多個列的單個表中。這里有什么問題?我得到以下錯誤,
警告:第 58 行 C:\xampp\htdocs\report\new2.php 中未定義的陣列鍵 71
警告:嘗試訪問第 58 行 C:\xampp\htdocs\report\new2.php 中 null 型別值的陣列偏移量
echo "<td>" . $data['row2'][$i]['Entity_Name'] . "</td>";
在這一行我得到錯誤。
<?php
$sql = mysqli_query(
$connection,
"SELECT Entity_Name, Count(Sid)
FROM mq_active_sep21
WHERE Plan_Name != 'Complementary_Package'
GROUP BY Entity_Name
ORDER BY Entity_Name"
);
$sql2 = mysqli_query(
$connection,
"SELECT Entity_Name, Count(Sid)
FROM mq_active_sep21
WHERE Plan_Name = 'Complementary_Package'
GROUP BY Entity_Name
ORDER BY Entity_Name"
);
?>
<html>
<head>
<title>Report Details </title>
</head>
<body>
<h1>Report</h1>
<hr>
<table border = '2'>
<tr>
<th>Entity Name</th>
<th>Total SID</th>
<th>Entity Name</th>
<th>Total SID</th>
</tr>
<?php
$data = array();
while($row = mysqli_fetch_assoc($sql)) {$data['row'][] = $row;}
while($row = mysqli_fetch_assoc($sql2)) {$data['row2'][] = $row;}
$count = count($data['row']);
for($i=0;$i<$count;$i )
{
echo '<tr>';
if(($i % 2) == 1)
{
echo "<td>" . $data['row2'][$i]['Entity_Name'] . "</td>";
echo "<td>" . $data['row2'][$i]['Count(Sid)'] . "</td>";
}else
{
echo "<td>" . $data['row'][$i]['Entity_Name'] . "</td>";
echo "<td>" . $data['row'][$i]['Count(Sid)'] . "</td>";
}
echo '</tr>';
}
?>
</table>
</body>
</html>
uj5u.com熱心網友回復:
我可以建議您使用單個查詢:
SELECT
Entity_Name,
Count(*) Count_All,
Count(NULLIF(Plan_Name, 'Complementary_Package')) Not_Complementary_Package
FROM mq_active_sep21
GROUP BY Entity_Name
ORDER BY Entity_Name;
和代碼如下:
$sql = mysqli_query($connection, "
SELECT
Entity_Name,
Count(*) Count_All,
Count(NULLIF(Plan_Name, 'Complementary_Package')) Not_Complementary_Package
FROM mq_active_sep21
GROUP BY Entity_Name
ORDER BY Entity_Name;
");
while($row = mysqli_fetch_assoc($sql)) {
printf(
"Entity_Name: %s, Total: %d, Complementary_Package: %d " . PHP_EOL,
$row['Entity_Name'],
$row['Count_All'],
$row['Count_All'] - $row['Not_Complementary_Package']
);
}
在線測驗 PHP 和 SQL 代碼
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/324621.html
