Validation de données via un checkbox

Fermé
Raven76 Messages postés 250 Date d'inscription samedi 10 avril 2010 Statut Membre Dernière intervention 21 février 2024 - 15 févr. 2022 à 12:14
jordane45 Messages postés 38241 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 septembre 2024 - 15 févr. 2022 à 17:18
Bonjour,

Voici mon problème en quelques lignes :

Dans ma base SQL, j'ai une table qui contient des données temporaires.

Via une page Web, l'utilisateur affiche ces données sous forme de tableau et doit contrôler les informations qui ressortent.

Pour cela, il a à la fin de chaque ligne de ce tableau une case à cocher correspondant à la colonne 'VERIFICATION' du tableau.

Après avoir cocher toutes les cases "VERIFICATION" nécessaires, il aura un bouton "ENVOYER" en bas de page pour purger les données de cette table temporaire et qui sont liées aux lignes dont la case a été cochée, pour les placer dans une autre table où les données resteront de manière définitive pour un traitement futur.

Le problème c'est que je ne vois pas comment coder cela. voici ce que j'ai déjà coder pour afficher les données de ma table temporaire :

			
<table id='table_detail'>
				<tr id='tr_detail'>
					<td width = 120 id='td_detail'>
						<label for='date'>Date demande</label>
					</td>
					<td width = 120 id='td_detail'>
						<label for='date'>Nom demandeur</label>
					</td>
					<td width = 120 id='td_detail'>
						<label for='date'>Prénom demandeur</label>
					</td>
					<td Width = 100 id='td_detail'>
						<label for='MODIFICATION'>Modification</label>
					</td>					
					<td Width = 100 id='td_detail'>
						<label for='VALIDATION'>Validation</label>
					</td>
				</tr>
<?php
		$temp = $bdd->query("SELECT * FROM T_TMP");
		while ($data = $temp->fetch(PDO::FETCH_ASSOC))
		{
			echo "
			<tr>
				<td id='td_detail'>".$data['DATE_DEMANDE']."</td>
				<td id='td_detail'>".$data['PRENOM']."</td>
				<td id='td_detail'>".$data['NOM']."</td>
				<td id='td_detail'></td>
				<td id='td_detail'>
				<div>
				  <input type='checkbox' id='VERIFICATION' name=VERIFICATION_".$data['ID'].">
				</div>
				</td>
			</tr>";
		}
?>
</table>


l'objectif est donc d'executer ceci :
Si case "VERIFICATION_n" (où n est l'identifiant de ma ligne dans ma base de donnée SQL) est cochée au moment où on appuie sur le bouton "ENVOYER" alors copier la ligne dans une autre table SQL et la supprimer dans la table actuelle.

1 réponse

jordane45 Messages postés 38241 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 septembre 2024 4 689
15 févr. 2022 à 12:21
Bonjour,

Alors ...
Un ID se doit d'être UNIQUE .. ( id.. dans ton cas étant inutile ! )
Par contre, le NAME lui peut être le même pour plusieurs éléments...
Et vu que l'utilisateur peut cocher une ou plusieurs cases .. on va même utiliser un NAME de type ARRAY sous la forme
 name="untruc[]"


Sans oublier que tu dois mettre un attribut VALUE à tes checkBoxes .. et que c'est via cet attribut que tu vas pouvoir envoyer les valeurs désirées...


Ce qui, pour ton code, revient à écrire
  <input type='checkbox'  name="VERIFICATION[]"  value='".$data['ID']."'>



Ensuite, pour pouvoir "envoyer" ces données .. il faudrait que tu mettes, un formulaire .. et un bouton submit ...


0
Raven76 Messages postés 250 Date d'inscription samedi 10 avril 2010 Statut Membre Dernière intervention 21 février 2024 15
15 févr. 2022 à 16:33
En fait, "ID" fait appel à une colonne dans ma table T_TMP qui est bien un numéro unique puisque c'est ma clé primaire auto-incrémenté.

Qu'entends tu par 'mettre un formulaire ?'

Et effectivement j'ai bien un bouton submit à la fin pour l'envoi des données.
0
jordane45 Messages postés 38241 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 septembre 2024 4 689 > Raven76 Messages postés 250 Date d'inscription samedi 10 avril 2010 Statut Membre Dernière intervention 21 février 2024
15 févr. 2022 à 17:18
En fait, "ID" fait appel à une colonne dans ma table T_TMP qui est bien un numéro unique puisque c'est ma clé primaire auto-incrémenté.

Je parle de l'attribut ID de ton checkbox dans ton HTML ...


Qu'entends tu par 'mettre un formulaire ?'

Ben.. mettre un formulaire ...
https://www.php.net/manual/fr/tutorial.forms.php
https://www.electro-info.ovh/les-formulaires-en-PHP



Et effectivement j'ai bien un bouton submit à la fin pour l'envoi des données.

Donc tu as bien des balises <form> dans ton code html ?? Sinon regarde le point précédent de ce message....
0