组合两个SQL表以在HTML中创建单个表
谢谢你的帮助! 我遇到了一个有点复杂的问题,我正在想办法解决它。 本质上,我正在尝试生成一个HTML表,该表从关于作者的SQL数据库中派生出它的所有值。在这个表中,我试图显示ID、他们的名字、姓氏以及每个作者写过的书的总数 在sql中,我正在与两个表进行交互,但我不太清楚如何将它们组合在一起只得到一个表(在HTML中) 第一个表由ID、名字和姓氏组成。 第二个表由AuthorID(外键引用ID)和BookID组成 从本质上讲,每个作者出现的总次数就是他们写了多少本书。因此,我需要找到一种方法将其合并到我先前存在的select语句中 我已经成功地用ID、他们的名字和姓氏创建了一个表,但似乎能够找到如何引用第二个表和计算实例的方法。我已经包括了我的HTML和一些数据库截图 HTML:组合两个SQL表以在HTML中创建单个表,html,mysql,sql,web-development-server,Html,Mysql,Sql,Web Development Server,谢谢你的帮助! 我遇到了一个有点复杂的问题,我正在想办法解决它。 本质上,我正在尝试生成一个HTML表,该表从关于作者的SQL数据库中派生出它的所有值。在这个表中,我试图显示ID、他们的名字、姓氏以及每个作者写过的书的总数 在sql中,我正在与两个表进行交互,但我不太清楚如何将它们组合在一起只得到一个表(在HTML中) 第一个表由ID、名字和姓氏组成。 第二个表由AuthorID(外键引用ID)和BookID组成 从本质上讲,每个作者出现的总次数就是他们写了多少本书。因此,我需要找到一种方法将其
文件
作者报告:
身份证件
名字
姓
SQL映像:
谢谢
目前我拥有:
要查找作者提供的全部书籍,只需将查询更改为
SELECT ID,FirstName,LastName,(SELECT count(bookId) from books where authorId = Author.id ) as noofbooks from Author
在此子查询查找每个作者的图书数量
<div class="container">
<div class="jumbotron">
<h3>Author Report:</h3><br>
<table>
<tr>
<th>ID</th>
<th>First Name</th>
<th>Last Name</th>
<th>No of Books</th>
</tr>
<?php
$conn = mysqli_connect("localhost","root","","Zion");
if ($conn-> connect_error){
die("Connection Failed:". $conn-> connect_error);
}
$sql = "SELECT ID,FirstName,LastName,(SELECT count(bookId) from books where authorId = Author.id ) as noofbooks from Author";
$result = $conn-> query($sql);
if($result->num_rows>0){
while($row = $result-> fetch_assoc()){
echo "<tr><td>". $row["ID"] . "</td><td>". $row["FirstName"]."</td><td>". $row["LastName"]. "</td><td>". $row["noofbooks"]. "</td></tr>";
}
echo"</table>";
}
$conn-> close()
?>
</div>
作者报告:
身份证件
名字
姓
书籍数量
谢谢!当我引用ID、FirstName和last name时,如何引用这个select语句以在while循环中使用?嘿,我实现了您的解决方案!再次非常感谢,但是我收到了这个奇怪的错误“注意:在第38行的/Applications/XAMPP/xamppfiles/htdocs/authorreport.php中尝试获取非对象的属性'num_rows'。知道为什么会这样吗?@NoahSmiley当查询字符串中存在逻辑错误时,即if($result->num_rows>0)
返回空对象时,就会发生这种情况。确保您执行的查询字符串正确。因此,您应该将if更改为以下内容:`if($result&&$result->num_rows)`。
<div class="container">
<div class="jumbotron">
<h3>Author Report:</h3><br>
<table>
<tr>
<th>ID</th>
<th>First Name</th>
<th>Last Name</th>
<th>No of Books</th>
</tr>
<?php
$conn = mysqli_connect("localhost","root","","Zion");
if ($conn-> connect_error){
die("Connection Failed:". $conn-> connect_error);
}
$sql = "SELECT ID,FirstName,LastName,(SELECT count(bookId) from books where authorId = Author.id ) as noofbooks from Author";
$result = $conn-> query($sql);
if($result->num_rows>0){
while($row = $result-> fetch_assoc()){
echo "<tr><td>". $row["ID"] . "</td><td>". $row["FirstName"]."</td><td>". $row["LastName"]. "</td><td>". $row["noofbooks"]. "</td></tr>";
}
echo"</table>";
}
$conn-> close()
?>
</div>