Problemes insertion avec formulaire dans mysql

max6

WRInaute discret
Bonjour a tous .


Voici mon probleme :

J'ai 18 tables a alimenter dans une base mysql avec un formulaire .
Je n'ai pas besoin d'aide pour les 18 tables mais juste pour 3 d'entre elles .

J'ai une table "tbl_acteurs" comme ceci :
- id_acteurs
- nom_acteurs

Une autre "tbl_fiche" :
- id_fiche
- ------
- ------

Et la troisieme "tbl_acteurs_fiche comme ceci :
- id_acteurs_fiche
- id_acteurs
- id_fiche


Pour une fiche il y'a possibilité d'avoir jusque 6 acteurs , j'ai donc ceci dans le formulaire :

<input type=text name=nom_acteurs size=20 value=nom_acteurs>
<input type=text name=nom_acteurs size=20 value=nom_acteurs>
<input type=text name=nom_acteurs size=20 value=nom_acteurs>
<input type=text name=nom_acteurs size=20 value=nom_acteurs>
<input type=text name=nom_acteurs size=20 value=nom_acteurs>
<input type=text name=nom_acteurs size=20 value=nom_acteurs>

Et ceci dans le script d'insertion :

$sql = "INSERT INTO tbl_acteurs(id_acteurs, nom_acteurs) VALUES('','$nom_acteurs')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
$id_acteurs = mysql_insert_id();
$sql = "INSERT INTO tbl_acteurs_fiche(id_acteurs_fiche, id_acteurs, id_fiche) VALUES('','$id_acteurs','$id_fiche')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

A savoir que $id_fiche est récupérer plus haut .


Le probleme est que quand je valide le formulaire et que je vais vérifier dans myadmin , les champs acteurs sont remplis mais seulement par la valeur du dernier input nam=nom_acteurs .

Par ex : je remplis les 6 champs nom_acteurs du formulaire par respectivement a , b c , d , e , f et bien le formulaire va enregistrer 6 champs dans la table tbl_acteurs mais les 6 champs nom_acteurs auront la valuer f , il ne prend donc que le dernier enregisrement du formulaire .

Il faut que quand je rentre 6 acteurs différents , il crée 6 enregistrements dans la table tbl_acteurs avec la bonne valuer pour chaque enregistrements (tbl_acteurs.id1=a , tbl_acteurs.id2=b , etc ....)

J'ai fais plein de test de différentes manères mais ca ne veut pas .
Si quelqu'un a déja résolu ce probleme , je le remerci par avance de m'aider .

Max
 

e-kiwi

WRInaute accro
ouh la, t as 6 champs differents qui ont le meme nom !!
faut les appeler acteur1, acteur2, .... et faire soit 6 requetes, soit une requete sur une table qui aurait 6 champs (acteur1, acteur2, ...)
 

max6

WRInaute discret
Oui le probleme vient de la je sais bien mais renommer les champs ne peut pas fonctionner puisque il faut que les champq "name" du formulaire soient identiques aux champs de mes tables ??? non ???
 

wiwi

Nouveau WRInaute
max6 a dit:
Oui le probleme vient de la je sais bien mais renommer les champs ne peut pas fonctionner puisque il faut que les champq "name" du formulaire soient identiques aux champs de mes tables ??? non ???

non :roll: ca n'a rien a voir.

6 champs avec 6 noms differents et 6 inserts.

enfin, insert que si le champs n'est pas vide :wink:
 

max6

WRInaute discret
Merci ca marche super !

Par contre ca m'inser les 6 champs dans ma base meme si ils sont pas tous remplis .
Quelle est la syntaxe pour éviter d'insérer des champs vides dans la table ?
 

e-kiwi

WRInaute accro
ben if :)

if ($nom_acteurs_x)
{
$sql = "INSERT INTO tbl_acteurs(id_acteurs, nom_acteurs) VALUES('','$nom_acteurs_x')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
}
 

Discussions similaires

Haut