Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
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 06/03/2010, 18h08   #1
Membre du Club
 
Homme Stéphane A.
Inscription : décembre 2008
Messages : 286
Détails du profil
Informations personnelles :
Nom : Homme Stéphane A.
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Secteur : Distribution

Informations forums :
Inscription : décembre 2008
Messages : 286
Points : 67
Points : 67
Par défaut Ma boucle ne récupère qu'une seule ligne

Bonjour,

J'ai mon script qui dois m'afficher un récapitulatif des clients par ligne mais voila je n'ai qu'une ligne d'affiché au lieu de la totalité.

J'ai une boucle while qui ne dois pas bien fonctionner, j'au rai besoin un peux d'aide de votre part
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
56
57
 
 
<?php
 
include('../inc/inc_connexion.php');
 
$result = mysql_query("SELECT soc_id, soc_adherent, COUNT(fact_facture) AS nb_fact, soc_region, fact_montant, soc_societe FROM facture, societe WHERE fact_id = soc_id ORDER BY soc_id")or die(mysql_error());
 
 
$ligne = "<table BORDER=1 BORDERCOLOR=#CCCCCC BGCOLOR=#fffccc CELLSPACING=0 CELLPADDING=2 WIDTH=98% ALIGN=left font-family:Verdana size=10px><tr>
			<td bgcolor='#669999'><b><u>Numero</u></b></td>
			<td bgcolor='#669999'><b><u>Societe</u></b></td>
			<td bgcolor='#669999'><b><u>Adhérent</u></b></td>
			<td bgcolor='#669999'><b><u>Région</u></b></td>	
			<td bgcolor='#669999'><b><u>NB</u></b></td>
			<td bgcolor='#669999'><b><u>Montant</u></b></td>";
 
$total = 0;	
 
	while($recap = mysql_fetch_array($result))
		{		
		$id = $recap['soc_id'];
 
		$societe = $recap['soc_societe'];
		$adherent = $recap['soc_adherent'];
		$societe = $recap['soc_societe'];
		$region = $recap['soc_region'];
		$nb_fact = $recap['nb_fact'];
		//$enseigne = $recap['enseigne'];
		//$telephone = $recap['telephone'];
		//$fax = $recap['fax'];
		//$siret = $recap['siret'];
 
		$mont += addslashes($recap['fact_montant']);
 
		$total += $mont;
 
		if($mont > 0)
			{
			$ligne .= "<tr> 
						<td valign=top><h5><a href='fiche_pdv.php?numero=$id' target='_self'>".$id."</a></h5></td>
						<td valign=top ><h5>".$societe."</h5></td>
						<td valign=top><h5>".$adherent."</h5></td>
						<td valign=top><h5>".$region."</h5></td>
						<td valign=top><h5>".$nb_fact."</h5></td>
						<td valign=top align='right'><h5>".$mont."</h5></td></tr>";
			}
		}	
 
$ligne .= "<tr><td colspan='5' valign ='center'><h5>Total Final</h5></td><td align='right' valign ='center'><h5>".$total."</h5></td></tr>";
 
$ligne .= "</table>";	
 
echo $ligne;
 
 
?>
Je vous remercie par avance de votre aide

Runcafre91
runcafre91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2010, 18h30   #2
Membre Expert
 
Avatar de sovo
 
Homme Brice EKOBE
Développeur Java
Inscription : mars 2004
Messages : 1 348
Détails du profil
Informations personnelles :
Nom : Homme Brice EKOBE
Localisation : Cameroun

Informations professionnelles :
Activité : Développeur Java
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mars 2004
Messages : 1 348
Points : 1 636
Points : 1 636
Envoyer un message via MSN à sovo Envoyer un message via Yahoo à sovo Envoyer un message via Skype™ à sovo
est que tu as essayer ta requête dans mysql pour ce que tu as comme résultat ?? ou alors de voir le nombre d'enregistrement (mysql_num_row) que retourne l'exécution de celle-ci ??
__________________
"Toute question a une reponse. Et chaque reponse est une nouvelle question." Albert EINSTEIN

En cas de Question resolu, n'oubliez pas
sovo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2010, 19h32   #3
Membre du Club
 
Homme Stéphane A.
Inscription : décembre 2008
Messages : 286
Détails du profil
Informations personnelles :
Nom : Homme Stéphane A.
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Secteur : Distribution

Informations forums :
Inscription : décembre 2008
Messages : 286
Points : 67
Points : 67
Citation:
Envoyé par sovo Voir le message
est que tu as essayer ta requête dans mysql pour ce que tu as comme résultat ?? ou alors de voir le nombre d'enregistrement (mysql_num_row) que retourne l'exécution de celle-ci ??
Bonjour,

Merci de votre réponse, ma le count que j'ai mis n'allais pas, après plusieurs essayes j'ai trouver la bonne synthaxe, un COUNT(DISTINCT fact_facture)

Voici le script au complet (count + sum dans la même requete)

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
56
57
58
59
 
 
<?php
 
include('../inc/inc_connexion.php');
 
$result = mysql_query("SELECT COUNT(DISTINCT fact_facture) AS nb_fact, fact_id, soc_id, soc_adherent, soc_region, SUM(fact_montant) AS fact_montant, soc_societe FROM facture, societe WHERE fact_id = soc_id GROUP BY soc_id")or die(mysql_error());
 
 
$ligne = "<table BORDER=1 BORDERCOLOR=#CCCCCC BGCOLOR=#fffccc CELLSPACING=0 CELLPADDING=2 WIDTH=98% ALIGN=left font-family:Verdana size=10px><tr>
			<td bgcolor='#669999'><b><u>Numero</u></b></td>
			<td bgcolor='#669999'><b><u>Societe</u></b></td>
			<td bgcolor='#669999'><b><u>Adhérent</u></b></td>
			<td bgcolor='#669999'><b><u>Région</u></b></td>	
			<td bgcolor='#669999'><b><u>NB</u></b></td>
			<td bgcolor='#669999'><b><u>Montant</u></b></td>";
 
$total = 0;	
 
	while($recap = mysql_fetch_array($result))
		{		
 
		$id = $recap['soc_id'];
 
		$societe = $recap['soc_societe'];
		$adherent = $recap['soc_adherent'];
		$societe = $recap['soc_societe'];
		$region = $recap['soc_region'];
		$nb_fact = $recap['nb_fact'];
		//$enseigne = $recap['enseigne'];
		//$telephone = $recap['telephone'];
		//$fax = $recap['fax'];
		//$siret = $recap['siret'];
 
		// Les calculs du total
     $mont = $recap['fact_montant'];
     $total += $mont;
 
		if($mont > 0)
			{
			$ligne .= "<tr> 
						<td valign=top><h5><a href='fiche_pdv.php?numero=$id' target='_self'>".$id."</a></h5></td>
						<td valign=top ><h5>".$societe."</h5></td>
						<td valign=top><h5>".$adherent."</h5></td>
						<td valign=top><h5>".$region."</h5></td>
						<td valign=top><h5>".$nb_fact."</h5></td>
						<td valign=top align='right'><h5>".$mont."</h5></td></tr>";
			}
		}	
 
$ligne .= "<tr><td colspan='5' valign ='center'><h5>Total Final</h5></td><td align='right' valign ='center'><h5>".$total."</h5></td></tr>";
 
$ligne .= "</table>";	
 
echo $ligne;
 
?>
 
Runcafre91
runcafre91 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 +1. Il est actuellement 15h21.


 
 
 
 
Partenaires

Hébergement Web