N'affiche pas les zero de ma table

Bonjours,

je suis bloqué sur mon affichage de requette

J’ai un problème car dans ma table $row[‘command’] est a ‘0’ mais quan je l’appel avec ma requette a l’affichage il met pas le zero mais met la valeur de la commande d’un autre.

explication.

j’ai plusieur prospect et pour chaque prospect je veu le nombre de commande
mais j’ai un prospect ou il y a zero commande ce qui fait que dans mon affichage le prospect ou il y a rien prend celui d’un autre je voudrai pouvoir fair en sorte que là ou il y a le prospect avec zero commande sa m’affiche quelque chose comme un message ou autre mais que l’on voit bien que le champs est vide et pas que l’on voi la valeur d’un autre ce qui fait que mon tableau est décalé


$query_vg ="
SELECT substr(customers_from, 1, 3) AS Origin, 
       COUNT(*) AS effectif_vg
FROM customers 

GROUP BY Origin ";
$result_vg = mysql_query($query_vg) ;



	
	$query = " SELECT substr(customers_from, 1, 3) AS Origin,
       COUNT(DISTINCT cu.customers_id) AS effectif ,count(co.commandes_status) AS command, 
       AVG(co.commandes_montant) AS Mmc 
FROM customers cu
INNER JOIN commandes co 
ON cu.customers_id=co.customers_id 
WHERE co.commandes_status='1'  
GROUP BY Origin ";
	$result = mysql_query($query) ;
	
 


while ($row1 = mysql_fetch_array($result_vg) and $row = mysql_fetch_array($result) ) 
{
	if($row['command'] == '0' )
	{ $row['command'] .= 'zero';

?>
		<tr>
			<td style="background-color:#CCCCCC;">  </td>
            <td style="text-align:center;"> <?php echo $row1['Origin'] ?> </td>
			 <td style="text-align:center;"> <?php echo $row1['effectif_vg'] ?> </td>
			<td style="text-align:center;"> <?php echo $row['command'] ?> </td>
            <td style="text-align:center;"> <?php echo round(($row['command']*$row['Mmc'])) ?> euro</td>
              <td style="text-align:center;"> <?php echo round($row['Mmc'] ,2)?> </td>
		</tr>  
<?php
}  }	
?>

Pas étonnant. Tu ne dois pas parcourir deux result set en même temps.

Charge le contenu du premier dans un tableau, genre

while ($row = mysql_fetch_array($result_vg)) {
  $data[$row['Origin']] = $row;
}

Et dans la deuxième boucle sur le second result set, récupère tes données de la sorte :

while ($row = mysql_fetch_array($result)) {
  $commande = $data[$row['Origin']];
  ...
}

comme sa???


<?php
	// REQUETE 1 : 
	$query = "SELECT substr(customers_from, 1, 3) AS Origin, 
       COUNT(*) AS effectif_vg
FROM customers 

GROUP BY Origin ";
	$result_vg = mysql_query($query) ;
	
	
	
		// REQUETE 2 : 
					$query_produit = 
					" SELECT substr(customers_from, 1, 3) AS Origin,
					   COUNT(DISTINCT cu.customers_id) AS effectif, count(co.commandes_status) AS command,
					   AVG(co.commandes_montant) AS Mmc 
						FROM customers cu
						INNER JOIN commandes co 
						ON cu.customers_id=co.customers_id 
						WHERE co.commandes_status='1' 
						and   customers_from='".$row['Origin']."'
						GROUP BY Origin ";
						$result = mysql_query($query_produit) ;
						
	
while ($row = mysql_fetch_array($result_vg)) 
{ $data[$row['Origin']] = $row;
?>
<tr>
			<td style="background-color:#CCCCCC;">  </td>
            <td style="text-align:center;"> <?php echo $row['Origin'] ?> </td>
			 <td style="text-align:center;"> <?php echo $row['effectif_vg'] ?> </td>
			
				
				
<?php
					
				
					while ($row = mysql_fetch_array($result)) 
					{  $commande = $data[$row['Origin']];
					
?>
	 
				 <td style="text-align:center;"> <?php echo $row['command'] ?> </td>
			 <td style="text-align:center;"> <?php echo round($row['command']*$row_produit['Mmc']) ?> </td>
             <td style="text-align:center;"> <?php echo round($row['Mmc'] ,2) ?> </td>
                
                
			
			
		
<?php
} }
?>

parce que là mon prestaire ma colonne VG c’est bon et j’ai que la première ligne qui est affiché

Excuse moi je regarde tes renseignements mais là j’ai de la peine a comprend ce que tu ma expliquer

Non.

J’ai pas envie de tout reprendre, donc disons simplement que tu fais le remplissage du tableau AVANT de lancer la seconde requête.

Merci mais alors comment je fais pour que sa ne remplisse pas le tableau avant de lancer la deuxième requete?

En évitant d’imbriquer les instructions?