Hallo in die Gemeinde,
ich sehe gerade den Wald vor lauter Bäumen nicht mehr
Vielleicht kann mir ja hier geholfen werden.
Ausgangssituation:
ich habe eine Tabelle :auk_pos mit folgenden (relevanten) Feldern:
user_id summe aktuell
18 850 850
16 875 875
Nun vergibt der User 18 ein automatisches Gebot mit dem Wert 1000.
Die Tabelle sollte nun wie folgt erhöht werden:
user_id summe aktuell
18 1000 900
16 875 875
es wird aber nur wie folgt erhöht:
user_id summe aktuell
18 1000 875
16 875 875
Irgendwie stehe ich wie der berühmte Ochs vorm Berg und blicke im Moment nichts mehr.
Ich hoffe ich habe mich verständlich ausgedrückt und mir kann jemand helfen.
Danke im voraus!
Folgenden Code verwende ich:
ich sehe gerade den Wald vor lauter Bäumen nicht mehr
Vielleicht kann mir ja hier geholfen werden.
Ausgangssituation:
ich habe eine Tabelle :auk_pos mit folgenden (relevanten) Feldern:
user_id summe aktuell
18 850 850
16 875 875
Nun vergibt der User 18 ein automatisches Gebot mit dem Wert 1000.
Die Tabelle sollte nun wie folgt erhöht werden:
user_id summe aktuell
18 1000 900
16 875 875
es wird aber nur wie folgt erhöht:
user_id summe aktuell
18 1000 875
16 875 875
Irgendwie stehe ich wie der berühmte Ochs vorm Berg und blicke im Moment nichts mehr.
Ich hoffe ich habe mich verständlich ausgedrückt und mir kann jemand helfen.
Danke im voraus!
Folgenden Code verwende ich:
PHP Code:
if ($neuesgebot > $zielgebot):
######################################
#
# Berechnung der neuen Gebotshöhe / -user
function bieten($var) {
global $aktuell;
global $schritt;
global $user;
return(($var + $schritt) > $aktuell);
}
$result0 = mysql_query ("SELECT * FROM auk_gebote where aukpos_id ='$aukpos_id' order by aktuell DESC");
$show0 = mysql_fetch_row($result0);
$aktuell = $show0[7];
$schritt = $gebotsschritt;
echo "schritt: ".$schritt."<br>".$aktuell;
// Alle Einträge ermitteln
$sql="SELECT user_id, summe, aktuell FROM auk_gebote WHERE summe > ".$aktuell."";
$rs = mysql_query($sql);
// Werte in Array schreiben
for ($a = 0; $a < mysql_num_rows($rs); $a++) {
$user[mysql_result($rs, $a, "user_id")] = mysql_result($rs, $a, "summe");
}
// verbliebene Werte durchlaufen und summe (Max.-Gebot) erhöhen
echo "anz. User: ".count($user)."<br>";
while (count($user) > 1){
$aktuell = $aktuell + $schritt;
echo "<br>neu aktuell: ".$aktuell."<br>";
$user = array_filter($user, "bieten");
}
// das Höchstgebot dem Höchstbietenden zuordnen
$user = array_keys($user);
$high_user = $user[0];
// Daten in Tabelle schreiben
$sql = "UPDATE auk_gebote SET aktuell = ".$aktuell." WHERE user_id='".$high_user."'";
mysql_query($sql);
# Ende der Berechnung
#
######################################
endif;
Comment