Bobby: MySQL Vergleichsproblem

Moin

Hab ein problem mit einem Vergleich.

Ich habe ein Feld PLZ in einer MySQL-Tabelle. In einem Datensatz ist dieses Feld mit der Zahl '1' gefüllt. Nun möchte ich, das wenn ein Suchstring beispielsweise mit '14254' übergeben wird, der Eintrag mit der Zahl '1' gefunden wird. Es soll aber auch ein Eintrag gefunden werden der das Feld mit '14' gefüllt hat. Ich möchte aber Nicht das der DAtensatz gefunden wird wenn '21' eingetragen ist.

Leider komm ich auf keine Lösung. Gibt es in MySQL etwas in der Art 'Beginnt mit'?

Für Hilfe wär ich sehr dankbar

Gruß Bobby

--
-> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-
-> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-
ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)
  1. echo $begrüßung;

    Gibt es in MySQL etwas in der Art 'Beginnt mit'?

    Es gibt den Operator LIKE.

    echo "$verabschiedung $name";

    1. Mit dem LIKE-Operator würde man sowohl beim Suchen des Datensatzes "1" die "30140" als auch die "21140" finden. Das will ja der OP nicht.
      Die beschränke Suche von nur einem Zeichen ist sowieso etwas lala -.-

      Wieso lässt du nicht nach kompletten PLZs suchen?
      Oder hab ich dich da falsch verstanden?

      1. echo $begrüßung;

        Mit dem LIKE-Operator würde man sowohl beim Suchen des Datensatzes "1" die "30140" als auch die "21140" finden. Das will ja der OP nicht.
        Oder hab ich dich da falsch verstanden?

        Du hast LIKE nicht verstanden. Man kann nach 1% suchen, was dann bei 1, 14 und 14254 anschlägt, nicht aber bei 30140, da das nicht mit 1 beginnt.

        echo "$verabschiedung $name";

        1. Mit LIKE kannst du aber auch das Ende eines Satzes, oder die Satzmitte durchsuchen, es ist nicht nur auf den Anfangswert beschränkt.

          1. echo $begrüßung;

            Mit LIKE kannst du aber auch das Ende eines Satzes, oder die Satzmitte durchsuchen, es ist nicht nur auf den Anfangswert beschränkt.

            Kann man, will aber grad niemand. Gesucht war eine Übereinstimmung am Anfang, die mit LIKE wunderbar funktioniert.

            echo "$verabschiedung $name";

      2. Moin

        Wieso lässt du nicht nach kompletten PLZs suchen?
        Oder hab ich dich da falsch verstanden?

        Du hast mich richtig verstanden. Ich möchte, das wenn jemand für PLZ-Bereich 1 etwas sucht da natürlich auch Ergebnisse erhält, da er vielleicht größeres Gebiet absuchen möchte.

        Ich habs nun so gelöst:

        WHERE '".mysql_real_escape_string($_POST['plz'])."' LIKE CONCAT(plz,'%')

        Das funktioniert wunderbar. Aber trotzdem danke.

        Gruß Bobby

        --
        -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-
        -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-
        ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)