geloescht_Larusso7 Geschrieben 2. April 2003 Teilen Geschrieben 2. April 2003 Servus ihr da ich habn kleines Problem hab hier versucht mein Tabelle KATEGORIE abzubilden die Werte hab ich mit Hand eingebegen man kann anhand von der KAT_PARENT_ID feststellen welchen Kategorie zu welcher Ober-Unterkategorie gehört KAT_PARENT_ID = KAT_ID von Oberkategorie zB: Oberkategorie ----------------------->Auto Unterkategorie--------> Sportwagen--- Geländewagen Unterkategorie ------>Targa------Cabrio KAT_ID-----------------------------------------------KAT_NAME-------------KAT_PARENT_ID 4477fe32b80c5faaaba2aa2fbf5bc9ba------Haus----------------------0 dcf1406c77a96c8623a67deb0a905d00---Auto---------------------- 0 4477fe32b80c5faaaba2aa2fbf5bc9bab----Eigentumshaus-------4477fe32b80c5faaaba2aa2fbf5bc9ba 4477fe32b80c5faaaba2aa2fbf5bc9bac----Mehrfamilienhaus----4477fe32b80c5faaaba2aa2fbf5bc9ba dcf1406c77a96c8623a67deb0a905d01---Sportwagen------------dcf1406c77a96c8623a67deb0a905d00 dcf1406c77a96c8623a67deb0a905d02---Geländewagen--------dcf1406c77a96c8623a67deb0a905d00 dcf1406c77a96c8623a67deb0a905d01a--Targa--------------------dcf1406c77a96c8623a67deb0a905d01 dcf1406c77a96c8623a67deb0a905d01b--Cabrio-------------------dcf1406c77a96c8623a67deb0a905d01 mein Problem ist ich möchte das Ergebnis mit Hilfe von php so ausgeben das man erkennen kann welche Oberkategorie welche Unterkategorien beinhalten zu späteren Zeitpunkt auch noch löchen ändern und hinzufügen von Ober-Unterkategorien hat einer von euch ne Ahnung wie man da am besten vorgeht Gruss Flo Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DataStreamWarrior Geschrieben 2. April 2003 Teilen Geschrieben 2. April 2003 Hi! Da gibt's mehrere Möglichkeiten. Die einfachste wäre vermutlich, einfach 'nen Haufen verschachtelter listen (<ul> <li> </ul>) zu erstellen. Etwas aufwändiger wäre da z.B. ein dynamisch generiertes JavaScript, welches dir das ganze in 'ner Baumansicht darstellt. Aber du wirst wohl in keinem Fall darum herum kommen, die einzelnen Kategorien und Unter-Kategorien rekursiv durchzuarbeiten. Für die einfache Variante hab' ich hier mal 'nen code-schnipsel: function BuildMessages($CurrID){ $SQLQuery="SELECT * FROM Forum WHERE ParentID=$CurrID ORDER BY Datum DESC, Zeit DESC"; $result=mysql_query($SQLQuery) or die ("<h3><font color=FF0000>" . mysql_error() . "</font></h3>"); $NumberOfRows=mysql_num_rows ($result); echo "<ul type=\"disc\">\n"; for($i=0;$i<$NumberOfRows;$i++){ echo "<li><img src=\"" . mysql_result($result,$i, "IconURL") . "\"> <a href=\"forum.php?Action=ShowMessage&MessageID=" . mysql_result($result,$i, "MessageID"). "\">" . htmlentities(mysql_result($result,$i,"Ueberschrift")) . "</a> von " . mysql_result($result,$i,"Username") . "\n"; BuildMessages (mysql_result($result,$i,"MessageID")); } echo "</ul>\n"; } Den müsstest du dann halt auf deine Bedürfnisse anpassen. Die dynamische (JavaScript) Lösung ist vom Prinzip her ähnlich, nur schreibst du da dann halt irgendwelche JS-Codezeilen raus. Hoffe, erstmal geholfen zu haben. Gruß, DSW Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
*I C Q* Geschrieben 2. April 2003 Teilen Geschrieben 2. April 2003 War mal so frei und hab den Ansatz von DSW noch aufgebohrt um Deine "Zusatzwünsche" abzudecken. <?php function ErstelleListe($CurrID) { $SQLQuery="SELECT * FROM tabelle WHERE ParentID=$CurrID"; $result=mysql_query($SQLQuery) or die ("<h3><font color=FF0000>" . mysql_error() . "</font></h3>"); $NumberOfRows=mysql_num_rows ($result); if ($NumberOfRows>0) { echo "<ul type=\"disc\">\n"; } while(list($ID,$name, ) = mysql_fetch_row($result)) { echo "<li><a href=\"detail.php?oc=edit&ID=$ID\"><img src=\"edit.gif\"></a><a href=\"detail.php?oc=del&ID=$ID\"><img src=\"del.gif\"></a><a href=\"detail.php?oc=show&ID=$ID\">$name</a>"); ErstelleListe($ID); } echo "</ul>\n"; } ?> [/PHP] Ist prinzipiell das Gleiche wie das von DSW, bis darauf, dass ich die Forumsüblichen Dinger rausgeschmissen habe und stattdessen zwei Image-Hyperlinks eingefügt habe. Du musst Dir jetzt nur noch zwei Grafiken (edit.gif, del.gif) klauen und eine detail.php erstellen. In dieser fragst den OC ab, ob er "edit", "del" oder "show" ist und kannst dann je nach OC den Satz löschen, ändern oder betrachten. Zum Hinzufügen packst ein Formular unten drunter, welches Du mit einer Listbox ausstattest, in der der Anwender die Parent-Kategorie wählen kann. Das Ganze sieht dann ungefähr so aus: [PHP] <form action="add.php" method="post"> Name: <input type="text" name="KAT_NAME" size="50" maxsize="50"> Oberkategorie: <select name="PARENT_ID" size="1"> <option value="0">Keine</option> <?php $SQLQuery="SELECT * FROM tabelle order by KAT_NAME"; $result=mysql_query($SQLQuery) or die ("<h3><font color=FF0000>" . mysql_error() . "</font></h3>"); while(list($ID,$name, ) = mysql_fetch_row($result)) { echo("option value=\"$ID\">$name</option>") } ?> </select> <input type="Submit" name="btnsub" value="Abschicken"> </form> In der add.php machst dann Dein Insert auf die Tabelle und bietest einen Link an für zurück oder includest die alte Seite wieder. Achtung: Ich konnte die Codeschnippsel leider nicht testen, es kann also sein, dass noch der eine oder andere syntaktische Fehler drin ist, aber prinzipiell sollte es so funktionieren! ICQ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.