[SQL] condition IF si la requête revient vide
Résolu
chantaussel
Messages postés
137
Date d'inscription
Statut
Membre
Dernière intervention
-
shansa -
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é:
J'ai aussi essayé
et ça marche pas non plus...
Merci d'avance
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
A voir également:
- If dans requete sql
- Logiciel sql - Télécharger - Bases de données
- Sql lister les tables ✓ - Forum Programmation
- If exist ✓ - Forum Autoit / batch
- The realtek network controller was not found. if deep sleep mode is enabled please plug the cable ✓ - Forum Pilotes (drivers)
- Requête bloquée par le pare-feu applicatif claranet webfence ✓ - Forum Réseaux sociaux
6 réponses
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
$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
Merci giheller, mais ça marche toujours pas, je mets mon script ci dessous pour plus de détails:
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;)
$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;)
Si je comprend bien, si tu n'as pas d'entrée dans ta base correspondant à $sosa, tu veux faire
Si j'ai bien compris, je te propose ça :
$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];
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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 :)
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 :)
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];
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>
<?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>