2014-09-25 75 views
0

我對編程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(); 
+0

只是爲了確認,你試圖從2個不同的數據庫表中獲取數據,並將它們放入一個HTML表格中? – 2014-09-26 00:03:16

回答

1

我看到了兩個錯誤:

  1. 要滿足語句的正確順序,$result應該 前$num_results分配新建分配FY。
  2. 它似乎在您的SQL查詢中有錯誤。

您需要調整下面的代碼,我假設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; 
+0

btw,我可以問另一個問題嗎? 是否有可能如果我從tblParent中刪除Parent_ID,tblChild中與它有關係的記錄也會被刪除?或者我需要刪除它們兩個.. – 2014-09-26 00:53:59

+0

如果這是正確的答案,請upvote和/或接受它作爲解決方案。到你的問題搜索[cascade](http://www.mysqltutorial.org/mysql-on-delete-cascade/)。 – CSchulz 2014-09-26 08:38:01