Bonjour à tous,
Voila j'aurais un souci concernant
le résultat d'une requête avec COUNT.
Pour vous résumer la situation, je cherche
en fait à obtenir le nombre de contacts de mes contacts,
et ce sur plusieurs branches (contacts directs de mes contacts
indirects, leurs contacts directs, etc.)
Pour avoir le nombre de contacts directs,
j'ai effectué cette requête:
Code :
- $retour = mysql_query("SELECT COUNT(*) AS nbre_entrees FROM table WHERE contact='".$id."'" );
- $donnees = mysql_fetch_array($retour);
- if ($donnees['nbre_entrees'] > 0)
- {
- echo $donnees['nbre_entrees'];
- }
- else
- {
- echo 'Aucun contact';
- }
|
$id correspond ici à mon id.
Ce code fonctionne parfaitement et
j'obtiens le nombre de mes contacts directs.
Maintenant, concernant le nombre total de
contacts directs de ces contacts, voici le code:
Code :
- $query = "SELECT COUNT(*) AS nombre_entrees FROM table WHERE contact IN (SELECT id FROM table WHERE contact = $id);";
- $result = mysql_query($query) or die(mysql_error());
- $donnees2 = mysql_fetch_assoc($result);
- if ($donnees2['nombre_entrees'] > 0)
- {
- echo $donnees2['nombre_entrees'];
- }
- else
- {
- echo 'Aucun';
- }
|
Ce code fonctionne également correctement.
On utilise ici une sous-requête.
Maintenant, je n'arrive plus à continuer
pour compter le nombre de contacts directs
qu'ont ces contacts "indirects".
Vous savez, c'est comme dans un système
d'affiliation où on souhaite connaître le nombre
de ses filleuls au niveau 1, puis au 2, 3, 4, etc.
Je vous remercie par avance de l'aide que
vous pourriez m'apporter!
Tom
Message édité par Generation-Web le 07-04-2010 à 13:27:29