Probléme d'insertion de données dans 3tables!

goldray Messages postés 113 Statut Membre -  
dermechove Messages postés 49 Statut Membre -
Bonjour,

Salut à tous les membres, j'ai un problème au niveau de l'insertion de données dans 3tables avec MYSQL ...un petit résumé de mes 3tables : un client soit il est une personne physique soit personne morale ... pour cela au niveau de la table client j'ai mis les attributs en commun autre les tables personne physique et celle morale , et à chacune de ces 2tables j'ai mis les attributs spécifiques à chacune de deux ....

sachant que la 1ére table nommé Client :d'attributs :Id_Client(incrémentation automatique de cet attribut),Nom_Client,Tel_Client,GSM_Client,Adresse_Client . cette table est une table mère possédant des attributs communs chez les 2 tables filles ...

la 1ére table fille nommé personne physique d'attributs : CIN_Client,Prenom_Client,Id_client(clé_étrangère) ...

la 2éme table fille nommé personne morale(c.a.d Entreprise) d'attributs :
Matricule_Fiscale,Raison_Sociale,Id_Client(Clé étrangère) ...

Donc après que je clique sur le bouton du formulaire qui permet d'ajouter des champs à soit la table mère et à la table fille 1 ou soit à la table mére et à la table fille 2 ...
voici le code : cible.php
<?php
include("cnx.php");
if ((!empty($cin_client)) AND (!empty($prenom_client)))
{
$req= $bdd->prepare('INSERT INTO clients(Nom_Client,Tel_Client,GSM_Client,Adresse_Client) values(?,?,?,?)');
$req->execute(array($_POST['nom_client'],$_POST['tel_client'],$_POST['gsm_client'],$_POST['adresse_client']));
$req2= $bdd->prepare('INSERT INTO personne_physique(CIN_Client,Prenom_Client,Id_Client) values(?,?,clients.Id_Client)');
$req2->execute(array($_POST['cin_client'],$_POST['prenom_client']));
}
elseif ((!empty($matricule_fiscale)) AND (!empty($raison_sociale)))
{
$req= $bdd->prepare('INSERT INTO clients(Nom_Client,Tel_Client,GSM_Client,Adresse_Client) values(?,?,?,?)');
$req->execute(array($_POST['nom_client'],$_POST['tel_client'],$_POST['gsm_client'],$_POST['adresse_client']));
$req3= $bdd->prepare('INSERT INTO personne_morale(Matricule_Fiscale,Raison_Sociale,Id_Client) values(?,?,clients.Id_Client)');
$req3->execute(array($_POST['matricule_fiscale'],$_POST['raison_sociale']));
}
if ( ( ($req) and ($req2) ) or ( ($req) and ($req3) ) )
{
echo "Ajout est fait";
}
else
{
echo "pas d'ajout";
}

?>



MYSQL ma répondu par un erreur au niveau de la derniere condition avec if(qui est en gras) avec ce message :
Notice: Undefined variable: req in C:\wamp\www\menu_pr\cible.php on line 17

et merci , j'attend vos réponses avec impatience ..
A voir également:

1 réponse

dermechove Messages postés 49 Statut Membre 7
 
une de deux variable req2 et req3 n'ont été pas definie.essaye de tester avec la fonction isset

if ($req and (isset($req2) or isset ($req3)))
0