Menüstruktur aus Datenbank generieren

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Menüstruktur aus Datenbank generieren

    Hi,

    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

  • #2
    Am besten du postest mal was von deinem Skript, so dass man eine Orientierung bekommt, wie du die Sache angegangen bist.l
    [FONT=arial][COLOR=orangered]
    Mein Buchtipp: Gegenseitige Hilfe (Michail Kropotkin)
    [/COLOR]

    ... und nicht vergessen: der Ton macht die Musik ;-)

    ... aber, manchmal ruft man in den (Forum-)Wald hinein und es schallt ganz anders heraus
    [/FONT]

    Kommentar


    • #3
      Oh das hatte ich vergessen

      PHP-Code:

      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>";
        }
        }
        } 

      Kommentar


      • #4
        Hast du schon mal eine SQL-Abfrage mit "Where"-Klausel formuliert?

        z.B.

        SELECT * FROM meinetabelle WHERE Firma = 'ausgewähltefirma'
        AND Abteilung = 'ausgewählteabteilung'
        [FONT=arial][COLOR=orangered]
        Mein Buchtipp: Gegenseitige Hilfe (Michail Kropotkin)
        [/COLOR]

        ... und nicht vergessen: der Ton macht die Musik ;-)

        ... aber, manchmal ruft man in den (Forum-)Wald hinein und es schallt ganz anders heraus
        [/FONT]

        Kommentar


        • #5
          Versucht habe ich es schon aber ich weiss dann leider nicht woher die Werte ausgewähltefirma und ausgewählteabteilung kommen sollen.
          Irgendwie fehlt mir da noch die Logik.

          Kommentar


          • #6


            Hä...
            Wieso fehlt dir da die logik?

            Du generierst dir einen Link so wie´s aussieht

            index.php?action=abteilung&bla=".$row['Abteilung'] <--

            $_GET["bla"] beinhaltet die Abteilung die du dann in einem weiteren SQL Statement verwenden kannst...
            gruss Chris

            [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

            Kommentar


            • #7
              Ah ok nu hab ichs glaub geschnallt.
              Also in der Variable bla is dann der Wert Abteilung drin und mit $_GET kann ich ihn holen und dann wieder ausgeben, hab ich das so richtig verstanden??

              Aber was ich noch nicht ganz verstehe wie muss ich das $_GET dann einbinden?? Einfach in noch eine Schleife oder wie genau?

              Kommentar


              • #8
                s. hhcm

                Genauso funktioniert es.

                ... und wenn ich auch schon so gut wäre wie hhcm, könnte ich deine "fehlende Logik" dann auch nicht mehr verstehn?
                [FONT=arial][COLOR=orangered]
                Mein Buchtipp: Gegenseitige Hilfe (Michail Kropotkin)
                [/COLOR]

                ... und nicht vergessen: der Ton macht die Musik ;-)

                ... aber, manchmal ruft man in den (Forum-)Wald hinein und es schallt ganz anders heraus
                [/FONT]

                Kommentar


                • #9
                  Danke für den Denkanstoss, habe es nun geschafft
                  Mit Hilfe einer Switchabfrage

                  Kommentar


                  • #10
                    PHP-Code:
                    // Wenn die Abteilung gesetzt ist (also per URL übergabe) dann wird diese genutzt ansonsten ist $abteilung = false
                    $abteilung = (isset($_GET["bla"]) ? $_GET["bla"] : false// Lustiger name für eine Abteilung 


                    $sql "SELECT * FROM `telefonliste` ";

                    // Wenn die Abteilung gesetzt ist wird auch nur diese abgefragt
                    if ($abteilung$sql .= "WHERE abteilung = '$abteilung'"
                    Weiterhin.. if ($action = "irgendwas")

                    Das kannst du auch mit nem switch machen. Unter dem Switch brauchst du dann nur 1x mysql_query usw anzuwenden. Erspart wieder viel tipparbeit und es wird alles übersichtlicher. Das hilft bei der Logik allgemein..
                    gruss Chris

                    [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                    Kommentar


                    • #11
                      Original geschrieben von hhcm
                      Weiterhin.. if ($action = "irgendwas")

                      Das kannst du auch mit nem switch machen.
                      Eine Zuweisung per switch ...?
                      *g*
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar


                      • #12
                        wie soll dass denn mit nur einem Query gehen?? Die Abteilungen sind doch immer unterschiedlich.

                        Kommentar


                        • #13
                          In dem Moment, wo der User eine bestimmte Abteilung auswählt, hast du doch eine konkrete aus allen in deinem Ergebnis, oder???
                          [FONT=arial][COLOR=orangered]
                          Mein Buchtipp: Gegenseitige Hilfe (Michail Kropotkin)
                          [/COLOR]

                          ... und nicht vergessen: der Ton macht die Musik ;-)

                          ... aber, manchmal ruft man in den (Forum-)Wald hinein und es schallt ganz anders heraus
                          [/FONT]

                          Kommentar


                          • #14
                            Ja genau, der User ist ja dann immer in einer Abteilung quasi drin.

                            Kommentar


                            • #15
                              Dann muss die nächste Abfrage so formuliert sein, dass gefragt wird,

                              gib mir alle Mitarbeiter der Abteilung aus, die der User ausgewählt hat,

                              aber das hat hhcm doch schon geschrieben.
                              [FONT=arial][COLOR=orangered]
                              Mein Buchtipp: Gegenseitige Hilfe (Michail Kropotkin)
                              [/COLOR]

                              ... und nicht vergessen: der Ton macht die Musik ;-)

                              ... aber, manchmal ruft man in den (Forum-)Wald hinein und es schallt ganz anders heraus
                              [/FONT]

                              Kommentar

                              Lädt...
                              X