begin process at 2012 05 28 18:49:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

comment faire une requete mysql count avec date_format


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

comment faire une requete mysql count avec date_format

mercredi 7 juillet 2010 à 12:00:33 | comment faire une requete mysql count avec date_format

hdh


Bonjour,
aïe ! je me heurte à une requète mysql que je n'arrive pas à résoudre :
j'ai une table simplissime contenant
- un identifiant utilisateur
- la date de son clic sur une page

+-----------+-------------------+
+id_click + date_click +
+-----------+-------------------+
+ num + yyyy-mm-dd h:mm:ss+
+-----------+-------------------+



Je voudrais sortir un tableau présentant le nombre de clics par par jour.
+------------+------------+
+ 01/02/2010 + 3 clics +
+ 01/03/2010 + 9 clics +
+ 04/02/2010 + 1 clics +
+------------+------------+

la requète que j'utilise ne fonctionne pas comme je le veux
(j'ai bien les jours distincts et dans l'autre cas j'ai bien les nombre de clics par jour) mais arriver à avoir les deux ensembles m'est impossible....

oh vous les puits de sciences auriez vous de quoi me rafferaichir ????????

d'avance merci

Code PHP :
$req ="SELECT count(id_click) as nb, date_format(date_click, '%Y-%m-%d') from $tableOpens group by date_format(date_click, '%Y-%m-%d') order by date_format(date_click, '%Y-%m-%d') desc";
$req ="SELECT date_format(date_click, '%Y-%m-%d') as toto from $tableOpens group by date_format(date_click, '%Y-%m-%d') order by date_format(date_click, '%Y-%m-%d') desc";
$req=mysql_query($req) or die('Erreur SQL !'.$req.mysql_error());

while ($ligne=mysql_fetch_array($req))
	{
	echo " >> ".$ligne[0].">_> ".$toto."<br>";
	}



$nbtotal	=mysql_query("SELECT count(id_click) as nb from $tableOpens"); 
$nbtotal	=mysql_fetch_array($nbtotal) ;
echo "<br>Il y a eu au total ".$nbtotal["nb"]." clics.";



le temps n'épargne pas ce que l'ont fait sans lui.. le php non plus
mercredi 7 juillet 2010 à 15:50:27 | Re : comment faire une requete mysql count avec date_format

xactise

Membre Club

$req = 'SELECT COUNT(id_click) as nb, DATE_FORMAT(date_click, "%Y-%m-%d") FROM $tableOpens GROUP BY date_click';

sa donne quoi sa ?

L0rD...
mercredi 7 juillet 2010 à 16:44:33 | Re : comment faire une requete mysql count avec date_format

hdh


aiaiia tjs pas...
je pense que mon problème vient aussi de cette partie

Code PHP :
while ($ligne=mysql_fetch_array($req))
	{
	echo " >> ".$ligne[0].">_> ".$nb."<br>";
	}


....tu écrirais quoi toi ? perso je sèche



le temps n'épargne pas ce que l'ont fait sans lui.. le php non plus
mercredi 7 juillet 2010 à 16:46:33 | Re : comment faire une requete mysql count avec date_format

xactise

Membre Club
Test directement la requête dans PHPMyAdmin STP


L0rD...
mercredi 7 juillet 2010 à 17:09:21 | Re : comment faire une requete mysql count avec date_format

hdh

résultat étrange (ca marche pas pour le 21 mais semble ok pour )

Code XML :
"1";"2010-01-21"
"1";"2010-01-21"
"1";"2010-01-21"
"1";"2010-01-21"
"1";"2010-01-21"
"1";"2010-01-21"
"1";"2010-01-21"
"1";"2010-01-21"
"1";"2010-01-30"
"1";"2010-02-08"
"1";"2010-02-14"
"1";"2010-02-18"
"1";"2010-03-06"
"1";"2010-03-08"
"2";"2010-03-31"




Code :
DROP TABLE IF EXISTS opens;
CREATE TABLE IF NOT EXISTS opens (
  id_click int(6) NOT NULL auto_increment,
  usermail varchar(100) NOT NULL default '',
  date_click datetime NOT NULL default '0000-00-00 00:00:00',
  PRIMARY KEY  (id_click)
) TYPE=MyISAM AUTO_INCREMENT=17 ;


INSERT INTO opens (id_click, usermail, date_click) VALUES
(1, '', '2010-01-21 11:16:14'),
(2, '', '2010-01-21 11:16:34'),
(3, '', '2010-01-21 11:16:40'),
(4, '', '2010-01-21 11:16:45'),
(5, '', '2010-01-21 11:16:54'),
(6, '', '2010-01-21 11:25:31'),
(7, '', '2010-01-21 11:25:40'),
(8, '', '2010-01-21 11:25:41'),
(9, '', '2010-01-30 14:49:18'),
(10, '', '2010-02-08 11:20:11'),
(11, '', '2010-02-14 08:14:51'),
(12, '', '2010-02-18 10:37:19'),
(13, '', '2010-03-06 12:27:16'),
(14, '', '2010-03-08 20:14:03'),
(15, '', '2010-03-31 06:01:20'),
(16, '', '2010-03-31 06:01:20');



le temps n'épargne pas ce que l'ont fait sans lui.. le php non plus
mercredi 7 juillet 2010 à 17:42:26 | Re : comment faire une requete mysql count avec date_format

xactise

Membre Club
SELECT COUNT(id_click) as nb, DATE_FORMAT(date_click, "%Y-%m-%d") FROM opens GROUP BY SUBSTR(date_click,1,10)

VOILA ;)

testez et approuvé


L0rD...
mercredi 7 juillet 2010 à 18:11:17 | Re : comment faire une requete mysql count avec date_format

hdh


argh on est pas loin ... mais il y a encore un soucis


Code :
avec cette requete 
SELECT COUNT( id_click ) AS nb, DATE_FORMAT( date_click, "%Y-%m-%d" ) FROM opens
 GROUP BY SUBSTR(date_click,1,10) 

j'ai

#1064 - You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near '(date_click,1,10)
LIMIT 0, 30' at line 2 


ca c'est sur phpmyadmin... pourriez vous me dire aussi comment afficher dans ma page php

Code PHP :
while ($ligne=mysql_fetch_array($req))
	{
	echo " le jour ".$ligne[0]." il y a eu ".$nb????." clics<br>";
	}


....et encore merci pour votre persévérance :-)

le temps n'épargne pas ce que l'ont fait sans lui.. le php non plus
mercredi 7 juillet 2010 à 20:30:27 | Re : comment faire une requete mysql count avec date_format

kohntark

Membre Club
Salut,

Ca me semble pourtant correct.

Quelle est la version de mysql ?
Qu'est ce que ça raconte si tu remplaces SUBSTR par SUBSTRING ?

Et en faisant comme ça ? (ce qui me semble d'ailleurs un peu plus clean que le SUBSTR) :

Code :
SELECT COUNT( id_click ) AS nb, DATE_FORMAT( date_click, "%Y-%m-%d" ) 
FROM opens
GROUP BY DATE(date_click)



Cordialement,


Kohntark -

jeudi 8 juillet 2010 à 07:46:52 | Re : comment faire une requete mysql count avec date_format

xactise

Membre Club
la requete fonctionne je l'ai tester avec la table et les donnée que tu as fourni plus haut.

@Kohntark : le souci avec ta requete c'est qu'il va distinct egallement les heure les minute et les seconde : exemple avec les donnée qu'il a fournie :


(1, '', '2010-01-21 11:16:14'),
(2, '', '2010-01-21 11:16:34'),
(3, '', '2010-01-21 11:16:40'),

et lui veut grouper par jour d'ou le substr

@hdh je ne comprends pas que sa ne fonctionne pas chez toi.

L0rD...
jeudi 8 juillet 2010 à 07:49:46 | Re : comment faire une requete mysql count avec date_format

xactise

Membre Club
Oups je n'ai rien dit Kohntark je n'avais pas vu le DATE(date_click) ^^

En effet cela fonctionnera très bien aussi


L0rD...

1 2 3

Cette discussion est classée dans : date, mysql, format, click, clics


Répondre à ce message

Sujets en rapport avec ce message

PHP et MySQL : format de date [ par vir76 ] Salut tout le monde,Voilà, dans MySQL, j'ai converti mon format DATE à l'aide de la fonction SELECT DATE_FORMAT(nom de mon champ, mon format)Le serveu PHP et MySQL : format de date [ par vir76 ] Bonjour,Je voudrais convertir le format de date de mySQL (aaaa-mm-jj) en format français (jj-mm-aa). J'ai essayé plusieurs fonctions présentes sur ce Récuperer dates Mysql [ par infosub ] Bonjour,Je recupere deux dates d'un formulaire sur une BDD Mysql "date_a "et "date_b" (par exemple 05/03/2005 et 09/05/2005 ou en format different).Es modifier format d'une date extraite d'une base SQL [ par titsuisse ] Bonjour,Je pense que ce point a déjà du être aborder cependant je n'ai rien trouvé qui me satisfasse (en faite rien qui marche).Voilà, j'ai une table date et MySQL [ par LaTatadu91 ] Bonjour tout le monde, j'ai une table MySQL qui comporte un champ date au format DATETIME je récupére d'un formulaire une date dans ce format: 2006-0 calculer une date avec php/mysql [ par morpheus83 ] Bonjour, j'ai un probleme a regler...vous vous en doutez [^^yeuxenlair]. j'ai une base de donnee mysql avec 2 champs : date_sortie : format date numer date [ par vistel ] bonjour à tous je sais convertir une date au format UNIX exemple: $date = strftime("%d/%m/%Y %H:%M", $date); mais pour le contraire comment faire? s Requête qui rend fou [ par clemg ] Bonjour à tous, Voici mon problème : j'essaye de réaliser une requête toute simple, comme il y en a sur toutes les pages de mon site : insérer une ent comparaison dates [ par noussaa19 ] Bonjour, j'ai un problème dans mon code php je veux comparer 2 dates dont la première récupéré à partir d'une base de donnée mysql mais sous la forme comparer une date à la date aujourd'hui [ par vincej ] Bonjour, je veux vérifier dans une table que aucun des enregistrements est à la date d'aujourd'hui. pour vérifier cette condition j'ai mis un enregi


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,780 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales