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
A voir également:
- Problème avec boucles imbriquée
- Liste imbriquée excel - Guide
- Formule si imbriquée avec et - Guide
- Dessin anime cheveux bouclés - Forum Cinéma / Télé
- Fonction si imbriquée dans Excel ✓ - Forum Excel
- Problème pc qui s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
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
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
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'].'"';
}
}
?>
<?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
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