<?php
include_once"../connect.php";
$tijdmin15=time()-60*15;
mysql_query("UPDATE extra SET dronkenheid=dronkenheid-5 WHERE dronkenheid<=20") or die(mysql_error());
mysql_query("UPDATE extra SET dronkenheid=dronkenheid-10 WHERE dronkenheid>20 AND dronkenheid<=40") or die(mysql_error());
mysql_query("UPDATE extra SET dronkenheid=dronkenheid-15 WHERE dronkenheid>40 AND dronkenheid<=60") or die(mysql_error());
mysql_query("UPDATE extra SET dronkenheid=dronkenheid-25 WHERE dronkenheid>60 AND dronkenheid<=80") or die(mysql_error());
mysql_query("UPDATE extra SET dronkenheid=dronkenheid-30 WHERE dronkenheid>80") or die(mysql_error());
mysql_query("UPDATE extra SET dronkenheid=0 WHERE dronkenheid<0") or die(mysql_error());
mysql_query("UPDATE extra SET maxdrank=maxdrank-1 WHERE maxdrank>100 AND maxdrank<=110") or die(mysql_error());
mysql_query("UPDATE extra SET maxdrank=maxdrank-2 WHERE maxdrank>110 AND maxdrank<=120") or die(mysql_error());
mysql_query("UPDATE extra SET maxdrank=maxdrank-3 WHERE maxdrank>120 AND maxdrank<=130") or die(mysql_error());
mysql_query("UPDATE extra SET maxdrank=maxdrank-4 WHERE maxdrank>130 AND maxdrank<=140") or die(mysql_error());
mysql_query("UPDATE extra SET maxdrank=maxdrank-5 WHERE maxdrank>140 AND maxdrank<=150") or die(mysql_error());
mysql_query("UPDATE extra SET maxdrank=maxdrank-6 WHERE maxdrank>150 AND maxdrank<=160") or die(mysql_error());
mysql_query("DELETE FROM drank WHERE datum<".$tijdmin15) or die(mysql_error());
?>
Mwah, 10 querys per 5 minuten is toch niks...
Op sima's index staan sosieso al een stuk of 12 querys (minimaal) alleen al voor:
online
nieuws (bovenin)
nieuws (content)
nieuwe =>van allerlei meuk
naja, zoiets dacht ik al. maar wie weet was er een moeilijkere query die t in 1x kan uitvoeren. Ik laat m nog ff staan, anders haal k t topic weer uit active
UPDATE extra
IF dronkenheid<=20 THEN SET dronkenheid = dronkenheid-5 END IF;
IF dronkenheid>20 AND dronkenheid<=40 THEN SET dronkenheid = dronkenheid-10 END IF;
IF dronkenheid>40 AND dronkenheid<=60 THEN SET dronkenheid = dronkenheid-15 END IF;
IF dronkenheid>60 AND dronkenheid<=80 THEN SET dronkenheid = dronkenheid-20 END IF;
IF dronkenheid>80 THEN SET dronkenheid = dronkenheid-25 END IF;
UPDATE extra
IF dronkenheid<=20 THEN SET dronkenheid = dronkenheid-5 END IF;
IF dronkenheid>20AND dronkenheid<=40 THEN SET dronkenheid = dronkenheid-10 END IF;
IF dronkenheid>40AND dronkenheid<=60 THEN SET dronkenheid = dronkenheid-15 END IF;
IF dronkenheid>60AND dronkenheid<=80 THEN SET dronkenheid = dronkenheid-20 END IF;
IF dronkenheid>80 THEN SET dronkenheid = dronkenheid-25 END IF;
ja maar de elseif word niet meer uitgevoerd na een if
bovenstaande code leverd:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF dronkenheid<=20 THEN SET dronkenheid = dronkenheid-5 END IF; IF dronkenheid>' at line 2
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF iq<=30 THEN SET iq = iq-5 END IF' at line 1
MySQL 5.0.27-community-nt draait op localhost.....
mysql_query(" UPDATE extra
BEGIN
DECLARE dronkenheid tinyint(3);
IF dronkenheid<=20 THEN SET dronkenheid = dronkenheid-5 END IF;
IF dronkenheid>20 AND dronkenheid<=40 THEN SET dronkenheid = dronkenheid-10 END IF;
IF dronkenheid>40 AND dronkenheid<=60 THEN SET dronkenheid = dronkenheid-15 END IF;
IF dronkenheid>60 AND dronkenheid<=80 THEN SET dronkenheid = dronkenheid-20 END IF;
IF dronkenheid>80 THEN SET dronkenheid = dronkenheid-25 END IF;
END
") or die(mysql_error());
mysql_query(" UPDATE extra
BEGIN
DECLARE dronkenheid tinyint(3);
IF dronkenheid<=20 THEN SET dronkenheid = dronkenheid-5 END IF;
IF dronkenheid>20 AND dronkenheid<=40 THEN SET dronkenheid = dronkenheid-10 END IF;
IF dronkenheid>40 AND dronkenheid<=60 THEN SET dronkenheid = dronkenheid-15 END IF;
IF dronkenheid>60 AND dronkenheid<=80 THEN SET dronkenheid = dronkenheid-20 END IF;
IF dronkenheid>80 THEN SET dronkenheid = dronkenheid-25 END IF;
END
")OR die(mysql_error());
volgens mij is dat voorbeeld ook alleen voor een selectquery
UPDATE
extra
SET
dronkenheid = CASE
WHEN
dronkenheid <= 20
THEN
dronkenheid - 5
WHEN
dronkenheid BETWEEN
20 AND 40
THEN
dronkenheid - 10
WHEN
dronkenheid BETWEEN
40 AND 60
THEN
dronkenheid - 15
WHEN
dronkenheid BETWEEN
60 AND 80
THEN
dronkenheid - 20
WHEN
dronkenheid > 80
THEN
dronkenheid - 25
END CASE