Comparaison de requete SQL - Page 2

Résolu
Précédent
  • 1
  • 2
smoutsmout Messages postés 160 Statut Membre
 
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
?>
0
Benno Messages postés 153 Date d'inscription   Statut Membre 112
 
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
?>
0
smoutsmout Messages postés 160 Statut Membre
 
ya du mieu

Ca m'affiche les champs saisis dans le formulaire.
0
Benno Messages postés 153 Date d'inscription   Statut Membre 112
 
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&eacute;(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
?>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
toto
 
Attention à la faute de frappe dans le code de Benno
if(($nom!='')&&($prenom!='')&&($date!=''))
0
smoutsmout Messages postés 160 Statut Membre
 
euh pareil, les champs du formulaires
0
Benno Messages postés 153 Date d'inscription   Statut Membre 112
 
Bien vu l'erreur vient sans doute de cet oubli!
0
Benno Messages postés 153 Date d'inscription   Statut Membre 112
 
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&eacute;(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
?>
0
smoutsmout Messages postés 160 Statut Membre
 
ah ! changement ...

en plus des champs j'ai : NB enregistrements trouvés = 0 erreur
0
Benno Messages postés 153 Date d'inscription   Statut Membre 112
 
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&eacute;(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
?>
0
smoutsmout Messages postés 160 Statut Membre
 
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 ???
0
Benno Messages postés 153 Date d'inscription   Statut Membre 112
 
Il faut laisser faire l'auto-incrément de la table lors de l'insertion (donc mettre NULL en premier paramètre et non 0002).
@+ n'oublie pas de marquer comme résolu.
0
smoutsmout Messages postés 160 Statut Membre
 
ah ok, je vois.

Merci bcp en tout cas.
0
Précédent
  • 1
  • 2