[Php/Mysql] Données issues d'un FORM

Résolu/Fermé
WzT - 6 févr. 2011 à 01:17
 WzT - 6 févr. 2011 à 18:06
Bonjour,

J'ai un formulaire qui envoie en POST deux Array à ma page de traitement.
Le premier contient des noms, et le second les adresses mails correspondantes.

Je voudrais pouvoir insérer dans ma base de donnée une entrée pour chacun de ses couples.

J'ai essayé ceci et cela me créé bien une entrée par noms, mais je ne sais pas comment faire pour insérer l'adresse associée.
Je pensais qu'il fallait aussi un forach pour les adresses mais je me suis cassé le nez dessus.

<?php
$nom=$_POST['nom'];
$adress=$_POST['adress'];



if($nom)
{
foreach($nom as $n)
{
if(strlen($n)>0)
{
mysql_query("INSERT INTO users VALUES('','$n','')");
echo '<h3>'.$n.'<h3/>';
}
}
}


?>

Quelqu'un peut il m'aider à modifier ce code?
Merci d'avance.

5 réponses

rudak Messages postés 587 Date d'inscription samedi 7 juin 2008 Statut Membre Dernière intervention 4 juin 2011 46
6 févr. 2011 à 10:25
le plus simple ca serait de créer un tableau associatif nan ?

$membre = array("nom" => "adresse","nom2" => "adresse2".......)

comme ca dans ton foreach tu met

foreach($membre as $nom => $adresse)
{
INSERT INTO users .....nom = $nom adresse=$adresse....
}
0
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
6 févr. 2011 à 11:50
Salut.

<?php
$names = $_POST['nom'];
$addresses = $_POST['adress'];


for($i = 0 ; $i < count($nom) ; $i++) {
    $name = mysql_real_escape_string($names[$i]);
    $address = mysql_real_escape_string($addresses[$i]);

    $sql = 'INSERT INTO users(name,address) VALUES('.$name.','.$address.')';
}
0
J'ai essayé le code de Avion-F16 et ça ne fonctionne pas. Seul le premier couple est entré dans la BDD.
0
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
6 févr. 2011 à 13:44
<?php
$names = $_POST['nom'];
$addresses = $_POST['adress'];

for($i = 0 ; $i < count($names) ; $i++) {
    $name = mysql_real_escape_string($names[$i]);
    $address = mysql_real_escape_string($addresses[$i]);

    $sql = 'INSERT INTO users(name,address) VALUES("'.$name.'","'.$address.'")';
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Merci ça fonctionne nickel!
0