Bestimmte Zahlen vermeiden?

DonDemf

Erfahrenes Mitglied
Hallo Leute,
ich habe nen kleines Auktions-Script gebastelt auf dem meine User bestimmte Vereinslose Spieler ersteigern können.

Diese Spieler haben einen Marktwert, der beispielweise bei 50.000.000 Euro liegt.

Ich habe nun eine funktion eingebaut die ein mindestgebot von 50% vorsieht, das klappt auch soweit.

nun möchte ich zusätzlich, dass nur in 100.000 Schritten geboten werden kann, sprich beispielsweise sollen gebote wie:

25.000.0001 oder 25.000.405 vermieden werden.

Mysql struktur von "auktionen":

id spielerid gebot durch datum

5 76 500000 AS Rom 1315230720


Datum ist der timestamp wo der spieler auf den Auktionsmarkt geworfen wurde. damit ich ein Auktions ende bestimmen kann (sollte hier aber nicht von bedeutung sein). durch ist der höchstbietende.

Ich hoffe mir kann jemand helfen. ;-)
 
Rechne doch einfach zu dem aktuellen Gebot deine Schwelle (z.B. 0.5%) drauf und prüfe ob das neue Gebot darunter liegt. Ist das so, wird das Gebot verweigert.
 
Ja, aber wenn das gebot dann steigt, dann steigt ja auch die schwelle... wen ich dich jetzt richtig verstanden habe.


PHP:
<?php

if($ebudget2->budget < $gebot) {
                echo 'Dein Budget reicht für das Gebot nicht aus.'; } else {
                    if($minimum3 <= $gebot) {
                    ####### Gebt groß genug?
                   $ak1 = 'SELECT * FROM auktionen WHERE id = "'.$aukid.'"';
$erg_ak1 = mysql_query($ak1);
$ak11 = mysql_fetch_object($erg_ak1);

                 
           
            $gebot2 = 'UPDATE auktionen Set
gebot = "'.$gebot.'", 
durch = "'.$userdata["team"].'" WHERE id = "'.$aukid.'"';
$gebot3 = mysql_query($gebot2);

            echo 'Dein Gebot wurde erfolgreich eingetragen';
            header( "location: http://fifaplace.pytalhost.com/fifaliga/viewpage.php?page_id=63");
                    } else {
                        echo 'Das Gebot ist zu niedrig.';
                    } 

?>
 
Stimmt, die Schwelle müsste schrittweise sein. Dann muss die Schwelle natürlich aus dem ursprünglichen Betrag berechnet werden, also aus dem Betrag 50.000.000 €. Der Betrag ist ja noch da. Du hast damit die Schwelle, das aktuelle Gebot und damit auch ein Ziel-Gebot.

Beispiel:

- Anfangsgebot 25.000.000 von Benutzer A
- Jetzt muss Benutzer B mindestens sagen wir 25.100.000 bieten, bietet aber 25.150.000.
- Soll der Benutzer A dann wieder mindestens 25.250.000 bieten müssen oder genügen dann 25.200.000 für ein gültiges Gebot?
 
Ein gebot wie 25.150.000 will ich gar nicht, ich will nur 100.000 schritte, also:

Gebot ist: 25.100.000
nächstes mögliche Gebot: 25.200.000
nächstes mögliche Gebot: 25.300.000
 
Entweder du machst das über Links *nach dem Motto : 100k über letztem Gebot* oder du machst einfach EINGABE mod 100k und prüfst den Rest auf 0. Ist Rest != 0 so ist das Gebot nicht restlos durch 100k teilbar und wird verweigert. Einfachste Mathematik.
 
Ein gebot wie 25.150.000 will ich gar nicht, ich will nur 100.000 schritte, also:

Gebot ist: 25.100.000
nächstes mögliche Gebot: 25.200.000
nächstes mögliche Gebot: 25.300.000
Als Idee:
PHP:
$schritte = 100000;
$preis_aktuell = 25100000;

$gebot = /* Gebot abfangen POST / GET oder was auch immer */;

if ( ( $gebot - $preis_aktuell ) % $schritte == 0 ) {
    echo 'Gebot zulaessig!';
} else {
    echo 'Gebot nicht zulaessig!';
}

Gruß
 
Danke Raisch, sehr nett ;-)
PHP:
$schritte = 100000; 
$preis_aktuell = 25100000; 

$gebot = /* Gebot abfangen POST / GET oder was auch immer */; 

if ( ( $gebot - $preis_aktuell ) % $schritte == 0 ) { 
    echo 'Gebot zulaessig!'; 
} else { 
    echo 'Gebot nicht zulaessig!'; 
}
Das ermöglicht aber auch Gebote von 200.000, 300.000 ... 500.000 etc.

Wenn Du wirklich nur 100.000 willst könntest Du das so machen:
PHP:
$schritte = 100000; 
$preis_aktuell = 25100000; 

$gebot = /* Gebot abfangen POST / GET oder was auch immer */; 

if ( $gebot - $preis_aktuell == $schritte ) { 
    echo 'Gebot zulaessig!'; 
} else { 
    echo 'Gebot nicht zulaessig!'; 
}

Gruß
 
Zurück