Suche begrenzen auf erste Ziffer

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

  • Suche begrenzen auf erste Ziffer

    Hallo,

    Ich möchte eine Suche bauen.
    In einer Dropdownliste kann man eine PLZ von 0-9 auswählen.
    Jetzt sollen mir alle Datensätze angezeigt werden, die in diesen PLZ-Bereich fallen.

    Aber wie mache ich das?

    Mit like funktioniert das leider nicht. In meiner db steht z.b. als PLZ 53078.
    Wenn man nun PLZ 5 auswählt, sollen alle diese Datensätze ausgegeben werden.

  • #2
    Re: Suche begrenzen auf erste Ziffer

    Original geschrieben von IceT
    Mit like funktioniert das leider nicht.
    Und wie das funktioniert.

    Man muss es halt richtig machen, wie hast du's denn versucht?
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      so

      $sql = mysql_query(" SELECT * FROM tbl WHERE plz like '$suchplz' ");

      oder auch

      $sql = mysql_query(" SELECT * FROM tbl WHERE plz like '%$suchplz%' ");

      aber dann gibt er immer entweder alles aus oder nichts, aber nicht den Bereich den ich möchte

      Kommentar


      • #4
        verrätst du mir bitte mal, warum du nach %$suchplz% suchst?

        ich dachte, $suchplz soll am anfang stehen...
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          noch was

          achja, noch eine Frage:

          Gibts ne Möglichkeit eine Variable innerhalb einer Abfrage zu ignorieren ?

          Mal ein Beispiel:

          Ich wähle wie oben beschrieben KEINE plz aus.

          Ich möchte aber trotzdem in meiner Abfrage die plzsuche einbauen.
          $sql = mysql_query(" SELECT * FROM tbl WHERE plz like '$suchplz' ");

          In diesem Beispiel hat die suchplz den WERT ="leer", da ich ja nichts ausgewählt habe.
          In meiner Abfrage findet er ja jetzt logischer Weise nichts.
          Das Problem ist aber, ich habe mehrere Suchkriterien, also
          $sql = mysql_query(" SELECT * FROM tbl WHERE plz like '$suchplz' AND begriff like '$suchbegriff'");

          Da plz jetzt aber leer ist, findet er gar nichts.
          Gibts ne Möglichkeit das irgendwie hinzubekommen, dass er wenn suchplz="leer" ist, er diesen Teil der Abfrage ignoriert?

          Kommentar


          • #6
            hmm

            -->verrätst du mir bitte mal, warum du nach %$suchplz% suchst?
            ich dachte, $suchplz soll am anfang stehen...


            habe halt versucht, das irgenwie hinzubekommen.
            Und da es mit ='$suchplz' nicht ging

            Mit ='$suchplz' kann es ja auch nicht gehen oder?
            Weil meine suchplz hat ja den Wert zum Beispeil 5.
            In db steht aber 53078.
            Das kann er doch so nicht finden oder?

            Kommentar


            • #7
              und warum nicht like '5%' anwenden?

              Kommentar


              • #8
                weil

                das geht ja nicht, weil $suchplz ja nicht immer den Wert 5 hat.
                Ist ja eine Dropdownliste von 0-9.
                Kann also genau so gut 1, 4 oder 9 haben.

                Kommentar


                • #9
                  viel schneller ist

                  "where LEFT(plz,1) = $ZAHL"
                  TBT

                  Die zwei wichtigsten Regeln für eine berufliche Karriere:
                  1. Verrate niemals alles was du weißt!


                  PHP 2 AllPatrizier II Browsergame

                  Kommentar


                  • #10
                    Re: weil

                    Original geschrieben von IceT
                    das geht ja nicht, weil $suchplz ja nicht immer den Wert 5 hat.
                    Ist ja eine Dropdownliste von 0-9.
                    Kann also genau so gut 1, 4 oder 9 haben.
                    ach nee ... und wer hindert dich daran statt dessen ... like '$suchplz%' in die Abfrage einzubauen? Wie wär's mit ein bisschen nachdenken, bevor man meckert?

                    Kommentar


                    • #11
                      Original geschrieben von TBT
                      viel schneller ist

                      "where LEFT(plz,1) = $ZAHL"
                      das hilft ihn nicht, wenn $suchplz leer ist
                      $sql = mysql_query(" SELECT * FROM tbl WHERE plz like '$suchplz' AND begriff like '$suchbegriff'");

                      Kommentar

                      Lädt...
                      X