Récupérer des données $_post et les insérer dans une table

Alaumaal
Invité n'ayant pas de compte PHPfrance

30 avr. 2012, 10:01

Bonjour,

Dans une première page, j'ai créé un formulaire permettant d'écrire plusieurs noms et prénoms. J'aimerai dans une seconde page récupérer ces données pour les insérer dansune table mais j'ai du mal avec la variable $_POST et le fait de récupérer des variables en Array.

Voici une énième tentative d'écrire le code :


<?php
include('connect.php');
for ($i=0; $i<=$_POST['nbre_eleves']-1; $i++)
{

echo "j'enregistre l'élève dans la table<br>";
echo $_POST['prenom['.\'$i\'.]'];

Merci d'avance pour votre aide.
echo "<br>";
$req=mysql_query('INSERT INTO `'.$_POST['nom_classe'].'` (`id`, `prenom`, `nom`, `select`) VALUES (NULL, \''.$_POST['prenom[$i]'].'\', \''.$_POST['nom[$i]'].'\', NULL);');
}
mysql_close();
?>

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

01 mai 2012, 22:21

salut,

il est préférable d'utiliser la notation tableau pour le nom du champ (name="nom[]" par exemple).

ainsi un simple foreach permet d'avoir les infos

Si tu met autant de "nom" que de prénom tu pourra ainsi facilement avoir toute les info

exemple
<input type="text" name="nom[]" />
<input type="text" name="prenom[]" />

le traitement
<?php
if (!empty($_POST['nom']) && !empty($_POST['prenom'])) {
foreach ($_POST['nom'] as $key => $value)){
// le prénom qui correspond au nom s'obtient avec 
//$_POST['prenom'][$key];
// la requete
$sql = 'insert into gens (nom, prenom) values(\''.$value.'\',\''.$_POST['prenom'][$key].'\');';
}
}
?>
A adapter avec ta base et ton formulaire XD

@+
Il en faut peu pour être heureux ......