Page 1 sur 1

probleme de code requete sql

Posté : 09 nov. 2007, 23:14
par Poinball
bonjour ! j'ai un code pour me sortire ma liste de clients avec a coté le nombre de facture qu'ils possedent. le probleme de mon code c'est qu'il me donne seulement les clients qui possede une facture.. les autres ne sont pas afficher !! je voudrais les voir safficher ..
$query_membres = mysql_query("SELECT t1.*,count(t2.id) as total_facture FROM utilisateurs as t1,factures as t2 WHERE t1.login=t2.login GROUP BY t1.login");
$total_clients=mysql_num_rows($query_membres);
jespere que vous allez comprendre mon charabia :roll:
et javais oublié de vous dire que les infos des clients et les factures ne sont pas dans la meme table !

Posté : 09 nov. 2007, 23:20
par Hubert Roksor
Il n'y a pas d'echo dans ton code, c'est pour ça.

Posté : 09 nov. 2007, 23:23
par Poinball
j'ai un Echo !!! jsuis pas stupide ! jtais juste donner la requete ! voici le code complet.. si sa peux t'aider. !!!
<? 
mysql_connect("localhost","****","****") or die ("impossible de connecter le serveur de données"); // Pour se connecter à la base de donnée
$db = mysql_select_db("design_facture") or die ("impossible de connecter la base de données. <br/>".mysql_errno()." : ".mysql_error().""); // Pour dire le nom de la base de donnée

$query_membres = mysql_query("SELECT t1.*,count(t2.id) as total_facture FROM utilisateurs as t1,factures as t2 WHERE t1.login=t2.login GROUP BY t1.login"); // résultat
$total_clients=mysql_num_rows($query_membres); // donne le nombre de resultas celui ci équivaut au nombre d'utilisateurs

echo"Total Clients:<b> $total_clients </b>"; 
echo " <table border=\"0\" width=\"90%\" align=\"center\">";
echo "<tr>
	<td bgcolor=\"#339933\">
	<p align=\"center\"><b><u>Clients</u></b></p></td>
	<td bgcolor=\"#339933\">
	<p align=\"center\"><b><u>Niveau</u></b></p></td>
	<td bgcolor=\"#339933\">
	<p align=\"center\"><b><u>Total Facture(s)</u></b></p></td>
	<td bgcolor=\"#339933\">
	<p align=\"center\"><b><u>Modifier une facture</u></b></p></td>
	<td bgcolor=\"#339933\">
	<p align=\"center\"><b><u>Delete</u></b></p></td>
	</tr>";
while($rows = mysql_fetch_array($query_membres)) { // boucle ( loop )
$result_login = $rows['login']; // résultat de la boucle pour la colonne pseudo:P
$result_id = $rows['id']; // résultat de la boucle pour la colonne id
$result_lvl = $rows['niveau'];
$result_totalfactures = $rows['total_facture']; // facture total de l'utilisateur
//Table pour montré les membres
	print "<tr>
		<td width=\"130\" bgcolor=\"#FFFFFF\">
		<p align=\"center\">$result_login</p></td>
		<td width=\"100\" bgcolor=\"#FFFFFF\">
		<p align=\"center\">$result_lvl</p></td>
		<td width=\"180\" bgcolor=\"#FFFFFF\">
		<p align=\"center\">$result_totalfactures</p></td>
		<td width=\"170\" bgcolor=\"#FFFFFF\">
		<p align=\"center\"><a href=\"clients_mod.php?facture=".$result_login."\">Modifier</a></td>
		<td bgcolor=\"#FFFFFF\"><p align=\"center\"><a href=\"clients.php?delete=".$result_id."\"> <img border=\"0\" src=\"x10x10.gif\" width=\"10\" height=\"10\"></a></p></td>
	</tr>";
} // fin de la boucle 
mysql_close();
?></table>

Posté : 09 nov. 2007, 23:50
par Truc
Parce que tu ne requêtes pas comme il faut !!!
Regarde ce mini tuto sur les jointures pour t'informer sur "LET JOIN" (et les autres) !!

J'en profite pour déplacer dans le bon forum !