PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Re : Forum Général PHP » Checkbox précoché en fonction de ma base de données » 19-03-2010 11:11:58

Je veux qu'une seule liste de checkbox apparaissent et que dedans certaines checkbox soient cochées.

Je te donne une partie de mon code :


<?php
require 'connexion.inc.php';
header('Content-Type: text/html; charset=utf-8');
require 'menuformation.html';
 
if(!empty($_POST['CodeFormation']))
{$CodeFormation=$_POST['CodeFormation'];}
else
{$CodeFormation="NULL";}

//on recupere le nom du collaborateur sur la table collaborateur
$question = "SELECT * FROM collaborateurs ORDER BY NomCollaborateur ASC";
$resultat = mysql_query($question);
while ($row = mysql_fetch_assoc($resultat)) {
$collaborateurs[$row['IdCollaborateur']] = "{$row['NomCollaborateur']} ({$row['PrenomCollaborateur']})";
}
?>
<html>
</style>
<link href="boutonoval.css" media="screen" type="text/css" rel="stylesheet">
</head><br><br>
<body>
<form method="POST" action="confirme2_modification_formation.php">
<div id="titreForm"> Modification d'une formation </div>
<div id="corpForm">
<fieldset id="Collaborateurformes">
<legend> Collaborateurs formés </legend>
     
<?php
$T=("SELECT distinct IdCollaborateur
FROM suitformation
WHERE CodeFormationSuit='$CodeFormation';"
);
$R=mysql_query($T);
While($ligne=mysql_fetch_array($R))
{
?>

<p>
<?php foreach ($collaborateurs as $IdCollaborateur => $NomCollaborateur) : ?>
<input type="checkbox" name="checkbox[]" <?php if($ligne['IdCollaborateur'] == "$IdCollaborateur") echo ' CHECKED="checked"';?>
value="<?php echo $IdCollaborateur ?>"><?php echo $NomCollaborateur ?></input><br>
<?php endforeach ?>
<?php } ?>
</p>

</fieldset>
 
</div> 
<div id="piedForm">
<input type="submit" value="Modifier" onClick="return Confirmer()"></input>
</div>
</form>
</body>
</html>
 

NDM : C'est mieux en couleur non ?

#2 Re : Forum Général PHP » Checkbox précoché en fonction de ma base de données » 19-03-2010 11:11:58

Heu je suis encore bloqué...
Quelqu'un aurait-il une idée pour m'aider ???
Merci beaucoup smile

#3 Re : Forum Général PHP » Checkbox précoché en fonction de ma base de données » 19-03-2010 11:11:58

Bonjour,

Je viens d'essayer de faire un group by dans ma requete et là dans la liste des checkbox seule la première checkbox est cochée, il n'y a pas cette fois autant de liste de checkbox que de checkbox cochées. :(

Voici mon code avec le group By :
<?php   
$T=("SELECT distinct IdCollaborateur
FROM suitformation
WHERE CodeFormationSuit='$CodeFormation'
GROUP BY CodeFormationSuit;");
$R=mysql_query($T);
While($ligne=mysql_fetch_array($R))
{
?>
<p>
<?php foreach ($collaborateurs as $IdCollaborateur => $NomCollaborateur) : ?>
<input type="checkbox" name="checkbox[]" <?php if($ligne['IdCollaborateur'] == "$IdCollaborateur") echo ' CHECKED="checked"';?>
value="<?php echo $IdCollaborateur ?>"><?php echo $NomCollaborateur ?></input><br>
<?php endforeach ?>
<?php } ?>
</p>

Merci beaucoup de votre aide :)

#4 Re : Forum Général PHP » Checkbox précoché en fonction de ma base de données » 19-03-2010 11:11:58

Petite précision : à chaque fois il n'y a de coché qu'une checkbox dans la liste des checkbox. Donc si j'ai trois checkbox de coché j'aurais trois fois la liste de checkbox avec à chaque fois une seule checkbox de cochée...

#5 Re : Forum Général PHP » Checkbox précoché en fonction de ma base de données » 19-03-2010 11:11:58

Merci beaucoup !!!!
Il reste encore un problème : mes checkbox sont cochées mais ma liste de checkbox est répétée autant de fois que j'ai de checkbox cochée :/

Voici mon code :
/// recherche de la liste des IdCollaborateur ayant suivi la formation (CodeFormation)
<?php   
$T=("SELECT distinct IdCollaborateur
FROM suitformation
WHERE CodeFormationSuit='$CodeFormation';");
$R=mysql_query($T);
While($ligne=mysql_fetch_array($R))
{
?>
<p>
// Mes checkbox
<?php foreach ($collaborateurs as $IdCollaborateur => $NomCollaborateur) : ?>
<input type="checkbox" name="checkbox[]" <?php if($ligne['IdCollaborateur'] == "$IdCollaborateur") echo ' CHECKED="checked"';?>
value="<?php echo $IdCollaborateur ?>"><?php echo $NomCollaborateur ?></input><br>
<?php endforeach ?>
<?php } ?>
</p>

Meci encore de ton aide

#7 Forum Général PHP » Checkbox précoché en fonction de ma base de données » 19-03-2010 11:11:58

Aurelyyyye
Réponses : 11

Bonjour,

Je suis en train de réaliser un formulaire. Dedans j'ai une liste de checkbox (ce référant à une table de ma base de données) et j'aimerais que cetaines des checkbox (dont le nom est dans ma table) soit précochées.

Voici la partie de mon code qui code pour ces checkbox :

// Je récupère le nom des checkbox dans ma table
<p>
<?php foreach ($collaborateurs as $IdCollaborateur => $NomCollaborateur) : ?>
<input type="checkbox" name="checkbox[]" value="<?php echo $IdCollaborateur ?>"><?php echo $NomCollaborateur ?></input><br>
<?php endforeach ?>
</p>

Je sais qu'il me manque quelque chose pour les précocher mais je ne trouve pas. Dois-je faire un IF ??? Est ce que quelqu'un aurait des pistes... Car là après beaucoup de recherche je bloque...
Merci beaucoup smile

#8 Re : Forum Général PHP » formulaire de recherche, problème d'affichage » 04-03-2010 11:12:44

En ajoutant "or die(mysql_error(erreur));" il n'y a toujours rien qui s'affiche sur la deuxième page à par ce message d'erreur :

Parse error: parse error in C:\wamp\www\dirmed\confirme_modif_formation.php on line 21

Ce qui correspond à :
<?php   
$CodeFormation =($_POST['CodeFormation']);
$L= "SELECT RefAnnonceFormation, CodeFormation FROM formation WHERE CodeFormation='$CodeFormation'";
$R=mysql_query($L);
while($ligne=mysql_fetch_array($R)) or die(mysql_error(erreur));
{
?>

J'utilise les codes suivants mais je suis débutante et donc si tu as de meilleurs synthaxes à me proposer je suis partante !!
$CodeFormation =($_POST['CodeFormation']);
<?php {echo $ligne['RefAnnonceFormation'];} ?>

Merci beaucoup de ton aide

#9 Forum Général PHP » clé étrangère, insert into » 04-03-2010 11:04:24

Aurelyyyye
Réponses : 1

Bonjour,

Voilà j'ai un formulaire qui me permet d'ajouter des nouvelles formations. Ces informations sont ensuite ajoutées à deux tables : table"suitformation" dans laquelle je met entre autre la date, l'identifiant de la formation, les personnes qui ont suivit la formation. Dans une autre table je met toutes les caractéristiques de la formation. L'identifiant de la formation est automatiquement incrémenté dans la table formation. L'identifiant de la formation dans la suitformation est une clé étrangère, mais je ne sais pas comment faire pour qu'il soit automatiquement le même que dans la table formation. Toutes les autres informations du formulaires s'ajoutent très bien à mes tables.
J'espère avoir été assez clair...
Voici une partie de mon code :

//Si code pas rempli la valeur dans le tableau sera: NULL
if(!empty($_POST['CodeFormation']))
{$CodeFormation=$_POST['CodeFormation'];}
else
{$CodeFormation="NULL";}
 
...
 
$query1 = "INSERT INTO formation (AcronymeTypeFormation, CodeFormation, RefAnnonceFormation, SujetFormation)
    VALUES ('$_POST[AcronymeTypeFormation]','$CodeFormation','$RefAnnonceFormation','$SujetFormation')"
;
$result1 = mysql_query($query1) or die(mysql_error(erreur));
     
$query2 = "INSERT INTO suitformation (IdFormation, DateFormation, DureeFormation,MoyenFormation, Formateur)
    VALUES ('$DateFormation', '$DureeFormation', '$_POST[MoyenFormation]', '$Formateur')"
;
$result2 = mysql_query($query2) or die(mysql_error(erreur));
?>

Merci beaucoup de votre aide

#10 Forum Général PHP » formulaire de recherche, problème d'affichage » 04-03-2010 11:12:44

Aurelyyyye
Réponses : 3

Bonjour,
j'ai un formulaire qui permet de sélectionner le code de la formation dans un liste déroulante. Ensuite ce code est envoyé dans une autre page, et je souhaiterais qu'un tableau affiche la référence de la formation ainsi que le code sélectionné. J'ai réalisé le script : la liste déroulant s'affiche bien dans le formulaire mais je n'arrive pas à afficher le tableau de la deuxième page. Voici mon code :

(une partie du) code du formulaire :
<body>
<form method="POST" action="confirme_modif_formation.php">
<div id="titreForm"> Modification d'une formation  </div>
<div id="corpForm">
Code de la formation
          <select name="CodeFormation" id=formation>
<?php
          //on recupere le code de la formation dans la table formation
          $query = "SELECT CodeFormation FROM formation";
          $result = mysql_query($query);
          while($code = mysql_fetch_array($result))
          {
?>
          <option value="<?php echo $code['CodeFormation']; ?>"><?php echo $code['CodeFormation']; ?></option>
<?php
           }
?>
          </select>
<input type="submit" value="Envoyer" />
</div>
<br>
</form>
</body>


Code de la deuxième page :
<?php
    require 'connexion.inc.php';
    require 'menuformation.html';
    header('Content-Type: text/html; charset=utf-8');

?>
<html>
<font color="FF3333"><H2><b>Formation modifié<b></H2></font>
<br><u><b>Résultats :</b></u><br><br>
<body bgcolor="FFFFCC">
<table border="2" bgcolor="999999">
    <tr>
    <th align="center" valign="center" bgcolor="FFCC99"> RefAnnonce</th>
    <th align="center" valign="center" bgcolor="FFCC99"> CodeFormation</th>
    </tr>
<?php   
              $CodeFormation =($_POST['CodeFormation']);
    $L= "SELECT RefAnnonceFormation, CodeFormation FROM formation WHERE CodeFormation='$CodeFormation';"
    $R=mysql_query($L);
                while($ligne=mysql_fetch_array($R))
    {
?>
                <tr>
    <td bgcolor="CCCCCC">
                <?php {echo $ligne['RefAnnonceFormation'];} ?>
    </td>
    <td bgcolor="CCCCCC">
                <?php {echo $ligne['CodeFormation'];} ?>
    </td>
     </tr>
     <?php } ?>
</table><br>
<?php mysql_close (); ?>
<a href=premierepageformation.php> Retour au menu </a>
</body>
</html>

Merci beaucoup de votre aide :)

#11 Re : Forum Général PHP » Check box ? liste déroulante ? a cours d'idée... » 02-03-2010 10:44:36

En fait je ne sais pas comment faire... la liste de participant peut être mise à jour. Comment pourais-je faire sans répéter les caractéristiques de chaque étude pour chaque participant ?
Je ne sais pas si je suis clair mais en tout cas merci de votre aide

#12 Re : Forum Général PHP » Check box ? liste déroulante ? a cours d'idée... » 02-03-2010 10:44:36

Désolé pour la crise d'urticaire...
Je voyais pas l'interet d'expliquer toute mes tables, mon schéma entité association,etc...

#13 Forum Général PHP » Check box ? liste déroulante ? a cours d'idée... » 02-03-2010 10:44:36

Aurelyyyye
Réponses : 6

Bonjour,

Je suis en train de faire de faire un formulaire dans lequel on noterait les différentes caractéristiques d'une étude et les différents personnes qui y ont participé. Dans la table, je souhaiterais qu'il y ai autant de ligne de que participant et que dans chaque ligne il y ai les caractéristiques de l'étude. Et tout ça dans l'objectif par la suite de faire des requêtes permettant de savoir quelle formation a suivit telle personne.
Je ne sais pas si je suis clair. hmm
En tout cas je suis un peu perdue car je ne sais pas comment mis prendre : check box ? liste déroulante (dans laquelle on pourrait sélectionner plusieurs personne ??) ?
J'espère que vous pourrez m'aider.
Cordialement

Pied de page des forums

Propulsé par FluxBB