Comparaison de requete SQL
Résolu
smoutsmout
Messages postés
160
Date d'inscription
Statut
Membre
Dernière intervention
-
smoutsmout Messages postés 160 Date d'inscription Statut Membre Dernière intervention -
smoutsmout Messages postés 160 Date d'inscription Statut Membre Dernière intervention -
Bonjour bonjour,
Voila, je fais une petite application php, je doit récupérer des données dans un formulaire et les entrer dans une base de données SQLServer. Jusque là rien de compliqué.
Mais avant d'enregistrer les données je voudrais vérifier si l'enregistrement n'existe pas déjà.
Pour cela je me base sur 3 champs (nom, prénom et date de naissance).
Je ne sais pas comment m'y prendre pour ce contrôle.
Si quelqu'un a une idée....
Merci d'avance pour votre aide.
Voila, je fais une petite application php, je doit récupérer des données dans un formulaire et les entrer dans une base de données SQLServer. Jusque là rien de compliqué.
Mais avant d'enregistrer les données je voudrais vérifier si l'enregistrement n'existe pas déjà.
Pour cela je me base sur 3 champs (nom, prénom et date de naissance).
Je ne sais pas comment m'y prendre pour ce contrôle.
Si quelqu'un a une idée....
Merci d'avance pour votre aide.
A voir également:
- Comparaison de requete SQL
- Comparaison million milliard - Accueil - Technologies
- Logiciel comparaison photo gratuit - Télécharger - Photo & Graphisme
- Logiciel sql - Télécharger - Bases de données
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de tennis mais pas de tennis de table ✓ - Forum Java
- Sql lister les tables ✓ - Forum Programmation
32 réponses
Avant j'y rentrais de sur, maintenant on dirais que non.
voici le code :
<?php
//script de connexion à la base sous SQLServer
include("connexion.inc");
//connexion à la base de données
$con=mssql_connect($host,$user,$pass)or die ("Probleme de connexion au serveur");
mssql_select_db($BDD,$con)or die ("Problème d'accès à la base de données bdd_test_pilotes");
//récupération des données formulaire
$table="pilotes";
$nom=""; if(!empty($_POST["fnom"]))
$nom=$_POST["fnom"];
$prenom=""; if(!empty($_POST["fprenom"]))
$prenom=$_POST["fprenom"];
$date=""; if(!empty($_POST["fdate"]))
$date=$_POST["fdate"];
//controle
$query = "SELECT nom, prenom, date_naissance FROM".$table."WHERE nom='".$nom."' AND prenom='".$prenom."' AND date_naissance='".$date."'";
if(($nom!='')&&($prenom!='')&&($date=''))
{
$result = mssql_query($query, $con);
if (mssql_num_rows($result) != 0)
{
echo "Enregistrement déjà présent dans la base de données.";
}
else
{
if(!mssql_query("insert into ".$table."(code, nom, prenom, date_naissance) values ('000002', '".$nom."', '".$prenom."', '".$date."')", $con))
{
echo("erreur");
}
else
{
echo("c'est bon");
}
}
}
@mssql_close(); // Fermeture de la connexion
?>
voici le code :
<?php
//script de connexion à la base sous SQLServer
include("connexion.inc");
//connexion à la base de données
$con=mssql_connect($host,$user,$pass)or die ("Probleme de connexion au serveur");
mssql_select_db($BDD,$con)or die ("Problème d'accès à la base de données bdd_test_pilotes");
//récupération des données formulaire
$table="pilotes";
$nom=""; if(!empty($_POST["fnom"]))
$nom=$_POST["fnom"];
$prenom=""; if(!empty($_POST["fprenom"]))
$prenom=$_POST["fprenom"];
$date=""; if(!empty($_POST["fdate"]))
$date=$_POST["fdate"];
//controle
$query = "SELECT nom, prenom, date_naissance FROM".$table."WHERE nom='".$nom."' AND prenom='".$prenom."' AND date_naissance='".$date."'";
if(($nom!='')&&($prenom!='')&&($date=''))
{
$result = mssql_query($query, $con);
if (mssql_num_rows($result) != 0)
{
echo "Enregistrement déjà présent dans la base de données.";
}
else
{
if(!mssql_query("insert into ".$table."(code, nom, prenom, date_naissance) values ('000002', '".$nom."', '".$prenom."', '".$date."')", $con))
{
echo("erreur");
}
else
{
echo("c'est bon");
}
}
}
@mssql_close(); // Fermeture de la connexion
?>
Essaye ceci... (code reformaté avec quelques modifs)... Et dis moi ce qui s'affiche.
<?php //script de connexion à la base sous SQLServer include("connexion.inc"); //connexion à la base de données $con = mssql_connect($host,$user,$pass)or die ("Probleme de connexion au serveur"); mssql_select_db($BDD,$con)or die ("Problème d'accès à la base de données bdd_test_pilotes"); //récupération des données formulaire $table="pilotes"; $nom=""; if(!empty($_POST["fnom"])) { $nom=$_POST["fnom"]; } $prenom=""; if(!empty($_POST["fprenom"])) { $prenom=$_POST["fprenom"]; } $date=""; if(!empty($_POST["fdate"])) { $date=$_POST["fdate"]; } //Test des valeurs reçues echo("Nom : " . $nom . "<br />Prenom : " . $prenom . "<br />Date naiss. :" . $date); //Requete SQL pour test $query = "SELECT * FROM " . $table . " WHERE nom='" . $nom . "' AND prenom='" . $prenom . "' AND date_naissance='" . $date . "'"; if(($nom!='')&&($prenom!='')&&($date='')) { $result = mssql_query($query, $con); if (mssql_num_rows($result) != 0) { echo "Enregistrement déjà présent dans la base de données."; } else { if(!mssql_query("INSERT INTO " . $table . "(code, nom, prenom, date_naissance) VALUES ('000002', '" . $nom . "', '" . $prenom . "', '" . $date . "')", $con)) { echo("erreur"); } else { echo("c'est bon"); } } } mssql_close(); // Fermeture de la connexion ?>
Et ce code affiche quoi:
<?php //script de connexion à la base sous SQLServer include("connexion.inc"); //connexion à la base de données $con = mssql_connect($host,$user,$pass)or die ("Probleme de connexion au serveur"); mssql_select_db($BDD,$con)or die ("Problème d'accès à la base de données bdd_test_pilotes"); //récupération des données formulaire $table="pilotes"; $nom=""; if(!empty($_POST["fnom"])) { $nom=$_POST["fnom"]; } $prenom=""; if(!empty($_POST["fprenom"])) { $prenom=$_POST["fprenom"]; } $date=""; if(!empty($_POST["fdate"])) { $date=$_POST["fdate"]; } //Test des valeurs reçues echo("Nom : " . $nom . "<br />Prenom : " . $prenom . "<br />Date naiss. :" . $date); //Requete SQL pour test $query = "SELECT * FROM " . $table . " WHERE nom='" . $nom . "' AND prenom='" . $prenom . "' AND date_naissance='" . $date . "'"; if(($nom!="")&&($prenom!="")&&($date!="")) { $result = mssql_query($query, $con); echo("Nb enregistrement(s) trouvé(s): ". mssql_num_rows($result)); if (mssql_num_rows($result) != 0) { echo "Enregistrement déjà présent dans la base de données."; } else { if(!mssql_query("INSERT INTO " . $table . "(code, nom, prenom, date_naissance) VALUES (NULL, '" . $nom . "', '" . $prenom . "', '" . $date . "')", $con)) { echo("erreur"); } else { echo("c'est bon"); } } } mssql_close(); // Fermeture de la connexion ?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Une dernière tentative...:
<?php //script de connexion à la base sous SQLServer include("connexion.inc"); //connexion à la base de données $con = mssql_connect($host,$user,$pass)or die ("Probleme de connexion au serveur"); mssql_select_db($BDD,$con)or die ("Problème d'accès à la base de données bdd_test_pilotes"); //récupération des données formulaire $table="pilotes"; $nom=""; if(!empty($_POST["fnom"])) { $nom=$_POST["fnom"]; } $prenom=""; if(!empty($_POST["fprenom"])) { $prenom=$_POST["fprenom"]; } $date=""; if(!empty($_POST["fdate"])) { $date=$_POST["fdate"]; } //Test des valeurs reçues echo("Nom : " . $nom . "<br />Prenom : " . $prenom . "<br />Date naiss. :" . $date); //Requete SQL pour test $query = "SELECT * FROM " . $table . " WHERE nom='" . $nom . "' AND prenom='" . $prenom . "' AND date_naissance='" . $date . "'"; if(strlen($nom)!=0)&&(strlen($prenom)!=0)&&(strlen($date)!=0)) { $result = mssql_query($query, $con); echo("Nb enregistrement trouvé(s): ". mssql_num_rows($result)); if (mssql_num_rows($result) != 0) { echo "Enregistrement déjà présent dans la base de données."; } else { if(!mssql_query("INSERT INTO " . $table . "(code, nom, prenom, date_naissance) VALUES ('000002', '" . $nom . "', '" . $prenom . "', '" . $date . "')", $con)) { echo("erreur"); } else { echo("c'est bon"); } } } mssql_close(); // Fermeture de la connexion ?>
Attention la requete INSERT INTO a la fin a été modifiée, recopie bien tout:
<?php //script de connexion à la base sous SQLServer include("connexion.inc"); //connexion à la base de données $con = mssql_connect($host,$user,$pass)or die ("Probleme de connexion au serveur"); mssql_select_db($BDD,$con)or die ("Problème d'accès à la base de données bdd_test_pilotes"); //récupération des données formulaire $table="pilotes"; $nom=""; if(!empty($_POST["fnom"])) { $nom=$_POST["fnom"]; } $prenom=""; if(!empty($_POST["fprenom"])) { $prenom=$_POST["fprenom"]; } $date=""; if(!empty($_POST["fdate"])) { $date=$_POST["fdate"]; } //Test des valeurs reçues echo("Nom : " . $nom . "<br />Prenom : " . $prenom . "<br />Date naiss. :" . $date); //Requete SQL pour test $query = "SELECT * FROM " . $table . " WHERE nom='" . $nom . "' AND prenom='" . $prenom . "' AND date_naissance='" . $date . "'"; if(strlen($nom)!=0)&&(strlen($prenom)!=0)&&(strlen($date)!=0)) { $result = mssql_query($query, $con); echo("Nb enregistrement trouvé(s): ". mssql_num_rows($result)); if (mssql_num_rows($result) != 0) { echo "Enregistrement déjà présent dans la base de données."; } else { if(!mssql_query("INSERT INTO " . $table . "(code, nom, prenom, date_naissance) VALUES (NULL, '" . $nom . "', '" . $prenom . "', '" . $date . "')", $con)) { echo("erreur"); } else { echo("c'est bon"); } } } mssql_close(); // Fermeture de la connexion ?>
Woah trop de la boulette ca marche, le nouvel enregistrement s'insere dans la table.
Un immense merci à toi !!!!!!
C'etait quoi qui allait pas ???
Un immense merci à toi !!!!!!
C'etait quoi qui allait pas ???