[英]Multiple html table generation from mysql
我有這樣的mysql表結構(讓我們說tableA):
unitID, Value1, Value2, Value3, Value4, Value5, Value6, Value7, Value8.
我使用以下代碼創建數據表。
<html>
<head>
<style>
.tbstyle {
border: 1px solid #CCC;
font-family: Arial, Helvetica, sans-serif;
font-size: 14px;
border-collapse: collapse;
float: left;
}
.tbstyle td {
padding: 3px;
margin: 2px;
border: 1px solid #ccc;
text-align: center;
height: 13px;
}
</style>
</head>
<body>
<table class="tbstyle" id="">
<?php
include ("config.php");
$sql = "SELECT Value1, Value2, Value3, Value4, Value5, Value6, Value7, Value8 FROM tableA ";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc())
{
echo "</td><td>". $row["Value1"] . "</td><td>" . $row["Value2"]. "</td><td>" . $row["Value3"]."</td><td>" . $row["Value4"]."</td><td>" . $row["Value5"].
"</td><td>" . $row["Value6"]."</td><td>" . $row["Value7"]."</td><td>" . $row["Value8"]. "</td></tr>";
}
echo "</table>";
} else { echo "0 results"; }
$conn->close();
?>
</table>
</body>
</html>
我有另一個具有saleID的mysql表(讓我們說tableB)。 我想在表格上方並排生成與tableB上的saleID數量一樣多的數字。
並且我需要使每個生成的<table id="">
具有唯一的saleID。 我的意思是表ID應該以saleID命名。 我在代碼空白中保留了表格ID。 <table class="tbstyle" id="">
我會很感激我能得到的任何幫助。 謝謝。
這是我當前的代碼,它不完整,沒有給出預期的結果:
<table class="tbstyle" id="">
<?php
$conn=mysqli_connect("localhost","root","","mydb");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql="SELECT saleID FROM tableB";
if ($result=mysqli_query($conn,$sql))
{
$rowcount=mysqli_num_rows($result);
}
$sql = "SELECT Value1, Value2, Value3, Value4, Value5, Value6, Value7, Value8 FROM tableA ";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc())
for ($x = 0; $x <= $rowcount; $x++)
{
echo "</td><td>". $row["Value1"] . "</td><td>" . $row["Value2"]. "</td><td>" . $row["Value3"]."</td><td>" . $row["Value4"]."</td><td>" . $row["Value5"].
"</td><td>" . $row["Value6"]."</td><td>" . $row["Value7"]."</td><td>" . $row["Value8"]. "</td></tr>";
}
echo "</table>";
} else { echo "0 results"; }
$conn->close();
?>
</table>
好的,這是我的建議。
SELECT saleID FROM tableB ORDER BY saleID
。 <table>, <thead> ... </thead><tbody>
) SELECT * FROM tableA
。 <tr><td>...</td>...</tr>
)。 </tbody></table>
)。 因此,您循環兩次,一次循環到tableB,再次循環到tableA。 每個saleID在內部循環中都是一個新表。
我仍然不清楚的一個細節是tableA和tableB之間的鏈接在哪里。 您如何知道tableA中的值適用於您剛剛閱讀的saleID? 無論如何,我的答案嚴格來說是HTML-PHP版本,在這里沒有數據庫邏輯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.