Ich habe 2 Tabellen tl_docs_categories Hexe ist die Elterntabelle für tl_docs. Struktur der Tabellen sind:PHP - Holen Sie Daten aus SQL-Datenbank recurisivly
tl_docs_categories
[
id,
category_name,
pid (give the posibility to create subcategories/pid = tl_docs_categories.id if have subcategory)
]
tl_docs
[
id,
doc_name,
doc_url,
pid(id for category)
]
So habe ich so etwas in meiner Datenbank:
Was ich will, ist alles Ergebnis zurück, wenn i Kategorie Hexe wählen in rot, i Ich möchte alle Doku- und Unterkategoriennamen zurückholen. Aus meiner Sicht verwende ich ein SELECT-Formular, um die ID der ausgewählten übergeordneten Kategorie in rot zurückzugeben.
Hier ist meine PHP-Funktion:
public function checkSQL($id)
{
if(!empty($id))
{
/* SQL CHECK IF HAVE DOCS */
$sqlDoc = "SELECT category_name, doc_name, doc_url FROM tl_docs_categories dc
LEFT JOIN tl_docs d ON dc.id = d.pid WHERE d.pid = " . $id;
$objDocs = Database::getInstance()->query($sqlDoc);
if ($objDocs->numRows == 0)
{
/* SQL CHECK IF HAVE CHILD */
$sqlChild = "SELECT dc.id, category_name, doc_name, doc_url FROM tl_docs_categories dc
LEFT JOIN tl_docs d ON dc.id = d.pid WHERE dc.pid =" . $id;
$objDocs = Database::getInstance()->query($sqlChild);
return $objDocs;
}
}
else
{
return $objDocs;
}
}
}
Ich bin ein wenig verloren und ich habe nicht eine Lösung haben es recureivly zu tun und retrun Daten für jede Kategorie, Unterkategorie, subsubcategory und dann.
Vielen Dank für Ihre Hilfe bei advaice.
Sorry ich verstehe nicht, was Sie um Hilfe bitten! Was ist das Ergebnis, das Sie suchen – RiggsFolly
Ich möchte meine Funktion in rekursive Funktion, die jede Ebene überprüft und alle Dokumente, Unterkategorien Namen aus der übergeordneten Kategorie, die in rot auf Bild, das ich in meiner Sicht ausgewählt hat, zu transformieren. Beispiel ich wähle letzte rote Kategorie: Red id = 15; Grüne ID = 16; Grünes Pid = 15; Blaue ID = 17; Blau pid = 16; Also ich möchte alle Dokumente Daten und Kategorien Namen aus der Kategorie, die ich wählen, Hexe ist die rote auf. Sorry über mein Englisch: s –