begin process at 2012 05 28 22:59:31
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

faire un formulaire de saisie en récuperant des données


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

faire un formulaire de saisie en récuperant des données

mercredi 1 juin 2011 à 09:30:55 | faire un formulaire de saisie en récuperant des données

hitu

Bonjour,

j'ai fais un formulaire de saisie.
voici mon problème. J'arrive à inserer des nouvelles données dans ma table image mais dès que je rentre une données déja existante dans une table par exemple un auteur, un lieu ou un mot déja connu. On me répond qu'il existe, je voudrais qu'il reprenne l'identifiant dans la table image comment faire?

voici mes tables image(idimage, titre, support..., idauteur,idlieu,idmot)
et par exemple ma table mot (idmot, mot).

Je comprends mon problème: je lui dis que si le mot existe on affiche un message d'erreur(c'est ce qu'il fait) et je peux inserer un nouveau mot sans problème. mais comment recuperer l'identifiant d'un mot qui existe déja?

Merci beaucoup!

voici mon code:
Code PHP :
<?php


 // On commence par récupérer les champs 
if(isset($_POST['titre']))      $titre=$_POST['titre'];
else      $titre="";

if(isset($_POST['support']))      $support=$_POST['support'];
else      $support="";

if(isset($_POST['photographe']))      $photographe=$_POST['photographe'];
else      $photographe="";

if(isset($_POST['date']))      $date=$_POST['date'];
else      $date="";

if(isset($_POST['provenance']))      $provenance=$_POST['provenance'];
else      $provenance="";

if(isset($_POST['droitimage']))      $droitimage=$_POST['droitimage'];
else      $droitimage="";

if(isset($_POST['description']))      $description=$_POST['description'];
else      $description="";

if(isset($_POST['localisation']))      $localisation=$_POST['localisation'];
else      $localisation="";


if(isset($_POST['nom']))      $nom=$_POST['nom'];
else      $nom="";

if(isset($_POST['periode']))      $periode=$_POST['periode'];
else      $periode="";

if(isset($_POST['lieu']))      $lieu=$_POST['lieu'];
else      $lieu="";

if(isset($_POST['mot']))      $mot=$_POST['mot'];
else      $mot="";
if(isset($_POST['idate']))      $idate=$_POST['idate'];
else      $idate="";

if(isset($_POST['idauteur']))      $idauteur=$_POST['idauteur'];
else      $idauteur="";

if(isset($_POST['idlieu']))      $idlieu=$_POST['idlieu'];
else      $idlieu="";

if(isset($_POST['idmot']))      $idmot=$_POST['idmot'];
else      $idmot="";

if(isset($_POST['idimage']))      $idimage=$_POST['idimage'];
else      $idimage="";
 
 require_once("connect.php");
	$bd=mysql_connect(SERVEUR,NOM,PASSE);
	mysql_select_db(BASE,$bd);
	
	// on regarde dans la table auteur si le nom existe déjà 
	
	
$sql = "SELECT idauteur FROM auteur WHERE nom='$nom'"; 
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
$res= mysql_num_rows($req); 

if($res!=0)  // le nom  existe déjà, on affiche un message d'erreur 
    { 
    echo '<font color="red">Désolé, mais ce nom  existe déjà dans notre base.</font>'; 
    } 

else  // Le nom n'existe pas, on insère d'abord les infos dans auteur
    { 
    $sql = "INSERT INTO auteur (idauteur, nom) VALUES('','$nom')"; 
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 

    // on récupère l'idauteur qui vient d'être généré 
    $idauteur = mysql_insert_id();
	
    
    $sql = "INSERT INTO image (idimage, titre, support, photographe, date, provenance, droitimage, description, localisation, idauteur, idate) VALUES('','$titre','$support','$photographe','$date','$provenance','$droitimage','$description','$localisation','$idauteur','$idate')"; 
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
    
    
  
    }
    
      
    	// on regarde dans la table dates si la periode existe déjà 
	
	
$sql = "SELECT idate FROM dates WHERE periode='$periode'"; 
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
$res= mysql_num_rows($req); 

if($res!=0)  // la periode  existe déjà, on affiche un message d'erreur 
    { 
    echo '<font color="red">Désolé, mais cette periode  existe déjà dans notre base.</font>'; 
    } 

else  // La periode n'existe pas, on insère d'abord les infos dans dates
    { 
    $sql = "INSERT INTO dates (idate, periode) VALUES('','$periode')"; 
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
    
    // on récupère l'idate qui vient d'être généré 
    $idate = mysql_insert_id();
    
    // ci-dessous on insère les infos dans image
    $sql = "INSERT INTO image (idimage, titre, support, photographe, date, provenance, description, localisation, droitimage, idauteur, idate) VALUES('','$titre','$support','$photographe','$date','$provenance','$droitimage','$description','$localisation', '$idauteur','$idate')"; 
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
    } 

     // on regarde dans la table lieux si le lieu existe déjà 
    
    $sql = "SELECT idlieu FROM lieux WHERE lieu='$lieu'"; 
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
$res= mysql_num_rows($req); 

if($res!=0)  // le lieu  existe déjà, on affiche un message d'erreur 
    { 
    echo '<font color="red">Désolé, mais ce lieu  existe déjà dans notre base.</font>'; 
    } 

else  // Le lieu n'existe pas, on insère d'abord les infos dans lieux
    { 
    $sql = "INSERT INTO lieux (idlieu, lieu) VALUES('','$lieu')"; 
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 

    // on récupère l'idlieu qui vient d'être généré 
    $idlieu = mysql_insert_id(); 
	 
	
	$sql = "INSERT INTO image (idimage, titre, support, photographe, date, provenance, droitimage, description, localisation, idauteur, idate, idlieu) VALUES('$idimage','$titre','$support','$photographe','$date','$provenance','$droitimage','$description','$localisation','$idauteur','$idate','$idlieu')"; 
	mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
    } 
     
    
      
	  
	  // on regarde dans la table motcles si le mot existe déjà 
   
      $sql = "SELECT idmot FROM motcles WHERE mot='$mot'"; 
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
$res= mysql_num_rows($req); 

if($res!=0)  // le mot  existe déjà, on affiche un message d'erreur 
    { 
    echo '<font color="red">Désolé, mais ce mot  existe déjà dans notre base.</font>'; 
    } 

else  // Le mot n'existe pas, on insère d'abord les infos dans motcles
    { 
    $sql = "INSERT INTO motcles (idmot, mot) VALUES('','$mot')"; 
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 

    // on récupère l'idmot qui vient d'être généré 
    $idmot = mysql_insert_id(); 
	 
       $sql = "INSERT INTO caracteriser (idimage, idmot) VALUES('','$idmot')"; 
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
	
	$sql = "INSERT INTO image (idimage, titre, support, photographe, date, provenance, droitimage, description, localisation, idauteur, idate, idlieu, idmot) VALUES('$idimage','$titre','$support','$photographe','$date','$provenance','$droitimage','$description','$localisation','$idauteur','$idate','$idlieu','$idmot')"; 
	mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
    } 

    

mysql_close($bd);  // on ferme la connexion   
	
?>

<div id="formulaire">

 <form action="nouveau2.php" method="post">
   

 

    <p>Titre:<br/>
    <input name="titre" size="22" value="" type="text"/>
   </p>   
   
   <p>Support:<br/>
    <input name="support" size="22" value="" type="text"/>
   </p>  
   
   <p>Photographe:<br/>
    <input name="photographe" size="22" value="" type="text"/>
   </p>   
   
   <p>Date:<br/>
    <input name="date" size="22" value="" type="text"/>
   </p>
   
    <p>Provenance:<br/>
    <input name="provenance" size="22" value="" type="text"/>
   </p>
   
    <p>Droits:<br/>
    <input name="droitimage" size="22" value="" type="text"/>
   </p>   
    <p>Description:<br/>
   <textarea name="description" rows="10" cols="50" ></textarea>
   </p>  
 
<p>Localisation dans la photothèque:<br/>
   <textarea name="localisation" rows="10" cols="50" ></textarea>
  </p>
      <p>  Nom du photographe:</p>
        <input name="nom" size="22" value="" type="text"/>
   </p> 
          <p>  Periode :</p>
        <input name="periode" size="22" value="" type="text"/>
   </p> 
   
    <p>  Lieu :</p>
        <input name="lieu" size="22" value="" type="text"/>
   </p> 
         <p>  Mot-clé :</p>
        <input name="mot" size="22" value="" type="text"/>
   </p> 
   
     <input name="Valider" value="Valider" type="submit"/>
   <input name="Effacer" value="Effacer" type="reset"/>
 
</form>
</div>



vendredi 3 juin 2011 à 13:28:28 | Re : faire un formulaire de saisie en récuperant des données

hitu

Réponse acceptée !
bonjour, j'ai trouvé la soultion: mysql_fetch_assos


Cette discussion est classée dans : mysql, erreur, mot, sql, existe


Répondre à ce message

Sujets en rapport avec ce message

alimenter une table avec les données d'une autre table [ par hitu ] bonjour, J'ai un formulaire de saisie ou je peux inserer dans ma table image des nouvelles données de mes tables auteur, dates, lieux et motscles mai erreur de syntaxe quand je veux obliger un utilisateur a mettre un @ et un . dans un champ email [ par gb66 ] Bonjour a vous et merci de m'aider voila je veux obliger l'utilisateur a mettre un . et un @ pour un champ formulaire mais quand j'ai rajouter ses lig comment sortir de la bdd ? [ par Georges97427 ] Boujour, Debutant, J'essaye d'inscrire dans ma bdd que j'ai ouverte avec wamp-phpadmin. mais lorsque j'ai inscrit une ligne je sors avec le message utiliser un login et mot de passe pour accéder à ma page d'accueille [ par msi079 ] [b]salut .je tente d'utiliser un code que j'ai eu sur le net . mais j'arrive pas à l'adapter à mon cas . j'ai un fichier index.php et victime.php l'ut Mot de passe dans une chambs mysql [ par Moritus ] bonjour, Dans phpmyadmin on peut mettre un champ en 'PASSWORD' qui crypte le mot de passe... dans ma page de connexion, on me dit que j'ai pas le bo erreur dans mon code + MySQL [ par hadjiphp ] Bonjour, merci pour ce site et souhaite de trouver tous ce que je veux. je vous remercie. Bonjour, j'ai une question : j'ai un programme qui per Authentification plusieurs types de comptes [ par MaitreLgTbD ] Bonjour,Apres avoir cherché plusieurs heures sur le net en vain je sollicite vos connaissances.Mon code ci dessous devrait me permettre d'identifier d Erreur inexpliquée avec echo suite lecture donnée serveur sql [ par sebing ] Bonsoir, J'ai une erreur que je ne peux expliquer, en effet je me sert du même script pour un autre site et tout fonctionne bien. Ma page est sert de Astuce du jour #1: Comment configurer une erreur de la base de donné MySql [ par SmallToad ] Quand vous avez de des erreurs de la base de donnée, êtes-vous déjà demander comment configurer le message d'erreur de la base de donnée MySql C'est Erreur dans un script [ par philagui ] Bonjour,est-ce que quelqu'un pourrait me dire où est l'erreur dans ce script:$sql_query="SELECT Titre FROM Tableaux WHERE LIMIT 0,2";//Début de la que


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,499 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales