Ich bin neu im Codieren und ich habe versucht herauszufinden, wie man sich einer Tabelle richtig anschliesst. Ich habe darüber gelesen, aber aus irgendeinem Grund habe ich ein wenig Mühe, meinen Kopf darum zu wickeln.Wie man einer Tabelle beitritt, um Kategorie, Unterkategorie und Produkt ID zu zeigen
Ich habe einen localhost eingerichtet und habe mit PHP und MySQL rumgespielt. Ich habe versucht, Kategorien und Unterkategorien in derselben Tabelle zu erstellen. Ich habe eine Tabelle mit den folgenden Zeilen.
Table name: categories id main_cat parent_id sub_cat_name
ich versucht, einen Tisch zu machen, die jede Untergruppe mit der entsprechenden Hauptkategorie und Eltern-ID angezeigt werden würde. Ich recherchierte online und stieß auf JOIN-Tabellen. Bisher konnte ich die Unterkategorie mit der entsprechenden Hauptkategorie anzeigen, aber die Eltern-ID nicht anzeigen. Die Eltern-ID gibt null
zurück. Unten ist mein Code. Kann jemand erklären, warum das nicht funktioniert und ob dies der beste Weg ist, die Daten anzuzeigen.
<table class="table table-striped">
<thead>
<tr>
<th>Subcategory Name</th>
<th>Main Category</th>
<th>Parent ID</th>
</tr>
</thead>
<tbody>
<?php
// connect to database
include 'config/config.php';
include 'config/opendb.php';
$sql='SELECT t1.main_cat_name, t2.sub_cat_name, t3.parent_id FROM categories t1
LEFT JOIN categories t2 ON t2.parent_id = t1.main_cat_id
LEFT JOIN categories t3 ON t2.main_cat_id = t3.parent_id
WHERE t2.sub_cat_name IS NOT NULL;';
$rs=$conn->query($sql);
$rs->data_seek(0);
while($row = $rs->fetch_assoc())
{
$mainCatName = $row['main_cat_name'];
$subCatName = $row['sub_cat_name'];
echo"<tr>
<td>$subCatName</td>
<td>$mainCatName</td>
<td></td>
</tr>";
}
$conn->close();
?>
</tbody>
</table>
Meine Frage ist falsch, weil es immer noch die main_cat_name leer zurückkehren wird. Ich habe verschiedene Suchabfragen versucht, aber entweder main_cat_name oder sub_cat_name sind leer. –