Page 1 sur 1

Requetes SQL o_O

Posté : 15 févr. 2012, 02:01
par Flavien-web
Bonsoir internautes,

Je recupere des valeurs dans un formulaire comme ça <input type="text" name="jour[]" value="" />

Ensuite je voudrais les ajoutés a une base mais sur plusieurs lignes, si je multiplie les requêtes sql il ne m'ajoute que la dernière valeur a chaque fois Example :

jour[1] -> lundi
jour[2] -> mardi
jour[3] -> merdecredi

Il va ajouter seulement le mercredi, meme si je fait trois " INSERT INTO ....... "

voici mon code :
foreach($_POST['jour'] as $key=>$value)
{
$jour=$key+1;
echo $value;
				 
}

$sql="INSERT INTO planning(jour) VALUES ('$value')";     // Pour trois différents valeur faudrait qu'il créer trois lignes !
Je suis un peu perdu, quelqu'un peut m'aider svp ;)

Merci d'avance

Re: Requetes SQL o_O

Posté : 15 févr. 2012, 06:29
par moogli
Salut,

Il faut mettre la requête SQL dans le foreach. Lorsqu'elle est en dehors il est normal de n'avoir qu'une requête vue que tu ne la fait qu'une fois et $value ne contient que la dernière valeur qu'elle s'est vue affecter.

Si tu utilise l'extension mysql il est préférable d'utiliser la fonction mysql_real_escape_string afin de protéger ta requête.


@+

Re: Requetes SQL o_O

Posté : 15 févr. 2012, 14:39
par Flavien-web
On m'as fournit la solution sur un autre forum !

Il s'agisser de " implode "
$sql="INSERT INTO planning(jour) VALUES ('" . implode("'),('", $_POST['jour']) . "')";
Merci a tous !

Re: Requetes SQL o_O

Posté : 15 févr. 2012, 14:43
par moogli
nikel tu a créer un trou de sécurité ^^

@+

Re: Requetes SQL o_O

Posté : 15 févr. 2012, 15:34
par Flavien-web
Ah o_O

Comment faire alors pour améliorer ça ?

J'essaye d'ajouter une valeur post en plus de toutes les valeurs que j'inclue dans l'implode, comment puis-je optimiser ce code afin qu'il fonctionne mais que en plus il n'y est pas cette faille de sécurité ? ;)
$sql="INSERT INTO planning(matricule, jour) VALUES ('" . implode("'),('$matricule','", $_POST['jour']) . "')";
Il m'affiche l'erreur : Column count doesn't match value count at row 1

Merci d'avance

Re: Requetes SQL o_O

Posté : 15 févr. 2012, 20:10
par xTG
Je répète ce qu'a posté moogli : mysql_real_escape_string()

Re: Requetes SQL o_O

Posté : 15 févr. 2012, 20:18
par Flavien-web

Code : Tout sélectionner

INSERT INTO planning(date, heure) VALUES mysql_real_escape_string('$date','" . implode("'),('$date','", $_POST['heure']) . "')";
Comme ça ?

Mes aptitudes au niveau des requêtes sql frôle le zéro ;)

Désolé si mes questions on l'air stupide mais j'arrive quand même a me manger le cerveau dessus pendant des heures :p

Re: Requetes SQL o_O

Posté : 17 févr. 2012, 21:13
par moogli
met la dans une requête et affiche pour voir ce que ça donne :)

après utilise phpmyadmin pour la tester :)

@+