Page 1 sur 1

input multiple enregistrement MYSQL

Posté : 04 mai 2018, 14:19
par azizss
Bonjour tous le monde,

J'ai un tout petit soucie.
Comme le titre l'indique je cherche a faire un input multiple ou je sélection les utilisateurs que je veux et en cliquant sur enregistre cela va dans ma bdd mysql.

ma question est que dois-je faire un array et une boucle ??
Ce que je cherche c'est un exemple qui me montre la méthode a suivre.

Merci a vous de votre aide.

Re: input multiple enregistrement MYSQL

Posté : 08 mai 2018, 14:34
par kevin254kl
Bonjour,

Pourquoi ne pas utiliser un select avec l'attribut multiple https://developer.mozilla.org/fr/docs/W ... ent/Select ?

Re: input multiple enregistrement MYSQL

Posté : 01 juin 2018, 14:06
par Aureusms
Bonjour,

Tu peux aussi utiliser un
<form method="post" action="/action_page.php">
<input id="checkBox" type="checkbox" name="utilisateur[]" value="U1"> Utilisateur 1
<input id="checkBox" type="checkbox" name="utilisateur[]" value="U2"> Utilisateur 2
<input type="submit" value="Envoyer">
</form>
Dans ton fichier php (ici appelé action_page.php) qui va traiter le formulaire :
if (!empty($_POST["utilisateur"]) && is_array($_POST["utilisateur"])) {
	$requete = "INSERT INTO TABLE (ID, utilisateur) VALUES (";
	foreach($_POST['utilisateur'] as $valeur) 
		if (!empty($valeur)) {
			$verif = true;
			//si ID est en autoincrémentation ID = NULL
			$requete .= "(NULL,'".fonctionPourProtégerDesInjectionsSQL($valeur)."'),";
		}
	if (!empty($verif)) {
		//au moins une valeur est enregistrable
		$requete = substr($requete,0,-1);
		//puis insertion dans ta base de données avec la requête générée
		echo $requete;
	}
}
La fonction fonctionPourProtégerDesInjectionsSQL est très importante pour éviter les injections sql. Si, par exemple, tu utilises la bibliothèque mysqli, il faudra utiliser mysqli_real_escape_string(); Cependant cela dépend de la bibliothèque utilisée.