ochsi: PHP / MYSQL abfrage

Hallo zusammen ich habe einen Datenbank abfrage welche mir Objekte in einer gewissen Preisspanne ausgeben soll.

$MaxPreis = 80000;
$MinPreis = 10000;

$query = "SELECT * FROM objekte WHERE Preis <= '%".$MinPreis."%' AND Preis >= '%".$MaxPreis."%'";

Leider liefert diese abfrage nicht zurück

Gebe ich die Preise dirket an funktioniert es.

$query = "SELECT * FROM objekte WHERE Preis <= '80000' AND Preis >= '10000'";

Mit between klappt beide nicht.

Hat jemand einen Rat für mich?

MfG
Ochsi

  1. $query = "SELECT * FROM objekte WHERE Preis <= '%".$MinPreis."%' AND Preis >= '%".$MaxPreis."%'";

    Leider liefert diese abfrage nicht zurück

    Welche Funktion sollen denn die ganzen Prozentzeichen übernehmen?

    1. Hallo

      $query = "SELECT * FROM objekte WHERE Preis <= '%".$MinPreis."%' AND Preis >= '%".$MaxPreis."%'";

      Welche Funktion sollen denn die ganzen Prozentzeichen übernehmen?

      Platzhalter für irgendein Zeichen. Da könnte also '210000abc' rauskommen und es würde immernoch gefunden.

      Tschö, Auge

      --
      Die deutschen Interessen werden am Liechtenstein verteidigt.
      Veranstaltungsdatenbank Vdb 0.2
      1. $query = "SELECT * FROM objekte WHERE Preis <= '%".$MinPreis."%' AND Preis >= '%".$MaxPreis."%'";

        Welche Funktion sollen denn die ganzen Prozentzeichen übernehmen?

        Platzhalter für irgendein Zeichen.

        Nein, als Platzhalter fungieren die nur in Zusammenhang mit LIKE, aber nicht mit <=, und schon gar nicht in einem mathematischen / numerischen Vergleich.

        1. Hallo

          $query = "SELECT * FROM objekte WHERE Preis <= '%".$MinPreis."%' AND Preis >= '%".$MaxPreis."%'";

          Welche Funktion sollen denn die ganzen Prozentzeichen übernehmen?

          Platzhalter für irgendein Zeichen.

          Nein, als Platzhalter fungieren die nur in Zusammenhang mit LIKE, aber nicht mit <=, und schon gar nicht in einem mathematischen / numerischen Vergleich.

          Oha, wieda nich jenau hinjekiekt. *gnarf*

          Allerdings sind da ja eh keine Zahlen sondern Strings. Unvergleichlich ... ;-)

          Tschö, Auge

          --
          Die deutschen Interessen werden am Liechtenstein verteidigt.
          Veranstaltungsdatenbank Vdb 0.2
          1. Hello,

            Allerdings sind da ja eh keine Zahlen sondern Strings. Unvergleichlich ... ;-)

            Wieso?

            'Auge' ist blinder als 'Engelein'

            Ist doch ein sauberer Vergleich mit Strings als Argumenten :-))

            Ein harzliches Glückauf

            Tom vom Berg

            --
            Nur selber lernen macht schlau
            http://bergpost.annerschbarrich.de
        2. $query = "SELECT * FROM objekte WHERE Preis <= '%".$MinPreis."%' AND Preis >= '%".$MaxPreis."%'";

          Welche Funktion sollen denn die ganzen Prozentzeichen übernehmen?

          Platzhalter für irgendein Zeichen.

          Nein, als Platzhalter fungieren die nur in Zusammenhang mit LIKE, aber nicht mit <=, und schon gar nicht in einem mathematischen / numerischen Vergleich.

          Danke schön euch allen hat geklappt.

          MfG Ochsi

  2. Hallo

    $MaxPreis = 80000;
    $MinPreis = 10000;

    $query = "SELECT * FROM objekte WHERE Preis <= '%".$MinPreis."%' AND Preis >= '%".$MaxPreis."%'";

    Leider liefert diese abfrage nicht zurück

    Gebe ich die Preise dirket an funktioniert es.

    $query = "SELECT * FROM objekte WHERE Preis <= '80000' AND Preis >= '10000'";

    Hat jemand einen Rat für mich?

    Ja, ich. Guck richtig hin!

    Dein mit Variablen ausgefüllter Query sieht folgendermaßen aus:

    $query = "SELECT * FROM objekte WHERE Preis <= '%10000%' AND Preis >= '%80000%'";

    Der Preis soll also kleiner/gleich 10000 UND größer/gleich 80000 sein. Geht definitiv _nicht_. :-)

    Tschö, Auge

    --
    Die deutschen Interessen werden am Liechtenstein verteidigt.
    Veranstaltungsdatenbank Vdb 0.2
  3. Hallo,

    $query = "SELECT * FROM objekte WHERE Preis <= 80000 AND Preis >= 10000";

    Das Ergebnis muss so aussehen.

    (Du willst Zahlen miteinander vergleichen. Sobald du die Zahlen in "'" setzt, interpretiert SQL die Zahlen als Strings)

    Gruß Marcus