enregistrement d'une table

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : enregistrement d'une table

Re: enregistrement d'une table

par MaximusCMS » 02 avr. 2010, 16:14

Bonjour

pourquoi ne pas insérer un champ 'genre' dans ta table livre qui ferait référence à ton ID unique 'CodeGenre'

ainsi l'insert suivant n'aurait plus lieu d'être
INSERT INTO genre ...

enregistrement d'une table

par kasim974 » 02 avr. 2010, 15:37

Bonjour,

Bonjour,

J'ai un problème sur un script Php. J'espère que vous pourriez m'aidé :)

J'ai un formulaire de saisi, afin de saisir un livre (l'enregistrement du livre dans la base):
Image

Je voudrais, lors de l'enregistrement du livre, que celui-ci ne crée pas un autre champs (->Par exemple, si je renseigne le formulaire en mettant: "Littérature", celui-ci va me recréé un champs littérature dans ma table![aprés je me retrouve avec deux champs "littérature dans la table]

Pareil, lors de la saisi d'un auteur(enregistrement d'un auteur), celui-ci me crée un autre auteur, alors que l'auteur saisie est déjà présent. (->donc je me retrouve avec 2 auteur idem)

->Clé primaire de la table livre:CodeLivre
Clé étrangére de la table livre: CodeAuteurLivre,CodeGenreLivre

->Cléprimaire de la table genre: CodeGenre

Voici le script PhP:
<?php
	if(@$_POST['bouton']=="Retour à l'accueil")
	{
	header("Location: accueil.htm");
	}
?>
	
<html>
 <body>
 <?php
 
// Affectation des valeurs saisies dans des variables
$TitreLivre=$_POST['TitreLivre'];
$PrixLivre=$_POST['PrixLivre'];
$EditeurLivre=$_POST['EditeurLivre'];
$AnneeLivre=$_POST['AnneeLivre'];
$LangueLivre=$_POST['LangueLivre'];
$EditeurLivre=$_POST['EditeurLivre'];
			
$NomGenre=$_POST['NomGenre'];
			
$NomAuteur=$_POST['NomAuteur'];
$PrenomAuteur=$_POST['PrenomAuteur'];
$NationaliteAuteur=$_POST['NationaliteAuteur'];

// Connexion au serveur MySQL
$db=mysql_connect("localhost","root","root") or die("erreur de connexion".mysql_error());
	
// Ouverture de la base Bibliothéque
mysql_select_db("bibliotheque",$db) or die("erreur de connexion à la base Bibliothéque");
			
// Requête d'insertion des valeurs dans la table Adhérent
$reqC="INSERT INTO livre(CodeLivre,TitreLivre,PrixLivre,EditeurLivre,AnneeLivre,LangueLivre) 
		   VALUES('','$TitreLivre','$PrixLivre','$EditeurLivre','$AnneeLivre','$LangueLivre')";

$reqD="INSERT INTO genre (CodeGenre,NomGenre) VALUES ('','$NomGenre')";
		   
$reqE="INSERT INTO auteur (CodeAuteur,NomAuteur,PrenomAuteur,NationaliteAuteur) 
		   VALUES ('','$NomAuteur','$PrenomAuteur','$NationaliteAuteur')";

// Exécution des requête
			
mysql_query($reqC) or die("erreur".mysql_error());
			
mysql_query($reqD) or die("erreur".mysql_error());
			
mysql_query($reqE) or die("erreur".mysql_error());


			
// Message de contrôle 
Echo "Vos enregistrement à étés prises en compte";
		
// Fermeture de la connexion à MySQL
			mysql_close();
					
	?>
 </body>
</html>
-Pourquoi, il recrée un autre champs??
-Comment éviter cela??
-Quelqu'un a une idée??

merci d'avance...