PHP Drop down Menu Frage

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

  • PHP Drop down Menu Frage

    Hallo ich habe mir mühevoll den Script zusammengestellt, ich muss dazu auch sagen das ich Anfänger bin.
    Ich habe dazu eine kleine Frage ich habe mir eine DB angelegt ..
    CREATE TABLE `kategorien` (
    `ID` int(10) NOT NULL auto_increment,
    `Unterbereich_von` varchar(10) NOT NULL default '',
    `bereich` varchar(50) NOT NULL default '',
    KEY `ID` (`ID`)
    ) TYPE=MyISAM AUTO_INCREMENT=10 ;


    und den Script
    PHP-Code:
    <?


    mysql_connect("localhost","root","");
    mysql_select_db("shop");
    $abfrage = "SELECT bereich FROM kategorien";
    $ergebnis = mysql_query($abfrage);

    echo         "<table border=0 cellspacing=2 cellpadding=2 border=0>";
    echo         "<form action=kategorien.php?auswahl=seite2&aktion=insert method=post>";
    echo            "<tr>";
    echo                 "<td>";
    echo                     "<p>";
    echo                     "<p>Unterberich von&nbsp;&nbsp;";
    echo                 "</td>";
    echo                 "<td>";
    echo                     "<select name=\"unterb\" size=\"1\">";
    echo                    "<option>";
    echo;
    echo                     "</option>";
                            while($row = mysql_fetch_object($ergebnis))
                                    {
    echo                    "<option>";
    echo                     $row->bereich;
    echo                     "</option>";
        }
    echo                    "</select>";
    echo                 "</td>";
    echo            "</tr>";






    echo            "<tr>";
    echo                "<td>Bereich : </td>";
    echo                "<td><input type=text name=bezn size=30 maxlength=50>$fehler</td>";
    echo            "</tr>";
    echo            "<tr>";
    echo                "<td><input type=submit name=sub value=Eintragen></td>";
    echo                "<td><input type=reset name=res value=Reset></td>";
    echo        "</table>";
    echo        "</form>";


     if ($aktion == "insert")
     {

        if ($unterb == "")
        {
        $unterb = "---";
        }
            if ($bezn == "") {die("<b><Font color=#FF0000>Bezeichung Fehlt !</font></b>");}

        // echo "Unterbereich: $unterb<br>";
        // echo "Bezeichnung: $bezn<br>";

         mysql_connect("localhost","root","");
         mysql_select_db("shop");
         $eintrag = "INSERT INTO kategorien ( Unterbereich_von, bereich  )VALUES ( '$unterb', '$bezn' )";
         $eintragen =  mysql_query($eintrag);
         echo "Daten wurden erfolgreich eingefügt";
         echo ("<meta http-equiv=\"Refresh\" content=\"0 url=kategorien.php\">");

     }

    ?>
    so...
    das funkt auch soweit Ich kann einen Bereich oder Unterbeich von einem Bereich an legen ...
    Da der Script mit dann im DropDown Fenster alles anzeigt wird das eine ewige liste..
    Gibt es eine Möglichkeit in dem DropDown Fenster die anzeige so zu Gestelten Unterberich von : \software\windows
    \software\windows\sp1
    ich hoffe ihr könnt mir einbischen folgen...

    Bin Dankbar für jede Antwort

  • #2
    also du willst dass du X dropdownlisten mit dem hauptbereichen hast, in denen du dann unterbereiche oder ähnliches definierst / angezeigt bekommst?

    Kommentar


    • #3
      nein nur eine und dort soll dan angezeigt werden zb.
      es gibt einen Bereich Hardware und den Unterberrich dazu ist Grafikkarte

      jetzt soll im Dropdown menu bei der auswahl stehen

      ..
      Hardware
      Hardware\Grafikkarte

      nur 1 DropDown !!

      Kommentar


      • #4
        nein nur eine und dort soll dan angezeigt werden zb.
        es gibt einen Bereich Hardware und den Unterberrich dazu ist Grafikkarte

        jetzt soll im Dropdown menu bei der auswahl stehen

        ..
        Hardware
        Hardware\Grafikkarte

        nur 1 DropDown !!

        Kommentar


        • #5
          PHP-Code:
          $Query '
            SELECT 
              ka.bereich main,
              kb.bereich sub,
            FROM 
              kategorien ka
            LEFT JOIN
              kategorien kb
            ON
              ka.id = kb.unterbereich_von
            WHERE 
              ka.id = '
          .$_GET['parent_id'].'
            ORDER BY
              ka.bereich, kb.bereich
          '

          ungetestet, aber als anregung ... eventuell mal SELECT * machen und in PMA testen, ... RIGHT JOIN etc.
          Die Zeit hat ihre Kinder längst gefressen

          Kommentar


          • #6
            Danke für deine Antwort vielleivht ein kleiner tipp wie ich das in mein script einbau

            Kommentar


            • #7
              teste die query doch mal in php_my_admin.

              meine query sollte dein select * from kategorien ersetzen, wie unschwer zu erkennen ist.
              Die Zeit hat ihre Kinder längst gefressen

              Kommentar


              • #8
                Also, falls ich das richtig verstanden habe, hier ein kleiner Vorschlag

                PHP-Code:
                $abfrage "SELECT bereich, untergruppe_von FROM kategorien";

                # Hier kommt dann alles bis zum while($row = mysql_fetch_object($ergebnis))

                echo                   "<option>' . $row[0] . 'a' . $row[1]. '</option>'; #a= einmal backslash

                # Nun weiter in dem Script, das mit dem Unterbereich kannst du dir nun sparen 
                Das wär nun die Abfrage, doch damit wir das alles richtig in die Datenbank speichern, müssen wir den Insert ein wenig modifizieren

                PHP-Code:
                #nach der {

                $data explode('a'$unterb); # a = zweimal backslash
                $unterb $data[1];
                $bezn$data[0];

                # Nun weiter in dem Script 
                Das solls gewesen sein. Diese Veränderungen müßten das machen, was du versucht uns begreiflich zu machen (hoffe ich).
                Veränderungen sind zwar ungetestet, sollten aber dennoch funktionieren!

                HTH
                Zuletzt geändert von yozek; 12.05.2004, 23:32.

                Kommentar


                • #9
                  Er zeigt mir jetzt im DropDown Menu nur ' . . 'a' . . ' an kein Daten mehr !!!

                  Kommentar


                  • #10
                    dann schau die meinen quelltext an und deinen von der erzeugten Website

                    Ein wenig anpassen würde nicht schaden, zumal ich einen fehler gemacht habe ... einmal leite ich die Echoausgabe mit " an und nicht wie gewollt mit '

                    Ein wenig selber probieren bewirkt meistens wunder...

                    ansonsten bitte die grundlagen von PHP durchlesen

                    Kommentar

                    Lädt...
                    X