Hey iedereen,

In mijn database heb ik een script staan waarin mensen maximaal 1x per dag ergens op kunnen klikken. Dat gaat zo:

SELECT * FROM clicks WHERE DATE(time)=DATE(NOW())

Als dat een rij teruggeeft is kan je niet meer klikken. Nu wil ik dit veranderen in 24 uur, in plaats van 1 dag. Hoe kan ik dat doen?

Groetjes!
where DATE(time) > DATE_SUB(CURDATE( ),INTERVAL 1 DAY);
Hartelijk dank!
Kan het kloppen dat dit niet echt werkt?
zegmaar:
RECORD: 27-12-2009 23:43
HUIDIG: 27-12-2009 23:53
geeft 0 rijen
RECORD: 27-12-2009 23:43
HUIDIGE TIJD: 28-12-2009 02:03
geeft wel wat terug.
ik wil dus dat er minimaal 24 uur tussen zit. Hoe krijg ik dat voor elkaar?
Hoe zou ik anders via PHP een boolean kunnen laten verschijnen als het verschil tussen nu en die datetime uit de DB groter is dan 24 uur?
Je veld is wel DATETIME neem ik aan.

Gelieve Niet Bumpen:
Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de knop om je tekst aan te passen.

SanThe.
oh shit ik dacht dat deze dichtgegooid was? :S
Ik kon niet meer reageren omdat ik niet ingelogd was, stond er, maar ik was wel ingelogd... Dus vandaar die dubbele post. Sorry

SELECT
  CASE WHEN
    NOW() < time + INTERVAL 24 HOUR
  THEN 1
  ELSE 0
  END AS click_boolean
FROM
  tabel

Dit geeft de waarde 1 of 0 terug in het veld 'click_boolean' afhankelijk van het feit of de waarde in 'time' langer dan 24 uur geleden is.
Oke, hoe krijg ik die waarde?

$query2=mysql_query("SELECT CASE WHEN NOW() < time + INTERVAL 24 HOUR THEN 1 ELSE 0 END AS click_boolean FROM clicks WHERE userid=$userid AND adid=$id") or die(mysql_error());
						$rij22=mysql_fetch_assoc($query2);
						if ($rij22["click_boolean"]==0) {

dit heb ik nu. Klopt dat? hij doet het niet echt.. :P
Tja, dat is zeer waardevolle informatie, Rob.
hij doet het niet echt.. :P

Misschien moet je eens controleren of je query ook echt lukt? En of het fetchen lukt? Kortom: bouw error checking in.
Heb je een lokale server of een lokale MySQL ?
of zit je alles bij je provider te proberen ?
Probeer lokaal eerst de query op de MySQL prompt command line, dit is de manier om het foutloos te krijgen. Vervang de variabelen door hard coded strings.

Reageren