Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster -> FAQ BDD, Cours BDD et Sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 09/11/2009, 14h47   #1 (permalink)
Futur Membre du Club
 
Date d'inscription: mars 2007
Messages: 35
Par défaut Extraire le jour du timestamp

Bonjour,

J'ai une colonne reg_date dans ma table users où il y a des timestamp, c'est la date d'inscription du membre.

J'aimerais faire un module de statistique, pour faire ressortir les informations suivantes :

* Nombre d'inscrits hier *
* Nombre d'inscrits aujourd'hui *

Comment extraire le jour du timestamp pour faire une condition est ensuite trouver les valeurs que je veux ?

Merci d'avance pour votre aide,
Baptiste.
Baptiste78 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 09/11/2009, 15h17   #2 (permalink)
Candidat au titre de Membre du Club
 
Nom : Sky Gunning
Date d'inscription: février 2009
Localisation: Toulouse
Messages: 29
Par défaut

Bonjour

Tu peux essayer quelque chose comme ceci :

$hier_debut = mktime(1, 0, 0, date('m'), date('d')-1, date('Y'));
$hier_fin = mktime(23, 59, 59, date('m'), date('d')-1, date('Y'));

$requete = "SELECT * FROM Utilisateurs WHERE date_inscription > '$hier_debut' && date_inscription < '$hier_fin'";

Tu peux faire ton COUNT etc... dans cette requête.

Sky
graphiks est actuellement connecté   Envoyer un message privé Réponse avec citation
Vieux 09/11/2009, 19h04   #3 (permalink)
Futur Membre du Club
 
Date d'inscription: mars 2007
Messages: 35
Par défaut

Bonsoir,

Merci pour ton aide.

J'ai ajouté ça comme ceci :

$hier_debut = mktime(1, 0, 0, date('m'), date('d')-1, date('Y'));
$hier_fin = mktime(23, 59, 59, date('m'), date('d')-1, date('Y'));

$requete = "SELECT COUNT(*) AS inscrits_hier FROM x323_users WHERE user_regdate > '$hier_debut' && date_inscription < '$hier_fin'";
$donnees2 = mysql_fetch_array($requete);

echo $donnees2['inscrits_hier'];

Mais malheureusement, rien ne s'affiche, d'où cela peut il bien venir ?
Merci d'avance,
Baptiste.
Baptiste78 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 09/11/2009, 19h27   #4 (permalink)
Rédacteur
 
Date d'inscription: juin 2002
Messages: 5 508
Par défaut

Ne serait-ce pas plus simple de faire ça avec les fonctions MySQL :
  • Aujourd'hui :
    Code SQL :
    SELECT COUNT(*) AS `inscrits_hier` FROM `x323_users` WHERE DATE(FROM_UNIXTIME(`user_regdate`)) = CURRENT_DATE()
  • Hier :
    Code SQL :
    SELECT COUNT(*) AS `inscrits_hier` FROM `x323_users` WHERE DATE(FROM_UNIXTIME(`user_regdate`)) = DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY)
(non testées)

__________________
Aucun support par MP : les questions sur le forum.

"Ça ne marche pas" n'est pas une réponse acceptable.
julp est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 09/11/2009, 19h37   #5 (permalink)
Futur Membre du Club
 
Date d'inscription: mars 2007
Messages: 35
Par défaut

Cela ne fonctionne pas non plus, en effet, on peut lire "Sélectionner tout où user_regdate est égale à la date actuelle", le truc c'est qu'il va prendre toute la date et non pas seulement le jour, non ?
Baptiste78 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 11/11/2009, 22h21   #6 (permalink)
Modérateur
 
Avatar de sabotage
 
Date d'inscription: juillet 2005
Messages: 9 996
Par défaut

Pourquoi dans ta requete tu utilises user_regdate d'un côté et date_inscription de l'autre ?
sabotage est actuellement connecté   Envoyer un message privé Réponse avec citation
Vieux 12/11/2009, 12h46   #7 (permalink)
Futur Membre du Club
 
Date d'inscription: mars 2007
Messages: 35
Par défaut

Ce doit être une erreur de copie, en effet même avec ceci :

$requete = "SELECT COUNT(*) AS inscrits_hier FROM x323_users WHERE user_regdate > '$hier_debut' && user_regdate < '$hier_fin'";
$donnees2 = mysql_fetch_array($requete);

Ça ne fonctionne pas.
Baptiste78 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 12/11/2009, 15h34   #8 (permalink)
Modérateur
 
Avatar de sabotage
 
Date d'inscription: juillet 2005
Messages: 9 996
Par défaut

il manque le mysql_exec dans ta sequence.
sabotage est actuellement connecté   Envoyer un message privé Réponse avec citation
NEWS PHPFAQ PHPCours PHPSources PHPLivres PHPScripts PHPOutils PHPComparatifsZend Framework

Réponse Proposer ce sujet en actualité

Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non



Fuseau horaire GMT +1. Il est actuellement 23h03.


Vos questions techniques : forum d'entraide PHP - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2010 www.developpez.com - Legal informations.