login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Rangschikken op laatste klik

Offline Frederic - 18/09/2005 18:52
Avatar van FredericPHP ver gevorderde Ik ben eventjes bezig met het loggen van iedere klik op mijn website (om een statistiekensysteem te ontwikkelen, maar stuit op volgend probleem)
als ik via volgende query de gegevens opvraag, krijg ik alles netjes behalve het tijdstip:
  1. $sql = mysql_query("SELECT * FROM bezoekers_paginabezoeken WHERE tijdstip >= DATE_SUB(NOW(), INTERVAL 10 MINUTE) GROUP BY ip ORDER BY id DESC") or die(mysql_error());

In de DB zit bijvoorbeeld
Citaat:
2005-09-18 18:35:58
2005-09-18 18:46:48
2005-09-18 18:53:57

Ik zou graag de tijd weergeven dat die persoon het laatst online was (in dit geval 2005-09-18 18:53:57), maar door die interval met 10 minuten sluit hij alles uit wat langer dan 10min geleden is, en pakt hij het kleinste (stel dat het nu 18:55:00 is, dan sluit hij alles uit wat langer dan 10min geleden is, dus 2005-09-18 18:35:58 gaat weg, en dan pakt hij de langst geleden waarde, dus in dit geval zou ie 2005-09-18 18:46:48 echo'en)...
Snapt iemand dit of is het té moeilijk uitgelegd? 

6 antwoorden

Gesponsorde links
Offline Dolfje - 18/09/2005 19:09
Avatar van Dolfje Gouden medailleGouden medailleGouden medaille

PHP ver gevorderde
ik denk dat je eerst "group by" ip zou moeten doen en dan nog eens max(datum).
Offline Frederic - 18/09/2005 19:18
Avatar van Frederic PHP ver gevorderde maar ik rangschik toch al op ID? dat is sowiso de hoogte datum die ik dan krijg, niet?
Offline Dolfje - 18/09/2005 19:34
Avatar van Dolfje Gouden medailleGouden medailleGouden medaille

PHP ver gevorderde
nee, hij gebruikt de laagste.

Hij neemt eerst alles bij elkaar en doet als laatste maar de orderby.
Offline Frederic - 18/09/2005 19:47
Avatar van Frederic PHP ver gevorderde MAX moet toch gebruikt worden bij de select?
  1. <?php
  2. $sql = mysql_query("SELECT MAX(tijdstip) FROM bezoekers_paginabezoeken WHERE tijdstip >= DATE_SUB(NOW(), INTERVAL 10 MINUTE) GROUP BY ip ORDER BY id DESC") or die(mysql_error());

Maar dat krijg ik over undefined index (aangezien hij enkel max uithaalt, ipv *).
Ook als ik SELECT MAX(tijdstip), * doe krijg ik fouten...
Offline Dolfje - 18/09/2005 23:21
Avatar van Dolfje Gouden medailleGouden medailleGouden medaille

PHP ver gevorderde
  1. SELECT MAX(tijdstip), bezoekers_paginabezoeken.* FROM bezoekers_paginabezoeken WHERE tijdstip >= DATE_SUB(NOW(), INTERVAL 10 MINUTE) GROUP BY ip ORDER BY id DESC


dit werkt wel 
Offline Frederic - 19/09/2005 17:37
Avatar van Frederic PHP ver gevorderde Nog steeds niet Hij werkt nog steeds zoals ik in het eerste bericht heb beschreven 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.191s