Bonjour,
Je suis etudiant et j'ai un exercice à faire en php en relation avec une BDD. En gros je dois faire un dictionnaire de citation intératif avec nom d'auteur et texte. Pour ajouter une citation il faut que l'auteur ne soit pas deja present dans la table auteur ce qui fait que l'on créer un nouvel auteur et la citation associé avec un id. Sinon si il est deja présent on recupereson id et on l'associe a sa nouvel citation.
Pour plus de compréhension voici mes fichiers parce que là je bloque :
Voici mes tables :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 <?php include('param.inc.php') ; // Etape 1 : connexion au serveur de base de données MySQL $idcom=mysql_connect(MYHOST,MYUSER,MYPASS) or die ("Erreur : ".mysql_error()) ; $idbase=mysql_select_db(MYDB) or die ("Erreur : ".mysql_error()) ; // Etape 2 : envoi de la requête SQL au serveur $nom= $_POST['nom']; $prenom = $_POST['prenom']; $siecle = $_POST['siecle']; $texte = $_POST['texte']; if(mysql_query("SELECT auteur FROM auteur WHERE nom='".$nom."';",$idcom)){ $numID=mysql_query("SELECT id_auteur FROM auteur WHERE nom='".$nom."';",$idcom); mysql_query("INSERT INTO citation VALUES(NULL,'".$numID."','".$texte."')",$idcom); echo "Citation insèrée sans nouvel auteur"; } else{ $numID=mysql_num_rows(mysql_query("SELECT id_auteur FROM auteur;",$idcom)); $numID++; mysql_query("INSERT INTO auteur VALUES(".$numID.",'".$nom."','".$prenom."',".$siecle.")",$idcom); mysql_query("INSERT INTO citation VALUES(NULL,'".$numID."','".$texte."')",$idcom); echo "Citation insèrée avec nouvel auteur"; } mysql_close($idcom) ; ?>
Mon principal problème est que en fait si l'auteur existe deja je ne veut pas recréer un autre auteur et la apparament avec ce que j'ai fais sa en créer un quand meme meme s'il a le même nom donc je ne comprend pas trop donc si vous auriez des solutions .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 TABLE auteur ( id_auteur INT NOT NULL AUTO_INCREMENT, nom VARCHAR(50), prenom VARCHAR(50), siecle VARCHAR(50), PRIMARY KEY(id_auteur) ) ; TABLE citation ( id_citation INT NOT NULL AUTO_INCREMENT, id_auteur INT NOT NULL, texte TEXT, PRIMARY KEY(id_citation,id_auteur) ) ;
Merci beaucoup
Partager