[PHP]Double requête SQL
Résolu
kikadisa
-
kikadisa -
kikadisa -
Bonjour
Dans mon site il ya un petit blem'
explication
Je fais une première requête SQL m'affichant le nom de l'animateur.
Puis j'en fait une autre qui en fonction du nom de l'animateur m'affiche le nom des membres qui ont cet animateur.
Voici le code :
J'ai comme entrée
Prénom : clémence ; secteur : les herbiers ; animateur : babeth
Prénom : charlène ; secteur : les herbiers ; animateur : babeth
Et à la fin je voudrais voir
Equipe de : Babeth
avec : Charlène, Clémence,
Comment faire ??
Merci pour l'aide
Dans mon site il ya un petit blem'
explication
Je fais une première requête SQL m'affichant le nom de l'animateur.
Puis j'en fait une autre qui en fonction du nom de l'animateur m'affiche le nom des membres qui ont cet animateur.
Voici le code :
<?php
// on affiche les équipes du secteurs
mysql_connect('*********','**********','********');
mysql_select_db('********');
//on se connecte à la base SQL
$team=mysql_query("SELECT*FROM equipe WHERE secteur='$secteur' ORDER BY animateur" );
$equipe=mysql_fetch_array($team);
mysql_close();
while($equipe)
//on affiche le nom de l'animateur
{
$animateur=$equipe['animateur'];
?>
Equipe de : <?php echo $animateur?><br/>avec :
<?php
$adherants=mysql_query("SELECT*FROM equipe WHERE animateur='$animateur'" );
$membre=mysql_fetch_array($adherants);
while($membre)
//on affiche les membre où l'on as le même animateur
$membre=$membre['membre'];
{
echo $membre.',';
}
?>
<br/>
<!--lien vers léquipe en détails -->
<a href="./equipe/.'$secteur'.'.php?anim='.'$animateur'.>Voir cette équipe en détails</a>
<?php
}
//on se déconnecte des connexions SQL
// fin de l'affichage des équipes
?>
J'ai comme entrée
Prénom : clémence ; secteur : les herbiers ; animateur : babeth
Prénom : charlène ; secteur : les herbiers ; animateur : babeth
Et à la fin je voudrais voir
Equipe de : Babeth
avec : Charlène, Clémence,
Comment faire ??
Merci pour l'aide
1 réponse
-
Bonjour,
Voila ce que je pense :
query="SELECT * FROM equipe WHERE secteur='$secteur' ORDER BY animateur"; $res=mysql_query($query); while($equipe=mysql_fetch_array($res)) { $anim=$equip['animateur']; query2="SELECT * FROM equipe WHERE animateur='$anim' "; $res2=mysql_query($query2); echo "Equipe de : $anim <br>avec :"; while($membre=mysql_fetch_array($res2)) { echo $membre['membre'].","; } <a href="./equipe/.'$secteur'.'.php?anim='.'$anim'.>Voir cette équipe en détails</a> } mysql_close();
Ceci n'a pas été testé-
Non sa ne marche pas.
Il m'afiche toujours deux fois l'animateur.
Ce code est vraiment ch***t<?php //on se connecte à la base SQL $team=mysql_query("SELECT*FROM equipe WHERE secteur='$secteur'"); while($equipe=mysql_fetch_array($team)) //on affiche le nom de l'animateur { $animateur=$equipe['animateur']; ?> <p>Equipe de : <?php echo $animateur?><br/>avec : <?php $adherants=mysql_query("SELECT*FROM equipe WHERE animateur='$animateur'"); while($membre=mysql_fetch_array($adherants)) //on affiche les membre où l'on as le même animateur { echo $membre['membre'].','; } ?> <br/> <!--lien vers l'équipe en détails --> <a href="./equipe/<?php echo$secteur?>.php?anim=<?php echo$animateur?>&page=equipe de <?php echo$animateur?>"> Voir cette équipe en détails</a><br/></p> <?php } mysql_close(); //on se déconnecte des connexion SQL //fin de l'affichage des équipes ?>
Ton script m'affiche la même chose mais avant il m'affichait rien -
Moi je verrais plutôt le tout en une requête, vu qu'on a déjà tout dans la première.
Ensuite on fait un nouveau tableau qui trie le tout par animateur.<? //Requête générale $res=mysql_query("SELECT animateur, membre FROM equipe WHERE secteur='$secteur' ORDER BY animateur"); /* On crée un tableau où chaque clé est un animateur, et pour chaque animateur on a encore un tableau avec la liste des membres associés à lui. C'est un tableau multidimensionnel. */ while($tab=mysql_fetch_assoc($res)) { $infos[$tab['animateur'] ] [] = $tab['membre']; } /* Pour chaque animateur on affiche le nom.... */ foreach ( $infos as $animateur => $membres ) { echo "Equipe de $animateur:<br/>Membres: "; /* Pour chaque membre de cet animateur, on affiche le nom .... */ foreach ( $membres as $membre ) { echo "$membre "; } }
-