Ajouter des informations depuis un formulaire

Petit nouveau ! | 2 Messages

01 mars 2017, 16:33

Bonjour,
je dois faire un dm de php où je dois faire un carnet d'adresses avec 3 fonctions:
- Ajouter une personne dans la base de donnée
-Afficher les personnes d'un carnet choisi (travail ou famille)
-Afficher les personnes enregistrées

Pour ajouter une personne, voici mon travail:

Voici le formulaire que j'ai fait:

Code : Tout sélectionner

<html> <head> <title>Menu</title> </head> <body> <FORM ACTION="Creation2.php" METHOD="POST"> Carnet d'adresses </br></br></br> Menu </br></br></br> Pour ajouter quelqu'un, veuillez inscrire les informations sur cette personne: </br></br></br> Quel est son état civil ?</br><INPUT type= "radio" name="civilite" value="Monsieur">Monsieur </br> <INPUT type= "radio" name="civilite" value="Madame">Madame </br> <INPUT type= "radio" name="civilite" value="Mademoiselle">Mademoiselle </br></br> Dans quel carnet voulez-vous ajouter cette personne ? </br> <INPUT type= "radio" name="carnet_choisi" value="famille">Famille </br> <INPUT type= "radio" name="carnet_choisi" value="travail">Travail </br></br> Le nom de famille:<input type="text" name="nom" /> </br></br> Le prénom:<input type="text" name="prenom" /> </br></br> Le numéro de téléphone:<input type="text" name="telephone" /> </br></br></br> <input type="submit" value="Enregistrer" /> </form> </body> </html>
Voici ce que j'ai commencé à coder:

Code : Tout sélectionner

<?PHP $Connexion_mysql= mysqli_connect("localhost","root", "","td_carnet"); $etat_civil= $_POST["civilite"]; $type_de_carnet= $_POST["carnet_choisi"]; $nom_personne = $_POST["nom"]; $prenom_personne= $_POST["prenom"]; $telephone_personne= $_POST["telephone"]; $requete_sql= "INSERT INTO personne (nom_per, prenom_per, telephone_per) VALUES ('.$nom_personne.','.$prenom_personne.','.$telephone_personne.') "; $result=mysqli_query($Connexion_mysql, $requete_sql); If (mysqli_errno($Connexion_mysql)== 0) { echo("L'ajout de cette personne est une réussite"); } else { echo("L'ajout a échoué"); } ?>
Je voudrais ajouter ses informations à la base mysql qu'on m'as imposé:
Image

J'ai fais une seule requête pour ajouter les informations sur la table personne mais je voudrais que ses informations soient aussi dans les autres tables.

Pouvez-vous me dire si mon code est correcte et que puis-je faire d'autre pour avoir toutes les informations dans toutes les tables.

Volstrum.

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

01 mars 2017, 17:38

salut,

le problème c'est que tu n'as pas compris le modèle de données qui t'es fournit il faut que tu revois tes cours sur le modèle entité association :-)

=> il te manque les clefs étrangères.
si tu ne comprends pas demande a ton prof de t'expliquer.

tu ne dois insérer que dans une table : personne.
tu dois afficher les carnets à partir de la table carnet.
tu dois afficher les "civilités" à partir de la table civilité.

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

Petit nouveau ! | 2 Messages

02 mars 2017, 15:03

J'ai réussi à ajouter les informations sur la table personne. Il faut en effet rien mettre dans carnet et civilite mais je dois faire une requête dans la table appartenir.
$requete_sql="INSERT INTO appartenir(id_per, id_typ)
VALUES ('','$type_de_carnet')";
$type_de_carnet=	$_POST["carnet_choisi"];
Dans quel carnet voulez-vous ajouter cette personne ?
</br>
<INPUT type= "radio" name="carnet_choisi" value="1">Famille
</br>
<INPUT type= "radio" name="carnet_choisi" value="2">Travail	
</br></br>
Pouvez-vous me dire où est mon erreur car quand j'essaye d'ajouter, j'ai "Echec de l'ajout".