Thomas: Zahl prüfen wie weit Sie vorhanden ist

Hallo,

irgendwo habe ich es hier gesehen,
aber leider finde ich es nicht mehr.

Ich erhalte eine Zahl z.B. 345

jetzt sollte per Schleife geprüft werden, wie weit diese Zahl zugeordnet werden kann.

Aus der DB/Tabelle sind vorhanden eine Spalte Menge und eine Splate Literangben

bis 20 = 1 Liter
bis 100 = 0,500 Liter
bis 250 = 0,250  Liter
bis 500 = 0,100 Liter

die Zahl liegt also zwischen 250 und 500
und somit erhält diese dann 0,100 Liter

i=0
for($j=count(anzahl der Datenmenge); $i<$j; $i++)
...
???
wie gehe ich durch die Schleife und prüfe ob diese Zahl z.B.
größer oder kleiner als 20
wenn kleiner dann OK, wenn größer dann frage ab
größer oder kleiner als 100
wenn kleiner dann OK, wenn größer dann frage ab
größer oder kleiner als 250
wenn kleiner dann OK, wenn größer dann frage ab
größer oder kleiner als 500
wenn kleiner dann OK, wenn größer dann frage ab
...

Da fehlt mir wohl noch ein wenig Input.

  1. Hallo,

    irgendwo habe ich es hier gesehen,
    aber leider finde ich es nicht mehr.

    Ich erhalte eine Zahl z.B. 345

    jetzt sollte per Schleife geprüft werden, wie weit diese Zahl zugeordnet werden kann.

    Aus der DB/Tabelle sind vorhanden eine Spalte Menge und eine Splate Literangben

    bis 20 = 1 Liter
    bis 100 = 0,500 Liter
    bis 250 = 0,250  Liter
    bis 500 = 0,100 Liter

    die Zahl liegt also zwischen 250 und 500
    und somit erhält diese dann 0,100 Liter

    i=0
    for($j=count(anzahl der Datenmenge); $i<$j; $i++)
    ...
    ???
    wie gehe ich durch die Schleife und prüfe ob diese Zahl z.B.
    größer oder kleiner als 20
    wenn kleiner dann OK, wenn größer dann frage ab
    größer oder kleiner als 100
    wenn kleiner dann OK, wenn größer dann frage ab
    größer oder kleiner als 250
    wenn kleiner dann OK, wenn größer dann frage ab
    größer oder kleiner als 500
    wenn kleiner dann OK, wenn größer dann frage ab
    ...

    Was soll das?

    Warum speicherst du Daten in einer db und benutzt dann die db nicht?

    select Preis from table where Menge <= Wert ordered by Menge limit 1

    so etwa geht das.

    Du fragst die db nach allen Werten die grösser oder gleich deiner Eingabe sind, sortiert nach Literangabe reduziert auf die erste Antwort, raus kommt dann der gesuchte Wert.

    Da fehlt mir wohl noch ein wenig Input.

    Nee du hast schon viel zu viel code.

    mfg
    FH

    1. Was soll das?

      Warum speicherst du Daten in einer db und benutzt dann die db nicht?

      Klar nutze ich die DB, nur wollte ich nicht meinen Select angeben da ich dachte es müßte über die Schleife gelöst werden.

      Da ich per Schleife nicht kann habe ich hier gefragt wie Ihr das mit der Schleife lösen würdet, da ich jetzt noch nicht weiß wie weit der Select mir die Arbeit abnehemn kann

      Trotzdem Danke

    2. select Preis from table where Menge <= Wert ordered by Menge limit 1

      Hallo

      das war wohl nichts, es klappt nicht

      hier meine Versuche

      $select_liter = mysql_query("select menge,liter from liter
      where id = '".$id."'
      and menge <= '".$kalkmenge."'
      order by menge
      limit 1");

      while ($zeile = mysql_fetch_array($select_liter))
      {
       echo $zeile["menge"]." ".$zeile["liter"]."<br>";
      }
      hier erhalte ich immer die menge 500 auch wenn ich nur 10 eingeben

      auch hier klappt es nicht

      $select_liter = mysql_query("select menge,liter from liter
      where id = '".$id."'
      and menge <= '".$kalkmenge."'
      order by menge desc
      limit 1");

      while ($zeile = mysql_fetch_array($select_liter))
      {
       echo $zeile["menge"]." ".$zeile["liter"]."<br>";
      }

      Also vieleicht doch mit eienr Schleife?!

      Danke

      1. auch hier klappt es nicht

        $select_liter = mysql_query("select menge,liter from liter
        where id = '".$id."'
        and menge <= '".$kalkmenge."'
        order by menge desc
        limit 1");

        while ($zeile = mysql_fetch_array($select_liter))
        {
        echo $zeile["menge"]." ".$zeile["liter"]."<br>";
        }

        Also vieleicht doch mit eienr Schleife?!

        Und warum versuchst du nicht einfach zu verstehen?

        Wozu brauchst du das id?

        Was bedeutet "klappt nicht"?

        Was liefert dir den die Abfrage und wie genau sehen die Daten der Tabelle aus?

        mfg
        FH

        1. Und warum versuchst du nicht einfach zu verstehen?

          ich verstehe das was geht!

          Wozu brauchst du das id?

          die Selektiert mir die Litergruppe (z.B 5 Liter Möglichkeiten)

          Was bedeutet "klappt nicht"?

          wenn ich z.B. die zashl 50 eingebe dann solte er dann den Preis von 100 anzeigen, macht er nicht er zeigt mir dann je nach dem ob ich desc mit angebe, den ersten Wert der 5 Liter oder den letzten Wert

          Was liefert dir den die Abfrage und wie genau sehen die Daten der Tabelle aus?

          siehst Du im ersten Beitrag von mir

          bis dann
          Thomas