CHECKBOX à cocher suivant une boucle

Résolu
paulinett Messages postés 51 Date d'inscription lundi 1 août 2005 Statut Membre Dernière intervention 17 octobre 2005 - 10 août 2005 à 16:27
arnal69130 Messages postés 445 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 22 mars 2007 - 11 août 2005 à 17:26
Bonjour,

j'ai déja posté à propos de ce code mais la, le problème est autre.
je voudrais faire un check dans les checkbox suivant une boucle.

j'ai une liste d'employés qui travaillent sur une machine et je souhaite modifier cette liste. pour cela, une page s'ouvre avec la liste de tous les employés de l'établissement et des checkbox en face.
je veux cocher les employés qui sont dejà associés à la machine en question.

aucun message d'erreur n'apparait mais le check n'apparait que sur le premier des employés d'une machine.

merci d'avance

voici mon code,

Tous les employes disponibles

Les employes de votre machine <?php echo $nom_machine ; ?> sont cochés


<?php
// Appel le fichier connect.php
require_once("Connect.php");

// Connexion au serveur et accès à la base
$connexion = mysql_pconnect (SERVEUR, NOM, PASSE);
mysql_select_db (BASE, $connexion);

// Ecriture de la 1ere Requete pour sélectionner tous les fournisseurs
$employes_tous=mysql_query("SELECT * FROM Employe",$connexion);

//Ecriture de la 2ème Requete pour sélectionner tous les fournisseurs de la machine
$employes_machine=mysql_query("SELECT Employe.id_employe FROM Employe, EmployeMachine, Machine WHERE Machine.nom_machine LIKE '%$nom_machine%' AND Machine.nom_machine=EmployeMachine.nom_machine AND EmployeMachine.id_employe=Employe.id_employe",$connexion);


echo "<CENTER>\"
//.\"<CAPTION ALIGN=bottom>Table Données Principales </CAPTION>\"
.\"----
ID |NomPrénom |FonctionTéléphone |Email<TH>Check\n\";

while($machines_employes =mysql_fetch_object($employes_machines))
{
while ($tous_employes=mysql_fetch_object($employes_tous))
{
if ($tous_employes->id_employe == $machine_employes->id_employe)
{
echo '----
'.$tous_employes->id_employe.', '
.$tous_employes->nom_employe.', '
.$tous_employes->prenom_employe.', '
.$tous_employes->fonction_employe.', '
.$tous_employes->tel_employe.', '
.$tous_employes->email_employe.', '
.'id_employe.'" CHECKED>, ';
}
else
{
echo '----
'.$tous_employes->id_employe.', '
.$tous_employes->nom_employe.', '
.$tous_employes->prenom_employe.', '
.$tous_employes->fonction_employe.', '
.$tous_employes->tel_employe.', '
.$tous_employes->email_employe.', '
.'id_employe.'">, ';
}
}
}
echo "
</CENTER>\n";
?>

33 réponses

paulinett Messages postés 51 Date d'inscription lundi 1 août 2005 Statut Membre Dernière intervention 17 octobre 2005
11 août 2005 à 15:25
sur le check on obtient ca :
Check</TR> ---
idEmploye : 1 - idMachineEmploye : 1
idEmploye : 2 - idMachineEmploye : 1
idEmploye : 3 - idMachineEmploye : 1
idEmploye : 4 - idMachineEmploye : 1
---
ca c'est clair qu'on en est pas loin mais la je dois dire que je sèche complètement... et pourtant dieu sait si c'est important pour moi...
0
arnal69130 Messages postés 445 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 22 mars 2007 2
11 août 2005 à 15:30
comment ça ?
et si tu regardes la source html...?

Et l'affichage du débuggage, ça donne quoi ?
0
paulinett Messages postés 51 Date d'inscription lundi 1 août 2005 Statut Membre Dernière intervention 17 octobre 2005
11 août 2005 à 15:32
ca a pas pris la fin du message : voila ce que j'obtiens
Check</TR> ---
idEmploye : 1 - idMachineEmploye : 1
idEmploye : 2 - idMachineEmploye : 1
idEmploye : 3 - idMachineEmploye : 1
idEmploye : 4 - idMachineEmploye : 1
---
voila le message en entier
0
paulinett Messages postés 51 Date d'inscription lundi 1 août 2005 Statut Membre Dernière intervention 17 octobre 2005
11 août 2005 à 15:34
bon je l'écris à la main :
idEmploye : 1 - idMachineEmploye :1
idEmploye : 2 - idMachineEmploye : 1
idEmploye : 3 - idMachineEmploye : 1
idEmploye : 4 - idMachineEmploye : 1
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
arnal69130 Messages postés 445 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 22 mars 2007 2
11 août 2005 à 15:56
Tjs pour débugger, essaie juste ça :

//connexion

//Ecriture de la 2ème Requete pour sélectionner tous les employes de la machine
$employes_machine=mysql_query("SELECT EmployeMachine.nom_machine, EmployeMachine.id_employe FROM EmployeMachine WHERE EmployeMachine.nom_machine LIKE '%$nom_machine%' ",$connexion);

while($machine_employes=mysql_fetch_object($employes_machine)) {
print_r($machine_employes);
}

Et donne la sortie écran.
0
paulinett Messages postés 51 Date d'inscription lundi 1 août 2005 Statut Membre Dernière intervention 17 octobre 2005
11 août 2005 à 16:08
alors voila ce que cela me donne :
stdClass Object ( [nom_machine] => marge[id_employe] => 1 ) stdClass Object ( [nom_machine] => marge [id_employe] => 2 )
0
arnal69130 Messages postés 445 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 22 mars 2007 2
11 août 2005 à 16:30
Peut-être en stockant les idEmployeMachine dans un tableau :

$tabEmployesMachine=array();
$employes_machine=mysql_query("SELECT EmployeMachine.nom_machine, EmployeMachine.id_employe FROM EmployeMachine WHERE EmployeMachine.nom_machine LIKE '%$nom_machine%',$connexion);

while($machine_employes=mysql_fetch_object($employes_machine)) {
$tabEmployesMachine[]=$machine_employes->id_employe;
}

$employes_tous=mysql_query("SELECT * FROM Employe",$connexion);
while ($tous_employes=mysql_fetch_object($employes_tous)) {
$check='';
if (in_array($tous_employes->id_employe,$tabEmployesMachine)) {
$check=' checked="checked"';
}
echo '<TR><TD>'.$tous_employes->id_employe.'</TD>
<TD>'.$tous_employes->nom_employe.'</TD>
<TD>'.$tous_employes->prenom_employe.'</TD>
<TD>'.$tous_employes->fonction_employe.'</TD>
<TD>'.$tous_employes->tel_employe.'</TD>
<TD>'.$tous_employes->email_employe.'</TD>
<TD>id_employe.'".$check.' /></TD></TR>';
}

ça donne quoi ?
0
paulinett Messages postés 51 Date d'inscription lundi 1 août 2005 Statut Membre Dernière intervention 17 octobre 2005
11 août 2005 à 16:44
y'a une erreur de type de variable sur $tabEmployesMachine[]=$machine_employes->id_employe;
je suis pas douée avec les variables stockées dans les tableaux...
0
arnal69130 Messages postés 445 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 22 mars 2007 2
11 août 2005 à 16:58
c'est quoi le texte de l'erreur ?
0
paulinett Messages postés 51 Date d'inscription lundi 1 août 2005 Statut Membre Dernière intervention 17 octobre 2005
11 août 2005 à 17:05
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in c:\program files\easyphp1-8\www\formulaire_modif_employemachine2.php on line 103
ce qui correpond à la ligne que je t'ai signalée, soit : $tabEmployesMachine[]=$machine_employes->id_employe;
0
arnal69130 Messages postés 445 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 22 mars 2007 2
11 août 2005 à 17:20
oups, il y a un $ de trop,
array_push($tabEmployesMachine,$ligne[1]);
0
paulinett Messages postés 51 Date d'inscription lundi 1 août 2005 Statut Membre Dernière intervention 17 octobre 2005
11 août 2005 à 17:24
YEAH !!!!!!!!!!!!!!! ALORS LA !!!!!! LA CLASSE MONDIALE !!!!
ENCORE MERCI...

je continue la dessus demain parce que maintenant il faut exploiter ce truc... mais deja la, c'est trop fort !!!

très bonne fin de soirée à toi
0
arnal69130 Messages postés 445 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 22 mars 2007 2
11 août 2005 à 17:26
Super ! je suis bien content qu'on y soit arrivé !
a+
Arn;o)
0
Rejoignez-nous