Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
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 11/08/2011, 14h20   #1
Nouveau Membre du Club
 
Inscription : février 2009
Messages : 123
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 123
Points : 29
Points : 29
Par défaut Somme dans mon resultat

Bonjour a tous, j'ai un script qui compte le nombre de visite sur certaines pages de mon site.

Il me donne donc un tableau avec un nombre de visites pour chaque jour compris entre les dates données dans le script.

Je chercherais plutot a avoir une seule ligne avec le nombre en global.

Cela fait plusieurs jours que je cherche sans trouver. Pouvez vous m'aider svp.

Une partie de mon script :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php
 
	//Connexion à la base. 
	mysql_connect("******","********","*************")or die("Problème avec la base de données");
	mysql_select_db("***********")or die ("pas de connection");
 
//recup des variables
$dated=$_POST['dated'];
$datef=$_POST['datef'];
$categories=$_POST['categories'];
 
//Requête
//Vide la table 'nom_de_la_table'
$reponse=mysql_query("SELECT jom15_jstats_visits.visit_date, jom15_categories.title, COUNT(*) 
FROM jom15_jstats_impressions
INNER JOIN jom15_jstats_visits ON jom15_jstats_visits.visit_id = jom15_jstats_impressions.visit_id
INNER JOIN jom15_jstats_pages ON jom15_jstats_pages.page_id = jom15_jstats_impressions.page_id
INNER JOIN jom15_content ON jom15_jstats_pages.page_title = jom15_content.title
INNER JOIN jom15_categories ON jom15_content.catid =
jom15_categories.id 
WHERE jom15_jstats_visits.visit_date BETWEEN '$dated' AND '$datef' AND jom15_categories.id = '$categories' GROUP BY jom15_jstats_visits.visit_date") or die ("Désolé, il y a eu un problème dans la transmission des données". mysql_error()); 
	// On fait une boucle pour lister tout ce que contient la table :
//***********************************************************************************************************************
	if ($reponse)
	{
//*************************************************************************************************************************
		while ($donnees = mysql_fetch_array($reponse))
 
		{
 
?>
 
  <tr>
 
	<td><center><font face="tahoma" size="2"><?php echo $donnees['0']; ?></font></center></td>
	<td><center><font face="tahoma" size="2"><?php echo $donnees['1']; ?></font></center></td>
	<td><center><font face="tahoma" size="2"><?php echo $donnees['2']; ?></font></center></td>
 
   </tr>
	<!--echo "<meta http-equiv='refresh' content='0';URL=".$_SERVER['PHP_SELF'].".php?refresh=0'>"; -->
<?php
 
		}
 
 
 
//mysql_close(); // Déconnexion de MySQL
//****************************************************************************************************
	}
	else
	{
	echo 'Pas de champs!!!';
	}
//****************************************************************************************************
?>
Mon resultat actuel (en gros) :

Citation:
Date Categories Nb pages visitées
2011-02-1 FDS S 2
2011-02-14 FDS S 2
2011-02-15 FDS S 4
2011-02-16 FDS S 6
2011-02-20 FDS S 2
Et le resultat souhaité :

Citation:
Categories Nb pages visitées
FDS S 16
Merci d'avance pour votre aide précieuse
Steph70
steph70 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 14h40   #2
Modérateur
 
Avatar de FirePrawn
 
Homme Sébastien
Ingénieur réalisateur
Inscription : mars 2011
Messages : 773
Détails du profil
Informations personnelles :
Nom : Homme Sébastien
Âge : 24
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Ingénieur réalisateur
Secteur : Industrie

Informations forums :
Inscription : mars 2011
Messages : 773
Points : 2 332
Points : 2 332
Bonjour,

Fais ton COUNT() sur le nombre de pages, pas sur tout ; enlève la date du select, et fais un DISTINCT sur les catégories.

J'avais zappé le group by
__________________
- Avant toute chose : lire le mode d'emploi du forum et ses règles.
- avant de poster
- Je ne réponds pas aux questions techniques en MP.
FirePrawn est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 14h41   #3
Membre confirmé
 
Avatar de Retrokiller069
 
Homme Bertrand
Étudiant
Inscription : octobre 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Bertrand
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2010
Messages : 216
Points : 268
Points : 268
Bonjour,

essaye en remplacant ton group by par ceci:

Code :
GROUP BY jom15_categories.title
Si ca marche pas fait ceci (remplace de la ligne 26 à 39):

Code :
1
2
3
4
5
6
7
8
9
10
11
<?php
$total=0;
while ($donnees = mysql_fetch_array($reponse))
{
     $total=$total+$donnees['2'];
}
?>
<tr>
     <td><center><font face="tahoma" size="2">FDS</font></center></td>
     <td><center><font face="tahoma" size="2"><?php echo $total; ?></font></center></td>
</tr>
__________________
Ce n'est pas ce que nous voulons faire qui est impossible mais ce sont les moyens à sa mise en oeuvre qui peuvent le paraître

Ps: N'oubliez pas SVP
Retrokiller069 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 15h30   #4
Nouveau Membre du Club
 
Inscription : février 2009
Messages : 123
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 123
Points : 29
Points : 29
Merci beaucoup,

la solution :
Code :
GROUP BY jom15_categories.title
etait la bonne réponse.

Merci encore à tous.

Post résolu

Amicalement
steph70 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h59.


 
 
 
 
Partenaires

Hébergement Web