Else et else if
Résolu
caro__48
Messages postés
242
Date d'inscription
Statut
Membre
Dernière intervention
-
caro__48 Messages postés 242 Date d'inscription Statut Membre Dernière intervention -
caro__48 Messages postés 242 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un problème pour afficher des données, depuis une requête sql, je compile des if , else if et esle pour afficher les données suivant différents critères (sélectionnés avec les if). Ca marche bien sauf dès que je mets le denier else, il oubli toutes mes autres conditions et passe direct au else
Je galère un peu.
Voici mon code:
<?php
$date1= date("Y-m-d");
$requete1=mysql_query("
select
L.gamme,
L.ref_produit,
L.descriptif,
L.nom_produit,
L.date_livraison,
L.recherche_1,
L.recherche_2,
L.recherche_3,
L.photo,
L.photo_grand_modele,
L.cdt,
L.PA,
L.PVC,
L.id_categories,
L.etat,
L.date_limite_cde,
L.date_limite_affichage,
L.New,
L.Titre_import,
L.Sous_titre_import,
L.Reassort,
L.Coef,
L.logo,
L.texte_specifique,
L.fourn_import,
C.qt_commande_L_01,
C.qt_commande_L_02,
C.date,
C.id_adh,
C.etat_I
From liste as L, commandes_import as C
WHERE id_categories = 8 AND etat ='OUI' order by fourn_import, Titre_import, Sous_titre_import ASC") or die (mysql_error());
//vérification des donnée si aucune message
$a= mysql_num_rows($requete1);
if ($a==0)
{
echo ('<center>
<br><br><h2>Aucun produit disponible en commande actuellement. <br> Merci de votre compréhension.</h2></center');
}
else
{
while ($val = mysql_fetch_object($requete1))
{
if ( ($val->date_limite_affichage> $date1) && ($val->id_adh == $adh))
{
echo "Date limite d'affichage atteinte, on affiche que les données validées par ladh dans la table commandes_import ";
}
else if (($val->date_limite_affichage<=$date1) && ($val->id_adh == $adh))
{
echo "l'id_adh est déjà présent dans ma table commandes_import, on affiche tous les produits avec en plus les quantités déjà entrées par l'utilisateur.";
}
else
{
//if (($val->id_adh == "") && ($val->date_limite_affichage<=$date1))
//{
echo "On affiche tous les produits car adh inconnu dans la table_commandes_import (pas présent) et date limite <= a la date du jour.";
//}
}
}
}
Quelqu'un aurait-il une solution?
Merci d'avance
J'ai un problème pour afficher des données, depuis une requête sql, je compile des if , else if et esle pour afficher les données suivant différents critères (sélectionnés avec les if). Ca marche bien sauf dès que je mets le denier else, il oubli toutes mes autres conditions et passe direct au else
Je galère un peu.
Voici mon code:
<?php
$date1= date("Y-m-d");
$requete1=mysql_query("
select
L.gamme,
L.ref_produit,
L.descriptif,
L.nom_produit,
L.date_livraison,
L.recherche_1,
L.recherche_2,
L.recherche_3,
L.photo,
L.photo_grand_modele,
L.cdt,
L.PA,
L.PVC,
L.id_categories,
L.etat,
L.date_limite_cde,
L.date_limite_affichage,
L.New,
L.Titre_import,
L.Sous_titre_import,
L.Reassort,
L.Coef,
L.logo,
L.texte_specifique,
L.fourn_import,
C.qt_commande_L_01,
C.qt_commande_L_02,
C.date,
C.id_adh,
C.etat_I
From liste as L, commandes_import as C
WHERE id_categories = 8 AND etat ='OUI' order by fourn_import, Titre_import, Sous_titre_import ASC") or die (mysql_error());
//vérification des donnée si aucune message
$a= mysql_num_rows($requete1);
if ($a==0)
{
echo ('<center>
<br><br><h2>Aucun produit disponible en commande actuellement. <br> Merci de votre compréhension.</h2></center');
}
else
{
while ($val = mysql_fetch_object($requete1))
{
if ( ($val->date_limite_affichage> $date1) && ($val->id_adh == $adh))
{
echo "Date limite d'affichage atteinte, on affiche que les données validées par ladh dans la table commandes_import ";
}
else if (($val->date_limite_affichage<=$date1) && ($val->id_adh == $adh))
{
echo "l'id_adh est déjà présent dans ma table commandes_import, on affiche tous les produits avec en plus les quantités déjà entrées par l'utilisateur.";
}
else
{
//if (($val->id_adh == "") && ($val->date_limite_affichage<=$date1))
//{
echo "On affiche tous les produits car adh inconnu dans la table_commandes_import (pas présent) et date limite <= a la date du jour.";
//}
}
}
}
Quelqu'un aurait-il une solution?
Merci d'avance
A voir également:
- Else et else if
- If exist - Forum Programmation
- Problème If Else - Forum Java
- Vba if else ✓ - Forum VB / VBA
- Python if-else ✓ - Forum Python
- Batch if else ✓ - Forum Autoit / batch
2 réponses
Bonjour,
Peux tu mettre des commentaires pour etre sur de bien comprendre ton probleme (genre rentre ici alors que devrait pas) et mettre tonc ode entre balise code stp
Sinon peut tu faire un echo de $val->id_adh et adh, ils sont peut etre différents ...
Peux tu mettre des commentaires pour etre sur de bien comprendre ton probleme (genre rentre ici alors que devrait pas) et mettre tonc ode entre balise code stp
Sinon peut tu faire un echo de $val->id_adh et adh, ils sont peut etre différents ...
Bon, ton code :
Ce que j'essaierai en premier :
Qu'est ce que ça te donnes ?
<?php
$date1 = date("Y-m-d");
$requete1 = mysql_query("SELECT L.gamme, L.ref_produit, L.descriptif, L.nom_produit,
L.date_livraison, L.recherche_1, L.recherche_2, L.recherche_3,
L.photo, L.photo_grand_modele, L.cdt, L.PA,
L.PVC, L.id_categories, L.etat, L.date_limite_cde,
L.date_limite_affichage, L.New, L.Titre_import,
L.Sous_titre_import, L.Reassort, L.Coef, L.logo,
L.texte_specifique, L.fourn_import, C.qt_commande_L_01,
C.qt_commande_L_02, C.date, C.id_adh, C.etat_I
FROM liste as L, commandes_import as C
WHERE id_categories = 8
AND etat ='OUI'
ORDER BY fourn_import, Titre_import, Sous_titre_import ASC") or die (mysql_error());
//vérification des donnée si aucune message
$a= mysql_num_rows($requete1);
if ($a==0)
{
echo ('<center>
<br /><br /><h2>Aucun produit disponible en commande actuellement. <br /> Merci de votre compréhension.</h2></center');
}
else
{
while ($val = mysql_fetch_object($requete1))
{
if ( ($val->date_limite_affichage> $date1) && ($val->id_adh == $adh))
echo "Date limite d'affichage atteinte, on affiche que les données validées par ladh dans la table commandes_import ";
else if (($val->date_limite_affichage<=$date1) && ($val->id_adh == $adh))
echo "l'id_adh est déjà présent dans ma table commandes_import, on affiche tous les produits avec en plus les quantités déjà entrées par l'utilisateur.";
else
{
//if (($val->id_adh == "") && ($val->date_limite_affichage<=$date1))
echo "On affiche tous les produits car adh inconnu dans la table_commandes_import (pas présent) et date limite <= a la date du jour.";
}
}
}
?>
Ce que j'essaierai en premier :
<?php
$date1 = date("Y-m-d");
$requete1 = mysql_query("SELECT L.gamme, L.ref_produit, L.descriptif, L.nom_produit,
L.date_livraison, L.recherche_1, L.recherche_2, L.recherche_3,
L.photo, L.photo_grand_modele, L.cdt, L.PA,
L.PVC, L.id_categories, L.etat, L.date_limite_cde,
L.date_limite_affichage, L.New, L.Titre_import,
L.Sous_titre_import, L.Reassort, L.Coef, L.logo,
L.texte_specifique, L.fourn_import, C.qt_commande_L_01,
C.qt_commande_L_02, C.date, C.id_adh, C.etat_I
FROM liste as L, commandes_import as C
WHERE id_categories = 8
AND etat ='OUI'
ORDER BY fourn_import, Titre_import, Sous_titre_import ASC") or die (mysql_error());
//vérification des donnée si aucune message
$a = mysql_num_rows($requete1);
if ($a==0)
{
echo ('<center>
<br /><br /><h2>Aucun produit disponible en commande actuellement. <br /> Merci de votre compréhension.</h2></center');
}
else
{
while ($val = mysql_fetch_object($requete1))
{
if($val->id_adh == $adh)
{
if ( strtotime($val->date_limite_affichage) > strtotime($date1))
echo "Date limite d'affichage atteinte, on affiche que les données validées par ladh dans la table commandes_import ";
if (strtotime($val->date_limite_affichage) <= strtotime($date1))
echo "l'id_adh est déjà présent dans ma table commandes_import, on affiche tous les produits avec en plus les quantités déjà entrées par l'utilisateur.";
}
else
{
echo "On affiche tous les produits car adh inconnu dans la table_commandes_import (pas présent) et date limite <= a la date du jour.";
}
}
}
?>
Qu'est ce que ça te donnes ?
Cela m'affiche toujours le dernier echo avec en plus suivant les conditions les phrases dans les echo correspondant.
En fait j'ai tout le temps:
n affiche tous les produits car adh inconnu dans la table_commandes_import (pas présent) et date limite <= a la date du jour.
Avec en plus la phrase qui correspond.
Par exemple. Si la condition1 est rempli j'ai :
On affiche tous les produits car adh inconnu dans la table_commandes_import (pas présent) et date limite <= a la date du jour.Date limite d'affichage atteinte, on affiche que les données validées par ladh dans la table commandes_import
Tu vois?
En fait j'ai tout le temps:
n affiche tous les produits car adh inconnu dans la table_commandes_import (pas présent) et date limite <= a la date du jour.
Avec en plus la phrase qui correspond.
Par exemple. Si la condition1 est rempli j'ai :
On affiche tous les produits car adh inconnu dans la table_commandes_import (pas présent) et date limite <= a la date du jour.Date limite d'affichage atteinte, on affiche que les données validées par ladh dans la table commandes_import
Tu vois?
elle est déclarée bcp plus haut dans mon script. ca marche avec les sessions. je recupere l idh adh qui correspond a l utilisateur. (chaque utilisateur a nom de session unique)que je declare en $adh pour pouvoir m en servir. Verifier que l id connecter est bien celui que je veux dans ma requête et donc ds mes if...
elle est déclarée bcp plus haut dans mon script. ca marche avec les sessions. je recupere l idh adh qui correspond a l utilisateur. (chaque utilisateur a nom de session unique)que je declare en $adh pour pouvoir m en servir. Verifier que l id connecter est bien celui que je veux dans ma requête et donc ds mes if...
En fait je veux que si id_adh n'existe pas dans ma table_commandes_import, on passe au dernier else.
Je ne peux plus modifier mon message mais voilà. J'espère que tu comprends un peu ce que j'essaie de t'expliquer.
En tout cas merci de ton aide
Essaie de dés-imbriquer tout çà.