Nur eine Verständnisfrage

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

  • Nur eine Verständnisfrage

    Ich habe für eine Suche folgenden PHP-Code:

    if ($minpreis == "")
    {
    $minpreis = 1;
    }
    if ($maxpreis == "")
    {
    $maxpreis = 1000000000;
    }

    In der Datenbank sind zwei Artikel. Der eine kostet 14.000,00 Euro, der andere 100.000.000,00 Euro. Bei der Suchabfrage wird kein Ergebnis gefunden.

    Ändere ich den Code wie folgt:

    if ($minpreis == "")
    {
    $minpreis = 1;
    }
    if ($maxpreis == "")
    {
    $maxpreis = 9000000000;
    }

    werden alle Datensätze angezeigt.

    Da der Artikel "nur" 100.000.000,00 Euro kostet und der Maxpreis für die Suche auf 1.000.000.000,00 Euro gesetzt ist (wenn kein Eintrag erfolgt), müsste der Artikel doch eigentlich gefunden werden? Auch wenn ich einen Preis im Suchfeld vorgebe, findet er bei der Variante 1 keine Ergebnisse.

    Wie schon erwähnt, nur eine Verständnisfrage, da es mit dem geänderten Code ja geht.
    Gruß und Danke
    Gismo

  • #2
    j aund wo is die suchabfrage?
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      Such' doch ... !
      carpe noctem

      [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
      [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

      Kommentar


      • #4
        Sorry, war einige Zeit nicht online.

        Die Abfrage sieht auszugsweise so aus:

        PHP-Code:
        if ($minpreis == "")
        {
        $minpreis 1;
        }
        if (
        $maxpreis == "")
        {
        $maxpreis 900000000000000000000;
        }

        $minpreis ereg_replace("%24","",$minpreis);
        $maxpreis ereg_replace("%24","",$maxpreis);
        $minpreis ereg_replace("%2C","",$minpreis);
        $maxpreis ereg_replace("%2C","",$maxpreis);
        $minpreis ereg_replace("[^[:alnum:]]","",$minpreis);
        $maxpreis ereg_replace("[^[:alnum:]]","",$maxpreis);

        $querystring "SELECT * FROM auto WHERE ";
        $querystring $querystring."(preis >= '$minpreis' AND preis <= '$maxpreis')";
        $guidestring "minpreis=$minpreis&maxpreis=$maxpreis"
        Lass ich mir die Suche ausgeben, sieht es folgendermaßen aus:
        SELECT * FROM auto WHERE (preis >= '1' AND preis <= '9E020')

        Bei dem obigen Scriptausschnitt ist allerdings schon der Maxpreis geändert.
        Gruß
        Gismo

        Kommentar


        • #5
          könnte das helfen?

          Kommentar


          • #6
            @jochenj
            danke für die Antwort. Werde ich mal probieren.
            Es geht aber im Prinzip nur darum:
            wenn ein Artikel 100.000.000,-- Euro (100 Millionen) kostet und es wird nach allen Daten
            zwischen 1,-- Euro und 1.000.000.000,-- Euro ( 1 Milliarde) gesucht, müsste der Artikel
            ja angezeigt werden.
            Ändere ich den zweiten Wert in der Abfrage von 1.000.000.000 auf 9.000.000.000
            (natürlich ohne Punkte) so klappt es. Ich habe noch nicht probiert, ob es mit
            2 Milliarden bis 8 Milliarden auch klappt.
            Gruß
            Gismo

            Kommentar


            • #7
              Dein Problem sind Deine Anführungszeichen ...
              Beantworte nie Threads mit mehr als 15 followups...
              Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

              Kommentar


              • #8
                @MelloPie
                danke, werde ich auch noch prüfen.
                Aber ich glaube, die Anführungszeichen haben nichts mit den Werten 1 Milliarde (geht nicht)
                gegen 9 Milliarden (geht) zu tun oder habe ich da etwas übersehen?
                Gruß
                Gismo

                Kommentar


                • #9
                  und deine "zahlen" stehen auch wirklich in spalten mit einem zahlentyp, und nicht etwa varchar oder so ein blödsinn ...?
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar

                  Lädt...
                  X