Requête mysql insert into avec une condition

Fermé
trucmuche221 Messages postés 1 Date d'inscription dimanche 13 février 2011 Statut Membre Dernière intervention 13 février 2011 - 13 févr. 2011 à 13:38
 Chinchero - 15 févr. 2011 à 17:05
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!



A voir également:

2 réponses

Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
Modifié par Reivax962 le 15/02/2011 à 11:57
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
Ca fonctionne, merci beaucoup!!!
0
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