input multiple enregistrement MYSQL

Eléphant du PHP | 115 Messages

04 mai 2018, 14:19

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.

Eléphant du PHP | 385 Messages

08 mai 2018, 14:34

Bonjour,

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

ViPHP
ViPHP | 1996 Messages

01 juin 2018, 14:06

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.
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr