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 : 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';
}
$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 : 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';
}
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