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:
$id correspond ici à mon id.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 $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'; }
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:
Ce code fonctionne également correctement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 $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'; }
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
Partager