Bonjour,
Je rencontres pas mal de difficultés avec une requete complexe que je n'arrive finalement pas à mettre sur pied.
4 tables dans la base:
USERS - SPORTS - LEAGUES - DISCUSSIONS
C'est une sorte de blog sur le sport, ou chaque personne a son blog.
Je bloque sur la dernière etape, que jai gardé pour la fin. C'est a dire deux requetes while imbriquées.
Ce que j'aimerais faire: Comme Wordpress en somme, c'est a dire un menu avec les SPORTS et LEAGUES ou ne s'affiche que les sports et leagues ou l'utilisateur a posté.
Voici un exemple :
LEAGUES depend de SPORTS. Disons que LEAGUES sont les sous-categories de SPORTS.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <?php $sqluc6 = 'SELECT * FROM discu,sports,users WHERE sports.sid = discu.spid AND tips.uid = users.id AND users.id = "4"'; $requc6 = mysql_query($sqluc6) or die('Erreur SQL !<br>'.$sqluc6.'<br>'.mysql_error()); while ($datau6 = mysql_fetch_assoc($requc6)) { $sqluc7 = 'SELECT * FROM leagues WHERE spid = "'.$datau6['sid'].'"'; $requc7 = mysql_query($sqluc7) or die('Erreur SQL !<br>'.$sqluc7.'<br>'.mysql_error()); echo ''.$datau6['sport'].'<br />'; while ($datau7 = mysql_fetch_assoc($requc7)) { echo ''.$datau7['league'].'<br />';} } ?>
Mon problème c'est qu'il va afficher le menu avec plusieurs fois le même sport.
Si l'utilisateur a posté un sujet sur le tennis deux fois de suite puis ensuite deux autres sujets sur le football, j'aurais dans le menu "Tennis Tennis Football Football" avec les LEAGUES en relation.
Je ne vois pas comment formuler en php pour que les SPORTS et LEAGUES en relation ne s'affichent que si la personne a posté un sujet ou plusieurs. Et comment faire pour qu'un SPORT ne s'affiche qu'une fois dans le menu même si le user a posté plusieurs sujets sur ce même sport.
Avez-vous une idée ?
Bien cordialement.
Partager