Vérifier si enregistrement existe (php-mysql)

Résolu/Fermé
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 - 19 juin 2012 à 12:22
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 - 19 juin 2012 à 12:50
Bonjour à tous !

Je sollicite votre aide pour résoudre un petit problème.

Je souhaiterais une correction de ce bout de code. Lorsque j'ajoute un enregistrement existant ou pas, il m'indique que celui-ci existe...
Voici mon code de la page ajouter.php :
<?php
$db = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS); mysql_select_db(MYSQL_BASE,$db);
if (isset($_POST["action"]) && $_POST["action"] == "send"){


if(empty($Reference)) 		{$_GET["msg"] = urlencode("Veuillez renseigner le champ « <strong>Référence</strong> »");}else{
if(empty($Image)) 			{$_GET["msg"] = urlencode("Veuillez renseigner le champ « <strong>Image</strong> »");}else{
if(empty($Numero)) 			{$_GET["msg"] = urlencode("Veuillez renseigner le champ « <strong>Numéro</strong> »");}else{
if(empty($Recherche)) 		{$_GET["msg"] = urlencode("Veuillez renseigner le champ « <strong>Recherche</strong> »");}else{
if(empty($Capacite)) 		{$_GET["msg"] = urlencode("Veuillez renseigner le champ « <strong>Capacité</strong> »");}else{
if(empty($Contenance)) 		{$_GET["msg"] = urlencode("Veuillez renseigner le champ « <strong>Contenance</strong> »");}else{
if(empty($Rendement)) 		{$_GET["msg"] = urlencode("Veuillez renseigner le champ « <strong>Rendement</strong> »");}else{
if(empty($Nombre)) 			{$_GET["msg"] = urlencode("Veuillez renseigner le champ « <strong>Nombre</strong> »");}else{
if(empty($Couleur)) 		{$_GET["msg"] = urlencode("Veuillez renseigner le champ « <strong>Couleur</strong> »");}else{
if(empty($CouleurImg)) 		{$_GET["msg"] = urlencode("Veuillez renseigner le champ « <strong>CouleurImg</strong> »");}else{
if(empty($Montant)) 		{$_GET["msg"] = urlencode("Veuillez renseigner le champ « <strong>Montant</strong> »");}else{
if(empty($Type)) 			{$_GET["msg"] = urlencode("Veuillez renseigner le champ « <strong>Type</strong> »");}else{
if(empty($Validite)) 		{$_GET["msg"] = urlencode("Veuillez renseigner le champ « <strong>Validité</strong> »");}else{

// Récupération des valeurs
$Reference		= $_POST["Reference"];
$Image			= $_POST["Image"];
$Numero			= $_POST["Numero"];
$Recherche		= $_POST["Recherche"];
$Capacite		= $_POST["Capacite"];
$Contenance		= $_POST["Contenance"];
$Rendement		= $_POST["Rendement"];
$Nombre			= $_POST["Nombre"];
$Couleur		= $_POST["Couleur"];
$CouleurImg		= $_POST["CouleurImg"];
$Montant		= $_POST["Montant"];
$Type			= $_POST["Type"];
$Validite		= $_POST["Validite"];

// Vérifie si l'enregistrement existe déjà
$res = mysql_query("SELECT COUNT(*) FROM Alifat_InkSearch WHERE Reference = '$Reference'");
if(mysql_num_rows($res) > 0)
{echo("<div class=\"Erreur\">Cette cartouche d'encre existe déjà.</div><script type=\"text/javascript\">window.setTimeout(\"location=('encre.php');\",3000)</script>");}else{

// Enregistrement dans la base
$sql = "INSERT INTO Alifat_InkSearch (Reference, Image, Numero, Recherche, Capacite, Contenance, Rendement, Nombre, Couleur, CouleurImg, Montant, Type, Validite)
VALUES ('$Reference', '$Image', '$Numero', '$Recherche', '$Capacite', '$Contenance', '$Rendement', '$Nombre', '$Couleur', '$CouleurImg', '$Montant', '$Type', '$Validite')";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

// Message de confirmation
if($req){echo("<div class=\"Message\">La cartouche d'encre a été ajoutée avec succès.</div><script type=\"text/javascript\">window.setTimeout(\"location=('encre.php');\",3000)</script>");}
else{echo("<div class=\"Erreur\">Une erreur est survenue lors de l'enregistrement.</div><script type=\"text/javascript\">window.setTimeout(\"location=('encre.php');\",3000)</script>");}
exit();}}
}}}}}}}}}}}}}

// Mon message d'erreur
if (!empty($_GET["msg"])){$msg = urldecode($_GET["msg"]);
$msg = stripslashes($msg);
echo("<div class=\"Erreur\">$msg</div><script type=\"text/javascript\">window.setTimeout(\"javascript:history.go(-1);\",3000)</script>");}
?>


Merci de votre aide à tous !

A voir également:

1 réponse

Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
19 juin 2012 à 12:50
Désolé, juste faire ceci suffirait :
$res = mysql_query("SELECT COUNT(*) AS cnt FROM Alifat_InkSearch WHERE Reference = '$Reference'"); 
if(mysql_result($res, 0, 'cnt') > 0)


à la place de :
$res = mysql_query("SELECT COUNT(*) FROM Alifat_InkSearch WHERE Reference = '$Reference'");
if(mysql_num_rows($res) > 0)
2