Probleme mit DropDown-Menü

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

  • Probleme mit DropDown-Menü

    Guten Abend,

    erstmal eine kurze Beschreibung meines Problems: Über ein DropDown-Menü möchte
    ich einen Benutzer aus einer Benutzerdatenbank auswählen (funktioniert soweit) und mir dann auch Datensätze zu dem entsprechenden Benutzer anzeigen lassen - genau hier hänge ich auch derzeit und drehe mich leider im Kreis.

    Felder aus der Datenbank in das Dropdown-Menü zu bekommen ist keine große Sache, nur wie geht es weiter? Mein erster Gedanke war "onclick", das ist aber kein
    PHP... . Ich möchte keinesfalls kompletten Code zugeworfen bekommen, bitte nur um ein paar Denkanstöße. Habe leider erst vor kurzem angefangen mich mit der Materie zu beschäftigen und lerne fleissig.

    Hier im Forum konnte ich bisher leider nichts finden.


    Danke im Vorraus.

    Lieben Gruss,
    ein Macuser

  • #2
    Entweder schickst du das Formular dann mit einem Submitbutton ab, das wäre die "normale" Variante. Oder du liest dich ein bisschen in Ajax ein, und machst es damit, das hat den Vorteil, dass de Seite nicht extra neu geladen werden muss. Passender als "onclick" wäre dann aber "onchange".
    ich glaube

    Kommentar


    • #3
      PHP-Code:
      if( isset($_POST['buttonname']) ){
        
      # hol mir ein Eis oder gleich zwei aus der DB
        # beschreib mir die Eisenteile

      Wie Ministry schon sagte mit schickem Form drumherum.
      Und ist man alt wie ein Kuh, lernt man immer noch dazu.
      THX, LOL, ROFL & Co. -> Netzjargon auf Wikipedia

      Kommentar


      • #4
        Ich habe um das z.B. den entsprechenden Vor- und Nachnamen in das Dropdown-
        Menü zu bekommen eine Abfrage an die Datenbank geschickt, speichere das ganze
        als Array und lasse nur den Vor- und Nachnamen in den Options-Tags zur Auswahl
        anzeigen - das ganze wird dann per Submit abgeschickt und der Name kann Anhand
        der ID des Arrays wieder ausgelesen werden. Jetzt möchte ich natürlich weiterarbeiten, z.B. nach dem Namen Suchen lassen und alle anderen Datenbankfelder anzeigen lassen.

        Geschickt wäre es hier auch in der Datenbank mit einer festen ID zu arbeiten, oder?

        Ich muss noch ein paar mal auf die Nase fallen bis ich weiss was ich gerade genau mache glaube ich.

        Lieben Gruss,
        ein Macuser

        Edit: Um das ganze vielleicht nochmal kurz zu erklären, ich habe eine Datenbank mit Benutzerinformationen - per Dropdown möchte ich einen Benutzer auswählen können und mir dann alle gespeicherten Benutzerdaten anzeigen lassen können (persönliche Daten, etc). Schön wäre es auch wenn ich diese dann z.B. editieren und erweitern könnte.
        Zuletzt geändert von macuser; 10.09.2007, 19:21.

        Kommentar


        • #5
          Okay - vergiss die Idee mit Ajax.

          Du machst es einfach so:

          Als action - Attribut vom Formular definierst du dieselbe Datei wo auch das Formular drinsteht.

          Dann prüfst du da drin, ob das Formular schon abgeschickt wurde (mit if (isset($_POST ...). Wenn ja, selektierst du alle Werte aus der Datenbank, die zu der ID gehören und gibst sie aus, ansonsten nur das Formular.

          Geschickt wäre es hier auch in der Datenbank mit einer festen ID zu arbeiten, oder?
          Nicht nur geschickt, sondern ganz dringend anzuraten.
          ich glaube

          Kommentar


          • #6
            Danke, ich probiere mal was rum.

            Lieben Gruss,
            ein Macuser

            Kommentar


            • #7
              Ich muss nocheinmal um Denkanstöße bitten ich komme einfach nicht weiter; die Situation:

              Ich habe eine MySQL Datenbak in der Benutzer mit ID, Vor- und Nachname sowie persönlichen Daten gespeichert sind - über ein DropDownMenü möchte ich z.B. die Nachnamen auswählen können und mir dann auf der nächsten Seite alle Daten zum ausgewählten Nachnamen anzeigen lassen.

              Gibt es für so eine Situation eine gängige Vorgehensweise?

              Lieben Gruss,
              ein Macuser

              Edit: Mein Ansatz:

              PHP-Code:
              $search=mysql_query("SELECT * FROM datenbankname");
              while(
              $daten=mysql_fetch_array($search)); {

              echo 
              '<form method="post" action="showall.php">';
              echo 
              '<select>';
              echo 
              '<option value=".$daten[Nachname]">$daten[Nachname]</option><br />';
              echo 
              '</select>';


              Zuletzt geändert von macuser; 11.09.2007, 15:06.

              Kommentar


              • #8
                Gibt es für so eine Situation eine gängige Vorgehensweise?
                Du könntest ja im Value Feld des Nachnamens die passenden ID aus der DB nehmen. Dann entscheidest du auf der Folgeseite anhand der übermittelten ID welchen Datensatz du auslesen musst.
                Nur den Nachnamen würde ich im Value nicht übermitteln, sonst kriegst du bei Meier und Müller ganz sicher Stress
                Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                Kommentar


                • #9
                  Original geschrieben von jahlives
                  Du könntest ja im Value Feld des Nachnamens die passenden ID aus der DB nehmen. Dann entscheidest du auf der Folgeseite anhand der übermittelten ID welchen Datensatz du auslesen musst.
                  Nur den Nachnamen würde ich im Value nicht übermitteln, sonst kriegst du bei Meier und Müller ganz sicher Stress

                  So ungefähr stelle ich mir das vor, leider ist in meinem Ansatz noch irgendwo mindestens ein ganz dicker Fehler versteckt.

                  Schrecklich wenn man sich so im Kreis dreht.

                  Lieben Gruss,
                  ein Macuser

                  Kommentar


                  • #10
                    So ungefähr stelle ich mir das vor, leider ist in meinem Ansatz noch irgendwo mindestens ein ganz dicker Fehler versteckt.
                    Der Fehler ist, dass dein Form ganz bestimmt nicht korrekt aufgebaut ist
                    Mal so probiert ?
                    PHP-Code:
                    $search=mysql_query("SELECT id,nachName FROM datenbankname");
                    echo 
                    '<form method="post" action="showall.php">';
                    echo 
                    '<select>';
                    while(
                    $daten=mysql_fetch_array($search)) {
                      echo 
                    '<option value="'.$daten['id'].'">'.$daten['nachName'].'</option><br />';
                    }
                    echo 
                    '</select>'
                    Gruss

                    tobi
                    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                    Kommentar


                    • #11
                      Grmpf, dankeschön. So ungefähr sah mein Versuch Gestern auch, ich weiss garnicht warum ich Heute so viel in die 'While-Schleife' packen wollte... .

                      Ich hoffe damit kann ich weiterexperimentieren.

                      Lieben Gruss,
                      ein Macuser

                      Kommentar


                      • #12
                        So,

                        die Value Werte speichere ich im <select> als Array ( name="auswahl[]") - weiter geht es wie folgt:

                        PHP-Code:
                        foreach ($_POST['auswahl'] as $yourid);

                        // Anzeige der ID
                        //echo "Ihre ID ist: $yourid<br /><br /><br />";


                        $search=mysql_query("SELECT * FROM Benutzer WHERE ID='$yourid'");
                        while(
                        $datensatz=mysql_fetch_array($search)){

                        echo 
                        "$datensatz[0]<br />";
                        echo 
                        "$datensatz[1]<br />";
                        echo 
                        "$datensatz[2]<br />";
                        echo 
                        "$datensatz[3]<br />";
                        echo 
                        "$datensatz[4]<br />";
                        echo 
                        "$datensatz[5]<br />";


                        Ist diese Vorgehensweise OK oder gibt es einen Weg der einfacher ist?

                        Lieben Gruss,
                        ein Macuser

                        Kommentar


                        • #13
                          So wird schon ok sein! Du willst dich aber über SQL-Injections informieren

                          Kommentar


                          • #14
                            Original geschrieben von PHP-Desaster
                            So wird schon ok sein! Du willst dich aber über SQL-Injections informieren
                            Steht schon auf meiner Liste.

                            Lieben Gruss,
                            ein Macuser

                            Kommentar


                            • #15
                              Noch ne kleine Frage:
                              Wie genau ist die Spalte ID bei dir in der Tabelle definiert ? Wieso als String übergeben ?
                              Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                              [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                              Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                              Kommentar

                              Lädt...
                              X