Bonjour,
J'ai un souci que je n'arrive pas à résoudre malgré toutes mes recherches sur les forums et tutos du net.
Pouvez-vous m'aider SVPL ?
Voici le problème :
J'ai une formulaire sur lequel j'affiche des données, en l'occurence des fonctions de membres au sein d'une association (c/f ces fonctions sont : Aucun, Comité, Guide et Baliseur). De plus j'affiche une checkbox afin de modifier ces fonctions, ou bien d'en ajouter lorsqu'il n'y en a pas.
Tout ceci fonctionne bien lorsque le membre n'a qu'une seule fonction au sein de l'assocm. Ce que j'aimerais c'est que mon script permette d'enregistrer plusieurs des 4 fonctions et pas seulement une seule. Par exemple, un membre peut être Guide et Baliseur ou Comité et Guide et Baliseur etc ....
Voici la partie de mon formulaire concerant ces fonctions :
Voici le traitement, qui fonctionne donc bien lorsqu'il s'agit que d'une seule fonction :
Quant à ma base de données (MySQL), le champ fonction est un type vachar d'une valeur de 100 caratères.
J'imagine que je devrais ajouter une condition du genre "Si xx coché alors enregistrer xx données", mais j'avoue ne pas savoir comment écrire cela correctement et où dans mon code.
Je vous remercie d'avance du temps que vous pourriez consacrer à m'aider.
Cordialement +++
Modifié par Loutschi (30 Nov 2022 - 15:31)
J'ai un souci que je n'arrive pas à résoudre malgré toutes mes recherches sur les forums et tutos du net.
Pouvez-vous m'aider SVPL ?
Voici le problème :
J'ai une formulaire sur lequel j'affiche des données, en l'occurence des fonctions de membres au sein d'une association (c/f ces fonctions sont : Aucun, Comité, Guide et Baliseur). De plus j'affiche une checkbox afin de modifier ces fonctions, ou bien d'en ajouter lorsqu'il n'y en a pas.
Tout ceci fonctionne bien lorsque le membre n'a qu'une seule fonction au sein de l'assocm. Ce que j'aimerais c'est que mon script permette d'enregistrer plusieurs des 4 fonctions et pas seulement une seule. Par exemple, un membre peut être Guide et Baliseur ou Comité et Guide et Baliseur etc ....
Voici la partie de mon formulaire concerant ces fonctions :
<?php
if (!empty($_SESSION['member_id'])) {
$member_id = $_SESSION['member_id'];
$statement = $bdd->prepare("SELECT* FROM members WHERE member_id = ?");
$statement->execute(array($member_id));
}
while ($item = $statement->fetch()) {
?>
<form class="form-inline" action="" role="form" method="post" enctype="multipart/form-data">
<input type="hidden" name="member_id" value="<?php echo $member_id; ?> ">
<input type="hidden" name="num_club" value="<?php echo $item['num_club']; ?> ">
<input type="hidden" name="cvnum" value="<?php echo $item['cvnum']; ?> ">
... / ...
Plusieurs lignes qui fonctionnenent bien
... / ...
<!-- Afichage de la/les fonctions -->
<fieldset disabled>
<div class="mb-4 form-group">
<label style="width:250px" class="d-inline pl-4" for="fonction">Fonction au sein du Club</label>
<input style="width:170px" type="text" class="form-control" id="fonction" name="fonction" value="<?php echo $item['fonction']; ?>">
</div>
</fieldset>
<!-- Checkbox pour modifier la/les fonctions -->
<div class="mb-4 form-group">
<label style="width:250px" class="d-inline pl-4" for="fonction">Pour modifier la/les fonction(s)</label>
<div class="form-check form-check-inline">
<input class="form-check-input" type="checkbox" value="aucune" name="fonction" checked>
<label class="form-check-label">Aucune</label>
</div>
<div class="form-check form-check-inline">
<input class="form-check-input" type="checkbox" value="comite" name="fonction">
<label class="form-check-label">Comité</label>
</div>
<div class="form-check form-check-inline">
<input class="form-check-input" type="checkbox" value="guide" name="fonction">
<label class="form-check-label">Guide</label>
</div>
<div class="form-check form-check-inline">
<input class="form-check-input" type="checkbox" value="baliseur" name="fonction">
<label class="form-check-label">Baliseur</label>
</div>
</div>
... / ...
Plusieurs lignes qui fonctionnenent bien
... / ...
<div class="col-lg-12">
<section class="jumbotron text-center">
<div class="mb-4">
<button type="submit" name="modifier" class="btn btn-lg btn-block btn-success text-uppercase">Modifier le profil du membre</button>
</div>
</section>
</div>
</form>
Voici le traitement, qui fonctionne donc bien lorsqu'il s'agit que d'une seule fonction :
if (isset($_POST['modifier'])) {
$member_id = $_POST['member_id'];
$num_club = $_POST['num_club'];
$cvnum = $_POST['cvnum'];
$gender = $_POST['gender'];
$member_firstname = $_POST['member_firstname'];
$member_lastname = $_POST['member_lastname'];
$dob = $_POST['dob'];
$member_email = $_POST['member_email'];
$spouse_firstname = $_POST['spouse_firstname'];
$spouse_lastname = $_POST['spouse_lastname'];
$spouse_email = $_POST['spouse_email'];
$child1_firstname = $_POST['child1_firstname'];
$child1_lastname = $_POST['child1_lastname'];
$child2_firstname = $_POST['child2_firstname'];
$child2_lastname = $_POST['child2_lastname'];
$profession = $_POST['profession'];
$address1 = $_POST['address1'];
$address2 = $_POST['address2'];
$zip = $_POST['zip'];
$city = $_POST['city'];
$country = $_POST['country'];
$phone = $_POST['phone'];
$mobile = $_POST['mobile'];
$magazine = $_POST['magazine'];
$med_certif_date = $_POST['med_certif_date'];
$membership = $_POST['membership'];
$diploma_year = $_POST['diploma_year'];
$silver_holly_year = $_POST['silver_holly_year'];
$gold_holly_year = $_POST['gold_holly_year'];
$fonction = $_POST['fonction'];
$varius = $_POST['varius'];
$statement = $bdd->prepare("UPDATE members SET num_club = ?, member_firstname = ?, member_lastname = ?, spouse_firstname = ?, spouse_lastname = ?, spouse_email = ?, child1_firstname = ?, child1_lastname = ?, child2_firstname = ?, child2_lastname = ?, cvnum = ?, gender = ?, profession = ?, dob = ?, address1 = ?, address2 = ?, zip = ?, city = ?, country = ?, phone = ?, mobile = ?, member_email = ?, magazine = ?, med_certif_date = ?, membership = ?, diploma_year = ?, silver_holly_year = ?, gold_holly_year = ?, fonction = ?, varius = ? WHERE member_id = ?");
$statement->execute(array($num_club, $member_firstname, $member_lastname, $spouse_firstname, $spouse_lastname, $spouse_email, $child1_firstname, $child1_lastname, $child2_firstname, $child2_lastname, $cvnum, $gender, $profession, $dob, $address1, $address2, $zip, $city, $country, $phone, $mobile, $member_email, $magazine, $med_certif_date, $membership, $diploma_year, $silver_holly_year, $gold_holly_year, $fonction, $varius, $member_id));
}
?>
Quant à ma base de données (MySQL), le champ fonction est un type vachar d'une valeur de 100 caratères.
J'imagine que je devrais ajouter une condition du genre "Si xx coché alors enregistrer xx données", mais j'avoue ne pas savoir comment écrire cela correctement et où dans mon code.
Je vous remercie d'avance du temps que vous pourriez consacrer à m'aider.
Cordialement +++
Modifié par Loutschi (30 Nov 2022 - 15:31)