Zahlen vergleichen und Ergebniss ausgeben

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

  • Wyveres
    antwortet
    Zitat von spi241077 Beitrag anzeigen
    Hallo Leutz,

    PHP-Code:
    (int)$hoch $this->contents[$products_id]['attributes_values'][12];
    (int)
    $breit $this->contents[$products_id]['attributes_values'][11];
    $product_query tep_db_query("select 
    hoch, breit, 
    products_price, 
    products_tax_class_id 
    from konfirurator_preis 
    where
            breit  <= '" 
    . (int)$breit "'
    and 
            hoch  >= '" 
    . (int)$hoch"' 
    order by breit DESC"
    ); 
    die abfrage an sich is müll ...

    er kann nur GLEICH oder Breite Kleiner als und Höhe Höher als finden.

    du musst die suchanfrage anders Formulieren und dann ist da noch, was sind breit und hoch für DB felder etwa text? Dann kann das Überhaupt schon mal gar nicht klappen oder warum zwingst du die zahlen wieder in einen string?

    Einen Kommentar schreiben:


  • eagle275
    antwortet
    wenn es dabei um Verpackungsgrößen geht, dann müssen beide Vergleiche "größer oder gleich " sein - sonst passt die Ware doch nicht hinein

    Einen Kommentar schreiben:


  • AmicaNoctis
    antwortet
    Zitat von spi241077 Beitrag anzeigen
    Ich habe in der DB noch weitere Daten sätze drin, jeweils in 100er Scritten abwärts und aufwärs
    Etwa so hier?:
    ...
    900 / 900
    800 / 800
    700 / 700
    600 / 600
    ...

    Versuch's mal mit einem Datensatz, der die Bedingung erfüllen kann, also z. B. 800 / 900 (Breite / Höhe) oder aber du hast bei der Bedingung Blödsinn gemacht

    Einen Kommentar schreiben:


  • wahsaga
    antwortet
    Zitat von spi241077 Beitrag anzeigen
    Ich habe in der DB noch weitere Daten sätze drin, jeweils in 100er Scritten abwärts und aufwärs.Also müßte doch eigendlich die Abfrage ein Ergebniss
    liefern!
    Müsste, hätte, wäre wenn ...

    Bitte überprüfe sowas, anstatt irgendwelche Vermutungen anzustellen.

    Query ausgeben lassen, per Copy&Paste in phpMyAdmin o.ä. testen.

    Damit wandele ich die mittels POST übermittelten Werte in INTEGER um da sie doch sonst als String behandelt werden oder habe ich da einen Denkfehler?
    PHP-Code:
    (int)$hoch $this->contents[$products_id]['attributes_values'][12]; 
    Mit dieser Zeile castest du den Wert, den die „Abfrage“ des Inhaltes von $hoch liefert, nach int.
    Der Cast selber ist aber ein Ausdruck, der einen „Rückgabewert“ liefert. Diesen nimmst du aber an der Stelle gar nicht in Empfang, sondern lässt ihn verfallen.

    Einen Kommentar schreiben:


  • spi241077
    antwortet
    Zitat von AmicaNoctis Beitrag anzeigen
    Hallo,

    das wird vermutlich ganz einfach daran liegen, dass du keinen Datensatz hast, für den
    breit <= 896 and hoch >= 854
    zutrifft

    Gruß,

    Amica
    Ich habe in der DB noch weitere Daten sätze drin, jeweils in 100er Scritten abwärts und aufwärs.Also müßte doch eigendlich die Abfrage ein Ergebniss
    liefern!

    @combie

    Damit wandele ich die mittels POST übermittelten Werte in INTEGER um da sie doch sonst als String behandelt werden oder habe ich da einen Denkfehler?

    Einen Kommentar schreiben:


  • combie
    antwortet
    PHP-Code:
    (int)$hoch $this->contents[$products_id]['attributes_values'][12]; 
    Wofür ist dieser (int) Cast, wenn das Ergebnis doch gar nicht genutzt wird?

    Einen Kommentar schreiben:


  • AmicaNoctis
    antwortet
    Hallo,

    das wird vermutlich ganz einfach daran liegen, dass du keinen Datensatz hast, für den
    breit <= 896 and hoch >= 854
    zutrifft

    Gruß,

    Amica

    Einen Kommentar schreiben:


  • spi241077
    hat ein Thema erstellt Zahlen vergleichen und Ergebniss ausgeben.

    Zahlen vergleichen und Ergebniss ausgeben

    Hallo Leutz,

    in einem Formular kann der User in 2 Eingabefelder 2 Zahlen eingeben die per POST an ein Script übermittelt werden. In diesem Script befindet sich folgender Code (Auszug):
    PHP-Code:
    (int)$hoch $this->contents[$products_id]['attributes_values'][12];
    (int)
    $breit $this->contents[$products_id]['attributes_values'][11];
    $product_query tep_db_query("select hoch, breit, products_price, products_tax_class_id from konfirurator_preis where
                                                        breit  <= '" 
    . (int)$breit "'
                                                        and hoch  >= '" 
    . (int)$hoch"' order by breit DESC"); 
    Nun sollen mir aus der DB der richtige Preis und die Tax-Class-Id ausgegeben werden.

    So nun zu meinem Problem: Entsprechen die eingegebenen Zahlen genau den Werten aus der DB funzt alles so wie es soll. Sind die Zahlen aber "krumm" wird gar nichts angezeigt.

    Zum Verständniss:

    Eintrag in DB:
    hoch: 800
    breit: 800
    preis :1
    Eingabe: 800 800
    Anzeige:1 alles supi

    Bei Eingabe von z.B. 854(hoch) 896(breit) erfolgt keine Anzeige und keine Fehlermeldung. Woran liegt das?

    THX schon mal spi
Lädt...
X