8792 sujets

Développement web côté serveur, CMS

Bonjour, j'ai fait un script de statistique pour mon site, je souhaiterai savoir combien d'utilistateur ce sont connecter le 03/01/07 par exemple. Seulement je ne sait pas trop comment m'y prendre.

J'avais imaginer faire ceci:

$timestamp = mktime(0,0,0,01,03,2007); 
$timestamp2 = mktime(23,59,59,01,03,2007);


Mais je ne trouve pas comment rechecher les entrées de MySQL avec une plage.

Voici un peu l'idée:

$retour = mysql_query("SELECT COUNT(*) AS users FROM stats WHERE time="$timestamp" Jusqu'a time="$timestamp2" ");


Est-il possible de faire ceci? Et par quoi remplacer "Jusqu'a"?
salut !
En faisant des tests d'infériorité/supériorité


where  time >= $timeDebut and time <= $timeFin

Modifié par Zeke (04 Jan 2007 - 17:53)
Zeke a écrit :
salut !
En faisant des tests d'infériorité/supériorité


where  time >= $timeDebut and time <= $timeFin

Le genre de belle connerie qui n'existerait même pas si chacun s'attelait à employer les types de champ adéquats dans leur base de données.
Salut Bison.

J'ai pas bien saisi...En quoi faire ce genre de tests est une connerie ?

Ca semble répondre à la question que posait shutdown76, non ?

Il est clair que dans son cas, stocker directement une date aurait été plus judicieux mais bon...
Modifié par Zeke (04 Jan 2007 - 22:19)
Merci, j'ai donc fait ceci:


$retour = mysql_query("SELECT COUNT(*) AS users FROM stats WHERE time BETWEEN '$timestamp' AND '$timestamp2' ");


Sinon je pensait que utiliser le timestamp etait mieu pour le travailler plus tard non?
Vous penser que je devrai utiliser une date au format 05-01-2007 ?

Ce qui me permeterai d'utiliser ceci!
Au debut mon script me permettai juste un affichage je n'avait pas prevu de faire des graphs c'est pour ca que j'ai gardez le timestamp, mais comme ca fait que un mois qu'il est en route ca ne me derange pas de videz la BDD.
Modifié par shutdown76 (05 Jan 2007 - 02:51)
Bison a écrit :

Le genre de belle connerie qui n'existerait même pas si chacun s'attelait à employer les types de champ adéquats dans leur base de données.


Donc ? quelle fonction miracle pour déterminer une date dans un interval ?
GeorgesM a écrit :
Donc ? quelle fonction miracle pour déterminer une date dans un interval ?

Il n'y a pas de fonctions miracles... par contre, il y a des outils adéquats. Smiley cligne

Quand on comprend que l'usage d'un marteau n'est pas adéquat dans la mise en place d'une vis, ce genre de question n'a pas lieu d'être.

C'est affolant de voir comment "les nouveaux arrivants" dans le monde du DEV se lancent dans des actions totalement farfelues. La faute en revient à tous ces créateurs de tutos, apprentis développeurs qui pondent une procédure et préconisent des actions sans appréhender correctement leur sujet.
Bien souvent d'ailleurs en reproduisant une procédure créée par un autre apprenti. (une chaine sans fin) Smiley langue

Bref, pour en revenir aux outils adéquats, faut aller les chercher dans Mysql. Les dizaines de fonctions de Mysql liées aux champs de type DATE servent à cela. Smiley cligne

A condition bien évidemment de ne pas avoir mis un timestamp Php (Unix) dans un champ varchar. Smiley ohwell

Ce serait tellement plus simple avec un :
where le champ='yyyy-mm-dd'
plutôt que :
where champ>='pouet' and champ<='pouetpouet'
shutdown76 a écrit :
je ne pense pas que m@teo21 soit un "apprentis développeurs"

Ah non en effet, tu as parfaitement raison, m@téo21 n'est pas un "apprentis développeurs"...
C'est l'apprenti de l' "apprentis développeurs" ! Smiley langue