Requête mysql insert into avec une condition

trucmuche221 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
 Chinchero -
Bonjour,

Je travaille actuellement sur un site internet relié à une base de donnée hébergée sur MySql.
Sur ce site des élèves peuvent s'inscrire. Pour cela ils doivent renseigner différents champs dont celui de leur lycée d'origine ainsi que le code postal et la ville du lycée.
Dans ma base de données j'ai une table "eleves" et une table "lycee". La table lycee contient les 3 champs mentionnaient ci dessous (Nom_Lyc, CP_Lyc et Ville_Lyc), elle contient aussi Num_Lyc qui est la clef primaire de cette table. La table ancien est relié à la table lycee par le champ Num_Lyc qui est une clef étrangère.
Je voudrais, lorsque un élève s'inscrit sur le site ajouter les élèments du lycée (son nom, son code postal et sa ville) dans la table lycee si ce lycée n'existe pas dans la table. Et dans tout les cas relier les deux Num_Lyc.
J'ai essayé en faisant cette requête:
$query="insert into LYCEE(Nom_Lyc, CP_Lyc, Ville_Lyc) VALUES( '".$Lyc."', '".$CPLyc."', '".$VLyc."') WHERE '".$Lyc."'<>Nom_Lyc AND '".$CPLyc."'<>CP_Lyc AND '".$VLyc."'<>Ville_Lyc;";

($Lyc, $CPLyc et $VLyc sont les valeurs saisies par l'élèves et récupérées dans un formulaire).

Merci beaucoup de votre aide!



2 réponses

Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Bonjour,

Il faut le faire en deux étapes :
- vérifier si le lycée existe ;
- si non, l'ajouter.

$requete_existe = "SELECT count(*) FROM LYCEE  
            WHERE Nom_Lyc = '$Lyc'  
            AND CP_Lyc = '$CPLyc' 
            AND Ville_Lyc = '$VLyc'"; 

$resultat_existe = mysql_query($requete_existe); 
$ligne_existe = mysql_fetch_array($resultat_existe); 
$existe = ($ligne_existe[0] != 0); 

if (!$existe) 
{ 
    $query="insert into LYCEE(Nom_Lyc, CP_Lyc, Ville_Lyc) VALUES( '$Lyc', '$CPLyc', '$VLyc')"; 
    mysql_query($query); 
} 


Xavier
0
Chinchero
 
Ca fonctionne, merci beaucoup!!!
0
Profil bloqué
 
bonjour,
je comprend votre demande mais ce qui m'intrigue c'est est ce que avec votre rêquete sa marche ou pas ? est si non,indiquer le message d'erreur avec l'enregistrement dans votre base.je comprend pas trés bien votre INSERT, voila ce que je ferrais.
<?php
// je récupère les données du formulaires
$Nom_Lyc = $_POST['Nom_Lyc'] ;
$CP_Lyc = $_POST['$CP_Lyc'] ;
$Ville_Lyc = $_POST['$Ville_Lyc'] ;

puis ma requete sql :

INSERT INTO lycée VALUES ('$Nom_Lyc','$CP_Ly','$Ville_Lyc ') ;


?>
voila

Signature non conforme - Publicité supprimée Modération CCM
-1