Problem mit PHP/MySQL-Datenbankabfrage und Dropdownliste

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Hi,
    du weißt in deiner if Abfrage $wert den Wert 0 zu <-- sollte dass nicht eher ein Vergleich werden (doppelte Gleichheitszeichen)? Somit wird der else Teil in keinem Fall ausgeführt.

    In dem folgenden SELECT durchsuchst du dann die Tabelle nach Wörtern die mit A anfangen... Stehen den in der id-Spalte Wörter?

    Versteh sowieso nicht ganz warum du das LIKE verwendest...

    Gruß

    Comment


    • #17
      Originally posted by LudwigSt View Post
      PHP Code:
      echo "Auswahl: "$wert
      Das kann so nicht funktionieren. Der Hinweis auf die Verkettung von Werten ist aber im Laufe des Threads schon mal erfolgt.
      MM Newmedia | MeinBlog

      Comment


      • #18
        Originally posted by ezkimo View Post
        Das kann so nicht funktionieren.
        Doch, das ist doch richtig.
        Last edited by AmicaNoctis; 30-04-2010, 09:24.
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Comment


        • #19
          Abgefahren! Da bedient man sich Design Patterns, programmiert objektorientiert und dann sowas. Man lernt nie aus ... ^^
          MM Newmedia | MeinBlog

          Comment


          • #20
            Originally posted by JohnSwitters View Post
            Hi,
            du weißt in deiner if Abfrage $wert den Wert 0 zu <-- sollte dass nicht eher ein Vergleich werden (doppelte Gleichheitszeichen)? Somit wird der else Teil in keinem Fall ausgeführt.
            Wenn $wert=0 ist, sollen alle Datensätze angezeigt werden, bei denen id mit A anfängt (ob jetzt = oder like ist an dieser Stelle, glaube ich, nicht so relevant). Ist $wert nicht 0 dann sollen alle Datensätze angezeigt werden, bei denen das Feld hauptkategorie = der Auswahl im Dropdownfeld ist. Seltsamerweise ist es genau anders herum, es wird nur der else Teil ausgeführt. Ich lasse mir $wert vor der if-Schleife ausgeben und nach der else-Anweisung. Hier der Code:
            PHP Code:
            echo "Auswahl: "$wert"_"$_POST['D1'];
             if (
            $wert "0"$sSQL "SELECT * FROM tabelle WHERE id like 'A%' ";

            else
            echo 
            "$wert ist nicht 0"
            Die Bildschirmausgabe sieht dann folgendermaßen aus: Dropdownfeld=Auswahl Value 3 ergibt:
            Auswahl: 3_3 --- 0 ist nicht 0.
            (vor der if-Schleifer --- in der else-Anweisung)
            Dropdownfeld=Auswahl Value 0 (also alle) ergibt:
            Auswahl: 0_0 --- 0 ist nicht 0

            Comment


            • #21
              Originally posted by boeserfrosch View Post
              Das sollte auch mit den einfach Anführungszeichen funktionieren.

              Ansonsten kannst du auch einfach ein Backslash vor den doppelten Anführungszeichen schreiben:

              also \"

              statt '". bzw "
              danke, boeserfrosch!
              mit dem Backslash klappt es, dann erhalte ich die "

              Comment


              • #22
                Du vergleichst aber nicht, du weist den Wert "0" zu. Genau das wollte John dir ja sagen: Einen Vergleich macht man mit ==, wenn du nur ein = hinschreibst, ist es eine Wertzuweisung.
                [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                Super, danke!
                [/COLOR]

                Comment


                • #23
                  Originally posted by JohnSwitters View Post
                  Hi,
                  du weißt in deiner if Abfrage $wert den Wert 0 zu <-- sollte dass nicht eher ein Vergleich werden (doppelte Gleichheitszeichen)? Somit wird der else Teil in keinem Fall ausgeführt.

                  In dem folgenden SELECT durchsuchst du dann die Tabelle nach Wörtern die mit A anfangen... Stehen den in der id-Spalte Wörter?

                  Versteh sowieso nicht ganz warum du das LIKE verwendest...

                  Gruß
                  Originally posted by AmicaNoctis View Post
                  Du vergleichst aber nicht, du weist den Wert "0" zu. Genau das wollte John dir ja sagen: Einen Vergleich macht man mit ==, wenn du nur ein = hinschreibst, ist es eine Wertzuweisung.
                  Danke, ich hatte nicht verstanden, dass das = in der if-Anweisung gemeint war, dachte es geht um das $wert=0 nach der include-Anweisung.

                  Nach Änderung in == klappt es jetzt, ausser bei der Auswahl 0. Anstatt, dass mir dann alle Datensätze angezeigt werden, wird mir keiner angezeigt. Es klemmt leider immer noch (ein bisschen).

                  Comment


                  • #24
                    Originally posted by LudwigSt View Post
                    Anstatt, dass mir dann alle Datensätze angezeigt werden, wird mir keiner angezeigt.
                    Vermutlich gibt es auch keinen, dessen ID mit A anfängt. Wenn du alle willst, nimm die Where-Klausel in dieser Abfrage ganz weg:

                    PHP Code:
                    "SELECT * FROM tabelle WHERE id like 'A%'" 
                    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                    Super, danke!
                    [/COLOR]

                    Comment


                    • #25
                      Originally posted by AmicaNoctis View Post
                      Vermutlich gibt es auch keinen, dessen ID mit A anfängt. Wenn du alle willst, nimm die Where-Klausel in dieser Abfrage ganz weg:

                      PHP Code:
                      "SELECT * FROM tabelle WHERE id like 'A%'" 
                      Es gibt welche, die mit G anfangen und welche die mit A anfangen. Wenn ich alle sehen will, dann nicht wirklich alle, sondern nur alle die, die mit A anfangen. Ist vielleicht etwas missverständlich, sorry.

                      Comment


                      • #26
                        Warum wird eigentlich im Dropdown-Feld immer der erste Wert angezeigt, auch wenn man den letzten ausgewählt hat? Kann man das ändern, sodaß dort der ausgewählte Wert stehen bleibt?

                        Comment


                        • #27
                          Das hättest du dir aber mal selbst zusammensuchen können: PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr - Suchergebnisse
                          [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                          Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                          Super, danke!
                          [/COLOR]

                          Comment


                          • #28
                            Das ist aber nicht über ein "form" gelöst. Heißt das, es geht bei meiner Dropdownliste nicht? Und warum funzt meine WHERE Abfrage nicht? Keine Idee?

                            Comment


                            • #29
                              Originally posted by LudwigSt View Post
                              Das ist aber nicht über ein "form" gelöst.
                              Was meinst du mit "das"?

                              Originally posted by LudwigSt View Post
                              Heißt das, es geht bei meiner Dropdownliste nicht?
                              Heißt es nicht. Deine Drop-Down-Liste ist genau wie all die anderen, also kannst du sie auch so behandeln, wie andere ihre auch.

                              Originally posted by LudwigSt View Post
                              Und warum funzt meine WHERE Abfrage nicht?
                              Hast du mal versucht, das über PHPMyAdmin direkt rauszufinden?
                              [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                              Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                              Super, danke!
                              [/COLOR]

                              Comment


                              • #30
                                Originally posted by AmicaNoctis View Post
                                Was meinst du mit "das"?

                                <Mit "das" meine ich, was der Code liefert, der in dem Artikel, den du verlinkt hast, steht.>

                                Heißt es nicht. Deine Drop-Down-Liste ist genau wie all die anderen, also kannst du sie auch so behandeln, wie andere ihre auch.

                                <Dann habe ich irgendwas in dem Artikel noch nicht verstanden.>



                                Hast du mal versucht, das über PHPMyAdmin direkt rauszufinden?
                                <Mit PHPMyAdmin funktioniert es und warum auch immer, weiss ich nicht, in meinem Skript funktioniert es jetzt auf einmal auch.> http://www.php-resource.de/forum/ima.../aktion035.gif

                                Dir und allen anderen, die mir Tips gegeben haben zunächst mal herzlichen Dank. Das nächste Problem lauert sicher schon irgendwo!

                                Comment

                                Working...