Problem mit PHP/MySQL-Datenbankabfrage und Dropdownliste

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

  • #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ß

    Kommentar


    • #17
      Zitat von LudwigSt Beitrag anzeigen
      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

      Kommentar


      • #18
        Zitat von ezkimo Beitrag anzeigen
        Das kann so nicht funktionieren.
        Doch, das ist doch richtig.
        Zuletzt geändert von 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]

        Kommentar


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

          Kommentar


          • #20
            Zitat von JohnSwitters Beitrag anzeigen
            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

            Kommentar


            • #21
              Zitat von boeserfrosch Beitrag anzeigen
              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 "

              Kommentar


              • #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]

                Kommentar


                • #23
                  Zitat von JohnSwitters Beitrag anzeigen
                  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ß
                  Zitat von AmicaNoctis Beitrag anzeigen
                  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).

                  Kommentar


                  • #24
                    Zitat von LudwigSt Beitrag anzeigen
                    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]

                    Kommentar


                    • #25
                      Zitat von AmicaNoctis Beitrag anzeigen
                      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.

                      Kommentar


                      • #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?

                        Kommentar


                        • #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]

                          Kommentar


                          • #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?

                            Kommentar


                            • #29
                              Zitat von LudwigSt Beitrag anzeigen
                              Das ist aber nicht über ein "form" gelöst.
                              Was meinst du mit "das"?

                              Zitat von LudwigSt Beitrag anzeigen
                              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.

                              Zitat von LudwigSt Beitrag anzeigen
                              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]

                              Kommentar


                              • #30
                                Zitat von AmicaNoctis Beitrag anzeigen
                                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!

                                Kommentar

                                Lädt...
                                X