[PHP] double boucle WHILE mysql_fetch_array
Résolu
dafunkk
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
dafunkk Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
dafunkk Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
cela fait maintenant deux jours que je suis bloqué par ce problème, peut-être quelqu'un pourra me faire avancer:
je voudrais afficher un certain nombre de checkbox dans un formulaire, et pre-cocher celles qui sont déjà attribué a un employé, j'ai donc deux boucle while, l'une dans l'autre, la première et la boucle générale qui boucle sur le mysql_fetch_array qui contient toutes les informations, la deuxième boucle while boucle sur les informations spécifique a l'employé, si elle existe chez l'employé il créé une checkbox pre-coché, sinon il l'a crée simplement sans la cocher. Pour l'instant mon code ne m'affiche que la première des information, mais c'est tout, en fait la première boucle while boucle san sprendre en compte la deuxième. Si quelqu'un voit d'ou pourrait venir le problème je lui en serrait tellement reconnaissant:
voici deux les deux solution que j'ai essayé qui m'amene exactement au même résultat:
essai 1:
function Rfonction4($var)
{
$b = mysql_query ( "SELECT posseder.numero_fonction
FROM employe, posseder, annee_active
WHERE posseder.annee = annee_active.ACTIVE
AND employe.numero_emp = posseder.numero_emp
AND employe.numero_emp ='$var'"
) or die ( "Requete pas comprise" );
$a = mysql_query("SELECT * FROM fonction") or die("Requete pas comprise");
$i=1;
$done=0;
$nb=mysql_num_rows($b);
$nb++;
echo '<table><tr>';
while ($libelle = mysql_fetch_array($a))
{
$lib = strtr($libelle[1], " ", "_");
while ($c = mysql_fetch_array($b))
{
if ($c[0] == $libelle[0])
{
if ($done!=1) {echo '<td align="right">'.$libelle[1].' <input name="'.$lib.'" type="checkbox" checked="checked"/> </td>'; $done=1; }
}
else {
if ($done!=1) {echo '<td align="right">'.$libelle[1].' <input name="'.$lib.'" type="checkbox"/> </td>'; $done=1;}
}
}
if($i==5)
{
echo '</tr><tr>';
$i=0;
}
$i++;
mysql_data_seek($b,0);
}
echo '</table>';
}
essai 2:
function Rfonction4($var)
{
$b = mysql_query ( "SELECT posseder.numero_fonction
FROM employe, posseder, annee_active
WHERE posseder.annee = annee_active.ACTIVE
AND employe.numero_emp = posseder.numero_emp
AND employe.numero_emp ='$var'"
) or die ( "Requete pas comprise" );
$a = mysql_query("SELECT * FROM fonction") or die("Requete pas comprise");
$i=1;
$done=0;
$nb=mysql_num_rows($b);
$c = mysql_fetch_array($b);
echo '<table><tr>';
while ($libelle = mysql_fetch_array($a))
{
$lib = strtr($libelle[1], " ", "_");
$up=0;
$numfonc=$libelle[0];
while ($up<$nb)
{
$c=mysql_data_seek($b,$up);
if ($c == $numfonc)
{
if ($done!=1) {echo '<td align="right">'.$libelle[1].' <input name="'.$lib.'" type="checkbox" checked="checked"/> </td>'; $done=1; }
}
else {
if ($done!=1) {echo '<td align="right">'.$libelle[1].' <input name="'.$lib.'" type="checkbox"/> </td>'; $done=1;}
}
$up++;
}
if($i==5)
{
echo '</tr><tr>';
$i=0;
}
$i++;
}
echo '</table>';
}
dafunkk
cela fait maintenant deux jours que je suis bloqué par ce problème, peut-être quelqu'un pourra me faire avancer:
je voudrais afficher un certain nombre de checkbox dans un formulaire, et pre-cocher celles qui sont déjà attribué a un employé, j'ai donc deux boucle while, l'une dans l'autre, la première et la boucle générale qui boucle sur le mysql_fetch_array qui contient toutes les informations, la deuxième boucle while boucle sur les informations spécifique a l'employé, si elle existe chez l'employé il créé une checkbox pre-coché, sinon il l'a crée simplement sans la cocher. Pour l'instant mon code ne m'affiche que la première des information, mais c'est tout, en fait la première boucle while boucle san sprendre en compte la deuxième. Si quelqu'un voit d'ou pourrait venir le problème je lui en serrait tellement reconnaissant:
voici deux les deux solution que j'ai essayé qui m'amene exactement au même résultat:
essai 1:
function Rfonction4($var)
{
$b = mysql_query ( "SELECT posseder.numero_fonction
FROM employe, posseder, annee_active
WHERE posseder.annee = annee_active.ACTIVE
AND employe.numero_emp = posseder.numero_emp
AND employe.numero_emp ='$var'"
) or die ( "Requete pas comprise" );
$a = mysql_query("SELECT * FROM fonction") or die("Requete pas comprise");
$i=1;
$done=0;
$nb=mysql_num_rows($b);
$nb++;
echo '<table><tr>';
while ($libelle = mysql_fetch_array($a))
{
$lib = strtr($libelle[1], " ", "_");
while ($c = mysql_fetch_array($b))
{
if ($c[0] == $libelle[0])
{
if ($done!=1) {echo '<td align="right">'.$libelle[1].' <input name="'.$lib.'" type="checkbox" checked="checked"/> </td>'; $done=1; }
}
else {
if ($done!=1) {echo '<td align="right">'.$libelle[1].' <input name="'.$lib.'" type="checkbox"/> </td>'; $done=1;}
}
}
if($i==5)
{
echo '</tr><tr>';
$i=0;
}
$i++;
mysql_data_seek($b,0);
}
echo '</table>';
}
essai 2:
function Rfonction4($var)
{
$b = mysql_query ( "SELECT posseder.numero_fonction
FROM employe, posseder, annee_active
WHERE posseder.annee = annee_active.ACTIVE
AND employe.numero_emp = posseder.numero_emp
AND employe.numero_emp ='$var'"
) or die ( "Requete pas comprise" );
$a = mysql_query("SELECT * FROM fonction") or die("Requete pas comprise");
$i=1;
$done=0;
$nb=mysql_num_rows($b);
$c = mysql_fetch_array($b);
echo '<table><tr>';
while ($libelle = mysql_fetch_array($a))
{
$lib = strtr($libelle[1], " ", "_");
$up=0;
$numfonc=$libelle[0];
while ($up<$nb)
{
$c=mysql_data_seek($b,$up);
if ($c == $numfonc)
{
if ($done!=1) {echo '<td align="right">'.$libelle[1].' <input name="'.$lib.'" type="checkbox" checked="checked"/> </td>'; $done=1; }
}
else {
if ($done!=1) {echo '<td align="right">'.$libelle[1].' <input name="'.$lib.'" type="checkbox"/> </td>'; $done=1;}
}
$up++;
}
if($i==5)
{
echo '</tr><tr>';
$i=0;
}
$i++;
}
echo '</table>';
}
dafunkk
A voir également:
- [PHP] double boucle WHILE mysql_fetch_array
- Double ecran - Guide
- Whatsapp double sim - Guide
- Double driver - Télécharger - Pilotes & Matériel
- Double appel - Guide
- Double boot - Guide