使用两个表显示多行

时间:2014-09-25 23:53:28

标签: php join mysqli html-table rows

我在PHP编程方面不是很好,并且还在学习它 这是我的问题,我需要显示来自两个不同表格的行的结果,研究过的东西并尝试但都失败了。

希望有人可以就我的代码行提出一些建议。

$query = "SELECT tblparent.*, tblchild.* FROM tblparent, tblchild* FROM tblparent";
$num_results = $result->num_rows;
$result = $mysqli->query( $query );
if( $num_results ){
        echo "<center><table border='1' id='members'>";
                echo "<tr>";
                        echo "<th>Parent ID</th>";
                        echo "<th>Parent Firstname</th>";
                        echo "<th>Parent Lastname</th>";
                        echo "<th>Parent Middlename</th>";
                        echo "<th>Child ID</th>";
                        echo "<th>Child Firstname</th>";
                        echo "<th>Child Middlename</th>";
                        echo "<th>Child Lastname</th>";
                        echo "<th>Action</th>";
                echo "</tr>";
        while( $row = $result->fetch_assoc() ){
                extract($row);
                echo "<tr>";
                        echo "<td>{$Parent_ID}</td>";
                        echo "<td>{$PFname}</td>";
                        echo "<td>{$PLname}</td>";
                        echo "<td>{$PMname}</td>";
                        echo "<td>{$Child_ID}</td>";
                        echo "<td>{$CFname}</td>";
                        echo "<td>{$CMname}</td>";
                        echo "<td>{$CLname}</td>";
                        echo "<td>";
                                echo "<a href='#' onclick='delete_mem( {$Parent_ID} );'>Delete</a>";
                        echo "</td>";
                echo "</tr>";
        }
        echo "</table>";
}
else{
        echo "No records found.";
}
$result->free();
$mysqli->close();

1 个答案:

答案 0 :(得分:1)

我看到两个错误:

  1. 你应该满足正确的陈述顺序,$result应该是 在$num_results分配之前。
  2. 您的SQL查询似乎有误。
  3. 你需要调整以下代码,我假设 tblparent 有一个id而 tblchild tblparent id的关系为<强> PARENT_ID

    $query = "SELECT tblparent.*, tblchild.* FROM tblparent, tblchild WHERE tblparent.id = tblchild.parent_id";
    $result = $mysqli->query( $query );
    $num_results = $result->num_rows;