[SQL] condition IF si la requête revient vide [Résolu/Fermé]

Signaler
Messages postés
137
Date d'inscription
lundi 17 mars 2008
Statut
Membre
Dernière intervention
9 juillet 2014
-
 shansa -
Bonjour,

Je fais une requête SQL sur une bdd et je voudrais exécuter une instruction si la requête revient vide (IF) et une autre instruction si elle contient des données (ELSE). Il m'exécute bien ce qu'il y a dans le ELSE, mais le IF ne fonctionne pas. C'est surement tout bête mais je n'y arrive pas...

J'ai essayé:

$reponse = mysql_query("SELECT * FROM table WHERE numero='2'");
if ($reponse == NULL) {
	--fais ci--
}
else {
	--fais ça--
}



J'ai aussi essayé

if ($reponse == "")


et ça marche pas non plus...

Merci d'avance

6 réponses


Bonjour,

if (!$reponse) {
// retour vide
}
else {
// ya quelquechose
}
11
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 57903 internautes nous ont dit merci ce mois-ci


On va tracer


$sosa = $_GET['i'];
$counter = 1;
echo "sosa => ".$sosa;

mysql_connect("localhost", "mon_site", "pass");
mysql_select_db("ma_bdd");
$query = "SELECT * FROM table WHERE sosa='".$sosa."'";
$reponse=mysql_query($query);
// Vérification du résultat
// Ceci montre la requête envoyée à MySQL ainsi que l'erreur. Utile pour déboguer.
if (!$reponse) {
$message = "Requête invalide : " . mysql_error() . "\n";
$message .= "Requête complète : " . $query;
die($message);
}
$nblignes=mysql_num_rows($reponse);

for ($i=0;$i<$nblignes;$i++){

$ligne = mysql_fetch_row($reponse);
echo "<pre>";print_r($ligne); echo "</pre>;
}

--
JL,  m'enfin c'est juste mon avis @+
se faire aider, n'est pas faire faire son travail
Messages postés
137
Date d'inscription
lundi 17 mars 2008
Statut
Membre
Dernière intervention
9 juillet 2014
31
Merci giheller, mais ça marche toujours pas, je mets mon script ci dessous pour plus de détails:

$sosa = $_GET['i'];
$counter = 1;

mysql_connect("localhost", "mon_site", "pass");
mysql_select_db("ma_bdd");
$reponse = mysql_query("SELECT * FROM table WHERE sosa='$sosa'");

if (!$reponse) {
	$leaf[$counter][0] = $sosa;
}
else {
	$donnees = mysql_fetch_array($reponse);
	$leaf[$counter][0] = $donnees['sosa'];
}

echo $leaf[1][0];



Ca parait surement bizarre comme code, mais je voudrais ensuite le répéter avec une boucle (c'est pour ça qu'il y a un $counter au début..)

Lorsque la variable que je récupère au début avec GET apparait dans le champ "sosa" il m'affiche bien ce que je veux avec le echo.
Mais lorsque je teste avec une valeur qui n'existe pas dans le champ "sosa" il ne m'affiche rien. Alors que dans ce cas je voudrais qu'il affecte une valeur "par défaut" ($leaf[$counter][0] = $sosa;)
Messages postés
410
Date d'inscription
jeudi 10 janvier 2008
Statut
Membre
Dernière intervention
5 décembre 2009
116
Si je comprend bien, si tu n'as pas d'entrée dans ta base correspondant à $sosa, tu veux faire
$leaf[$counter][0] = $sosa;
et si $sosa est déja dans ta base tu veux faire
$donnees = mysql_fetch_array($reponse);
$leaf[$counter][0] = $donnees['sosa'];

Si j'ai bien compris, je te propose ça :

$sosa = $_GET['i'];
$counter = 1;

mysql_connect("localhost", "mon_site", "pass");
mysql_select_db("ma_bdd");
$reponse = mysql_query("SELECT * FROM table WHERE sosa='$sosa'");
$test = mysql_fetch_array($reponse);
if ($test) {
    $donnees = mysql_fetch_array($reponse);
    $leaf[$counter][0] = $donnees['sosa'];

}
else {
    $leaf[$counter][0] = $sosa;
}

echo $leaf[1][0];
Messages postés
137
Date d'inscription
lundi 17 mars 2008
Statut
Membre
Dernière intervention
9 juillet 2014
31
Merci sly-bzh ça marche nickel!
Giheller, j'ai pas le niveau pour comprendre tout ce que tu as mis, alors je vais m'orienter vers le plus simple! Merci quand même!

Bon en fait, si je comprend bien ce que nous renvoie MySQL ($reponse) n'est pas NULL, même si la requête est vide, ce qui est nul c'est le tableau ($test ou $donnees) créé à partir de $reponse.
Ok, c'est pas évident mais ça me parait clair maintenant!

Merci beaucoup :)
Utilisateur anonyme
gardes ceci , cela te permettra de voir ce qui est dans un tableau
echo "<pre>";print_r($ligne); echo "</pre>"; // ici le tableau $ligne
Messages postés
137
Date d'inscription
lundi 17 mars 2008
Statut
Membre
Dernière intervention
9 juillet 2014
31
Et peut même faire un chouia plus court, car c'est finalement pas la peine de passer par $test ;)

$sosa = $_GET['i'];
$counter = 1;

mysql_connect("localhost", "mon_site", "pass");
mysql_select_db("ma_bdd");
$reponse = mysql_query("SELECT * FROM table WHERE sosa='$sosa'");
$donnees = mysql_fetch_array($reponse);

if ($donnees) {
    $leaf[$counter][0] = $donnees['sosa'];
}

else {
    $leaf[$counter][0] = $sosa;
}

echo $leaf[1][0];

Messages postés
410
Date d'inscription
jeudi 10 janvier 2008
Statut
Membre
Dernière intervention
5 décembre 2009
116
content d'avoir pu aider
Et effectivement, pas besoin de passer par $test (en fait j'avoue ne pas avoir lu ce que tu mettais dans ton if{} et else{} j'ai juste fait un copier/coller...)
salut,ce code toujours me donne la même réponse "l'article est ajouter avec sucée " et ne l'ajoute pas dans la bd.mm s'il est déjà existe il m'affiche la mm réponse.SVP je veux un réponse et merci:

<?php
$ref=$_POST['ref'];
$article=$_POST['article'];
$marque=$_POST['marque'];
$prix=$_POST['prix'];
if ($ref=="" OR $article==""){
echo"<h1><center>remplir les champs est obligatoire</center></h1>";
echo"<form name='form3' method='post' action='ajouter.php'>";
echo"<input type='submit' name='Submit' value='Retour' />";
echo" </form>" ;
}
else{
$connexion = mysql_connect("localhost","root","");
$db = mysql_select_db("globalmedia ");
if($article=='BATTERIE'){
$requeteSQL="select * from batteries where ref='$ref' ";
if($reponseSQL = mysql_query($requeteSQL)){
while ($donnees = mysql_fetch_array($reponseSQL)) {
echo"l'article existe déja dans la table correspondante ";
}
}
else{
$requeteSQL=" insert into batteries (ref,article,marque,prix)values ('$ref','$article','$marque','$prix') ";
$reponseSQL = mysql_query($requeteSQL);
echo "l'article est ajouter avec succée";
}
}
elseif($article=='BLEUTOOTH'){
$requeteSQL="select * from bluetooth where ref='$ref' ";
if($reponseSQL = mysql_query($requeteSQL)){
while ($donnees = mysql_fetch_array($reponseSQL)) {
echo"l'article existe déja dans la table correspondante ";
}
}
else{
$requeteSQL=" insert into bluetooth (ref,article,marque,prix)values ('$ref','$article','$marque','$prix') ";
$reponseSQL = mysql_query($requeteSQL);
echo "l'article est ajouter avec succée";
}
}
elseif($article=='CHARGEUR'){
$requeteSQL="select * from chargeur where ref='$ref' ";
if($reponseSQL = mysql_query($requeteSQL)){
while($donnees = mysql_fetch_array($reponseSQL)) {
echo"l'article existe déja dans la table correspondante ";
}
}
else{
$requeteSQL=" insert into chargeur (ref,article,marque,prix)values ('$ref','$article','$marque','$prix') ";
$reponseSQL = mysql_query($requeteSQL);
echo "l'article est ajouter avec succée";
}
}
elseif($article=='CASQUE'){
$requeteSQL="select * from casque where ref='$ref' ";
if($reponseSQL = mysql_query($requeteSQL)){
while ($donnees = mysql_fetch_array($reponseSQL)) {
echo"l'article existe déja dans la table correspondante ";
}
}
else{
$requeteSQL=" insert into casque (ref,article,marque,prix)values ('$ref','$article','$marque','$prix') ";
$reponseSQL1 = mysql_query($requeteSQL);
echo "l'article est ajouter avec succée";
}
}
elseif($article=='ETUI'){
$requeteSQL="select * from etui where ref='$ref' ";
if($reponseSQL = mysql_query($requeteSQL)){
while ($donnees = mysql_fetch_array($reponseSQL)) {
echo"l'article existe déja dans la table correspondante ";
}
}
else{
$requeteSQL=" insert into etui (ref,article,marque,prix)values ('$ref','$article','$marque,'$prix') ";
$reponseSQL = mysql_query($requeteSQL);
echo "l'article est ajouter avec succée";
}
}
elseif($article=='FLASH'){
$requeteSQL="select * from flash where ref='$ref' ";
if($reponseSQL = mysql_query($requeteSQL)){
while ($donnees = mysql_fetch_array($reponseSQL)) {
echo"l'article existe déja dans la table correspondante ";
}
}
else{
$requeteSQL=" insert into flash (ref,article,marque,prix)values ('$ref','$article','$marque','$prix') ";
$reponseSQL = mysql_query($requeteSQL);
echo "l'article est ajouter avec succée";
}
}
elseif($article=='GSM'){
$requeteSQL="select * from gsm where ref='$ref' ";
if($reponseSQL = mysql_query($requeteSQL)){
while ($donnees = mysql_fetch_array($reponseSQL)) {
echo"l'article existe déja dans la table correspondante ";
}
}
else{
$requeteSQL=" insert into gsm (ref,article,marque,prix)values ('$ref','$article','$marque','$prix') ";
$reponseSQL1 = mysql_query($requeteSQL);
echo "l'article est ajouter avec succée";

}
}
elseif($article=='HAUT PARLEUR'){
$requeteSQL="select * from haut parleur where ref='$ref' ";
if($reponseSQL = mysql_query($requeteSQL)){
while ($donnees = mysql_fetch_array($reponseSQL)) {
echo"l'article existe déja dans la table correspondante ";
}
}
else{
$requeteSQL=" insert into haut parleur (ref,article,marque,prix)values ('$ref','$article','$marque','$prix') ";
$reponseSQL = mysql_query($requeteSQL);
echo "l'article est ajouter avec succée";
}
}
elseif($article=='IPHONE'){
$requeteSQL="select * from iphone where ref='$ref' ";
if($reponseSQL = mysql_query($requeteSQL)){
while ($donnees = mysql_fetch_array($reponseSQL)) {
echo"l'article existe déja dans la table correspondante ";
}
}
else{
$requeteSQL=" insert into iphone (ref,article,marque,prix)values ('$ref','$article','$marque','$prix') ";
$reponseSQL = mysql_query($requeteSQL);
echo "l'article est ajouter avec succée";
}
}
elseif($article=='MP4'){
$requeteSQL="select * from mp4 where ref='$ref' ";
if($reponseSQL = mysql_query($requeteSQL)){
while ($donnees = mysql_fetch_array($reponseSQL)) {
echo"l'article existe déja dans la table correspondante ";
}
}
else{
$requeteSQL=" insert into mp4 (ref,article,marque,prix)values ('$ref','$article','$marque','$prix') ";
$reponseSQL= mysql_query($requeteSQL);
echo "l'article est ajouter avec succée";

}
}
elseif($article=='SOURI'){
$requeteSQL="select * from souri where ref='$ref' ";
if($reponseSQL = mysql_query($requeteSQL)){
while ($donnees = mysql_fetch_array($reponseSQL)) {
echo"l'article existe déja dans la table correspondante ";
}
}
else{
$requeteSQL=" insert into souri (ref,article,marque,prix)values ('$ref','$article','$marque','$prix') ";
$reponseSQL = mysql_query($requeteSQL);
echo "l'article est ajouter avec succée";

}
}
elseif($article=='WEBCAM'){
$requeteSQL="select * from webcam where ref='$ref' ";
if($reponseSQL = mysql_query($requeteSQL)){
while ($donnees = mysql_fetch_array($reponseSQL)) {
echo"l'article existe déja dans la table correspondante ";
}
}
else{
$requeteSQL=" insert into webcam (ref,article,marque,prix)values ('$ref','$article','$marque','$prix') ";
$reponseSQL1 = mysql_query($requeteSQL);
echo "l'article est ajouter avec succée";
}
}
}

?>
</body>
</html>