Problème avec boucles imbriquée
Résolu
Dimitri
-
Dimitri -
Dimitri -
Bonjour,
J'ai un petit problème avec des boucles imbriquée :
<?php
$reponse = mysql_query('SELECT * FROM departement') or die (mysql_error());
while ($donnees = mysql_fetch_array($reponse)) {
echo $donnees['nom'];
$reponse1 = mysql_query('SELECT * FROM fonction') or die (mysql_error());
while ($donnees1 = mysql_fetch_array($reponse1)) {
?>
<label for="fonction_'.$donnees1['id'].'">
<?php
echo $donnees1['nom'];
?>
</label>
<?php
echo '<input type="checkbox" name="fonction_'.$donnees1['id'].'"';
}
}
?>
Donc en fait je voudrais afficher les fonctions qui sont liées ou départements.
Le problème c'est que je reçois en affichage :
departement1 fonction1 fonction 2 ... fonction 1 fonction 2 ... fonction 1 fonction 2...
alors que je devrait avoir :
departement1 fonction1 fonction 2 ... departement2 fonction 1 fonction 2 ... departement3 fonction 1 fonction 2...
Par contre, quand je mets ce code ci :
<?php
$reponse = mysql_query('SELECT * FROM departement') or die (mysql_error());
while ($donnees = mysql_fetch_array($reponse)) {
echo $donnees['nom'];
$reponse1 = mysql_query('SELECT * FROM fonction') or die (mysql_error());
while ($donnees1 = mysql_fetch_array($reponse1)) {
echo $donnees1['nom'];
}
}
?>
j'obtiens bien :
departement1 fonction1 fonction 2 ... departement2 fonction 1 fonction 2 ... departement3 fonction 1 fonction 2...
Mais sans le formulaire dont j'ai besoin.
Est-ce que quelqu'un aurait une idée?
Merci d'avance,
Dimitri
J'ai un petit problème avec des boucles imbriquée :
<?php
$reponse = mysql_query('SELECT * FROM departement') or die (mysql_error());
while ($donnees = mysql_fetch_array($reponse)) {
echo $donnees['nom'];
$reponse1 = mysql_query('SELECT * FROM fonction') or die (mysql_error());
while ($donnees1 = mysql_fetch_array($reponse1)) {
?>
<label for="fonction_'.$donnees1['id'].'">
<?php
echo $donnees1['nom'];
?>
</label>
<?php
echo '<input type="checkbox" name="fonction_'.$donnees1['id'].'"';
}
}
?>
Donc en fait je voudrais afficher les fonctions qui sont liées ou départements.
Le problème c'est que je reçois en affichage :
departement1 fonction1 fonction 2 ... fonction 1 fonction 2 ... fonction 1 fonction 2...
alors que je devrait avoir :
departement1 fonction1 fonction 2 ... departement2 fonction 1 fonction 2 ... departement3 fonction 1 fonction 2...
Par contre, quand je mets ce code ci :
<?php
$reponse = mysql_query('SELECT * FROM departement') or die (mysql_error());
while ($donnees = mysql_fetch_array($reponse)) {
echo $donnees['nom'];
$reponse1 = mysql_query('SELECT * FROM fonction') or die (mysql_error());
while ($donnees1 = mysql_fetch_array($reponse1)) {
echo $donnees1['nom'];
}
}
?>
j'obtiens bien :
departement1 fonction1 fonction 2 ... departement2 fonction 1 fonction 2 ... departement3 fonction 1 fonction 2...
Mais sans le formulaire dont j'ai besoin.
Est-ce que quelqu'un aurait une idée?
Merci d'avance,
Dimitri
Configuration: Windows XP Firefox 3.0.5
6 réponses
-
$reponse1 = mysql_query('SELECT * FROM fonction') or die (mysql_error());
devrait être, je pense
$reponse1 = mysql_query('SELECT * FROM fonction where departement ='. $donnees1['nom'].') or die (mysql_error());
enfin en considérant qu'il y a bien un lien entre les deux tables -
En fait, je n'ai pas un liens direct entre les 2 tables... C'est que j'ai une relation de n à n donc j'ai une table
link_departement qui reprend : departement_id et fonction_id -
Essai ca :
<?php
$reponse = mysql_query('SELECT * FROM departement') or die (mysql_error());
$reponse1 = mysql_query('SELECT * FROM fonction') or die (mysql_error());
?>
<table border="0">
<tr>
<th>departement</th>
<th>fonction</th>
</tr>
<tr>
<td>
<?php
while ($donnees = mysql_fetch_array($reponse))
{
echo $donnees['nom'];
?>
</td>
<td>
<?php
while ($donnees1 = mysql_fetch_array($reponse1))
{
echo $donnees1['nom'];
?>
</td>
<?php
echo '<input type="checkbox" name="fonction_'.$donnees1['id'].'"';
}
}
?>
-
Ce que tu me donne comme code me paraît logique...
Mais j'ai en retour :
un tableau avec :
departement | fonction
departement 1 | departement 2 | departement 3 -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour
Ton code initial était presque bon. Il te manquait juste le > de la balise <input type="checkbox" -
Merci pour votre aide!
C'était bien effectivement juste le > de la balise checkbox...
Je vais continuer à coder.
Bonne journée!