Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Kategorien zuordnung

Empfohlene Antworten

Veröffentlicht

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

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

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.