我有两个表,SpeciesHuntBoats包含Boats,Make,Skipper等和SpeciesHunt的详细信息,由船长提交一份捕获报告表格,其中包含捕鱼捕捞的详细信息。 showboats.php显示5列,年份,船名,制作,船长,物种数量。
对于最后一列,我想要显示出SpecNameHunt中出现BoatName的行数(给出一个谁输入了最多捕获量的排行榜)。这是我能够得到的不幸,任何帮助非常感谢!
<body>
<?php
$servername = "xxx";
$username = "xxx";
$password = "xxx";
$dbname = "xxx";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// Count Rows
$result = mysqli_query($conn, "SELECT * FROM SpeciesHunt");
$num_rows = mysqli_num_rows($result);
// Check row count of entire table works
echo "$num_rows Rows\n";
$sql = "SELECT Year, BoatName, BoatMake, Skipper FROM SpeciesHuntBoats";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo "<table><tr><th>Hunt Year</th><th>Boat Name</th><th>Boat Make</th><th>Skipper</th><th>Number Of Species</th></tr>";
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<tr><td>" . $row["Year"]. "</td><td>" . $row["BoatName"]. "</td><td>" . $row["BoatMake"]. "</td><td>" . $row["Skipper"]. "</td><td>
$num_rows</td></tr>";
}
echo "</table>";
} else {
echo "0 results";
}
$conn->close();
?>
</body>
表格结构: SpeciesHunt
答案 0 :(得分:0)
对于你的桌子,你应该更好地利用船只和狩猎之间的关系
你应该研究一下sql关系。
目前,您基本上将船名,船舶和船长保存两次。
这是对结构的更好建议:
<强>船强>
<强>狩猎:强>
在这种情况下,您可以执行连接两个表的SQL查询
Sub parser206()
Dim r As Range
For Each r In Columns(1).Cells.SpecialCells(2)
arr = Split(r.Text, ":")
r.Offset(0, 1) = arr(1)
r.Offset(0, 2) = arr(2)
Next r
End Sub
这将返回一条具有狩猎记录总数的特定船只。
您可以研究的内容: