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 mais je ne sais pas comment entrer les données déja existantes de ces tables.
Par exemple je voudrais entrer 'toulouse' mais si le lieu existe déja ce n'est pas possible.
Merci
voici mon code:
[code]<?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();
}
// 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();
}
// 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();
}
// 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 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="nouveau3.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>[/code]