Menüstruktur aus Datenbank generieren

aTa

Erfahrenes Mitglied
Hi,
hab hier schon etwas gesucht aber nichts brauchbares gefunden, ich wusste auch nicht so genau nach was ich suchen soll.

Ich habe eine Datenbank mit 6 Feldern (ID Firma Abteilung Vorname Nachname Telefon), per csv Datei habe ich ein paar Datensätze in diese eingepflegt.
Das ganze soll eine Telefonliste werden und zwar sollte es so sein, dass wenn man auf Firma klickt sollen alle Firmen ausgegeben werden wenn man dann weiter klickt sollen alle Abteilungen die in den Firmen sind ausgegeben werden und wenn man dann auf Abteilungen klickt sollen alle Name der Abteilung ausgegeben werden.
Ich habe schon etwas rumprobiert aber mehr als die Ausgabe der Firmen oder der Abteilungen hab ich nicht hinbekommen, ich weiss auch nicht direkt wie ich das nun genau umsetzen soll. Hat jemand evtl einen kleinen Denkanstoss?
Danke schon mal

Markus
 
Hallo!

Nachdem du auf eine Firma geklickt hast, bekommst du alle Abteilungen ja so:
Code:
SELECT * FROM datenbank WHERE firma = $_GET['firma']

Wenn man jetzt auf eine Abteilung klickt, musst du halt darauf achten, dass durch den Klick auch die ausgewählte Firma weiterhin mitgeschickt wird, also z.B.
Code:
<a href="script.php?firma=bizerba&abteilung=kita">Kita</a>

Jetzt kannst du ganz einfach das vorherige SQL-Statement erweitern, das nur noch die entsprechenden Namen angezeigt werden:
Code:
SELECT * FROM datenbank WHERE firma = "$_GET['firma'] AND abteilung = "$_GET[abteilung]"

Natürlich sollten die an das SQL-Query übergebenen Parameter vorher ausgibig auf Gültigkeit überprüft werden.
 
Ok danke für den Tip, aber was ich noch nicht so ganz verstanden habe ist wie ich dem Link sage in welcher Kategorie er ist.
 
Was für eine Kategorie denn? Hab ich da irgendwas in deinem Startpost überlesen? :verwirrung:

Etwas komplizierter wird es nur, wenn du z.B. so eine Struktur haben willst:
Code:
Firma1
Firma2
   Abteilung1
       Name1
       Name2
   Abteilung2
   Abteilung3
Firma3
 
Sorry hab Kategorie geschrieben aber Abteilung gemeint :)
hier mal mein Code den ich bisher habe.

PHP:
<?php
//verbindung zur db
include "inc/dbconnect.inc.php";

echo "<a href=\"index.php\">home</a><br>
      <a href=\"index.php?action=firma\">firma</a><br>
      <a href=\"index.php?action=abteilung\">abteilung</a><br>";

//wenn action in url angegeben
  if (isset($action))
  {
//wenn action firma,alle firmen ausgeben
  if ($action == "firma"){
  $sql = "SELECT Firma FROM telefonliste GROUP BY Firma";
  $result = mysql_query($sql) OR die(mysql_error());
  while($row = mysql_fetch_assoc($result))
  {
  echo "<b>".$row['Firma']."<p></b>";
  }
  }
//wenn action abteilung,alle abteilungen ausgeben
  if ($action == "abteilung"){
  $sql = "SELECT * FROM telefonliste GROUP BY Abteilung";
  $result = mysql_query($sql) OR die(mysql_error());
  while($row = mysql_fetch_assoc($result))
  {
  echo "<b><a href=\"index.php?action=abteilung&bla=".$row['Abteilung']."\">".$row['Abteilung']."</a>&nbsp;</b>";
  }
  }
  }

?>
 
Zuletzt bearbeitet:
Hab nun ne Lösung habe die ganzen Abteilungen in eine Switchabfrage eingebaut, nun klappt es wunderbar.

Hier der Code:

PHP:
case Schongau:
        $sql = "SELECT * FROM telefonliste WHERE Firma = 'Schongau' ORDER BY Vorname ASC";
        $result = mysql_query($sql) OR die(mysql_error());
        while($row = mysql_fetch_assoc($result))
        {
        echo "<p>".$row['Nachname']."&nbsp;".$row['Vorname']."&nbsp;-&nbsp;".$row['Telefon']."<p>";
        }
        break;
 
Zurück