Select where time difference > 24 uur. Hoe?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Rob

Rob

27/12/2009 18:11:00
Quote Anchor link
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!
 
PHP hulp

PHP hulp

25/04/2024 04:00:49
 
John D

John D

27/12/2009 18:18:00
Quote Anchor link
where DATE(time) > DATE_SUB(CURDATE( ),INTERVAL 1 DAY);
 
Rob

Rob

27/12/2009 19:09:00
Quote Anchor link
Hartelijk dank!
 
Rob

Rob

28/12/2009 02:46:00
Quote Anchor link
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?
 
Rob

Rob

28/12/2009 03:20:00
Quote Anchor link
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?
 
- SanThe -

- SanThe -

28/12/2009 06:16:00
Quote Anchor link
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 Afbeelding knop om je tekst aan te passen.

SanThe.
 
Rob

Rob

28/12/2009 13:18:00
Quote Anchor link
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
 
Joren de Wit

Joren de Wit

28/12/2009 15:32:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
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.
 
Rob

Rob

28/12/2009 20:02:00
Quote Anchor link
Oke, hoe krijg ik die waarde?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
$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
 
Jan Koehoorn

Jan Koehoorn

28/12/2009 20:09:00
Quote Anchor link
Tja, dat is zeer waardevolle informatie, Rob.
Quote:
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.
 
John D

John D

28/12/2009 20:14:00
Quote Anchor link
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.
Gewijzigd op 01/01/1970 01:00:00 door John D
 
Rob

Rob

28/12/2009 20:16:00
Quote Anchor link
Oh jongens sorry, ben nogal stoned nu en ja, programmeren = logisch denken, iets wat me nu niet lukt. Ik was niet ingelogd *onschuldige smiley*.
Hij werkt nu feilloos. Hartelijk bedankt!
 
Jan Koehoorn

Jan Koehoorn

28/12/2009 20:20:00
Quote Anchor link
Wie weet krijg je wel een high performance!
 
Rob

Rob

28/12/2009 20:32:00
Quote Anchor link
Ja ik ga nu lekker Rise of Nations spelen. Dank jullie wel :D
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.