2014-09-25 3 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 DIFFERENT таблиц базы данных и помещаете их в одну таблицу HTML? –

ответ

1

Я вижу две ошибки:

  1. вы должны удовлетворять правильный порядок отчетности, $result должны быть перед тем $num_results распайки.
  2. похоже, что в вашем SQL-запросе есть ошибка.

Вам необходимо настроить следующий код, я предполагаю, что tblparent имеет идентификатор и tblchild имеет отношение к tblparent идентификатор в 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

Кстати, могу я задать другой вопрос? Возможно ли, что если я удалю Parent_ID из tblParent, запись из tblChild, из которой она имеет отношение, тоже будет удалена? Или мне нужно удалить их обоих. –

+0

Если это правильный ответ, пожалуйста, поддержите его и/или принимайте его как решение. На ваш вопрос найдите [cascade] (http://www.mysqltutorial.org/mysql-on-delete-cascade/). – CSchulz

Смежные вопросы