Probleme avec le if elseif

Fermé
amsy10 Messages postés 68 Date d'inscription jeudi 27 août 2009 Statut Membre Dernière intervention 22 septembre 2021 - 25 sept. 2009 à 17:26
 amsy10 - 3 oct. 2009 à 16:11
voila j'ai un probleme je fais une condition ki ne repond pas a ce que je veux

if($jour and $mois)
{

$connect = mysql_connect('localhost','root','');
mysql_select_db("sms",$connect);
$req="select saint from fetedujour where jour='".$jour."' and mois='".$mois."'";
$select=mysql_query($req)or die(mysql_error());
$donnee=mysql_fetch_array($select);

if($donnee[0]!=null)
{
echo $donnee[0];
}
else if($donnee[0]==null)
{
echo "cette date n'existe pas dans ma base de donnees";
}
else echo "le format est mal ecrit";
il me semble ke l'erreur doit etre o niveau de else if($donnee[0]==null)
puis ke kon j' execute la requete avec une mauvaise syntaxe il me doone le msg "cette date n'existe pas dans ma base de donnees";alor g besoin d'aide

1 réponse

incaout Messages postés 347 Date d'inscription lundi 8 septembre 2008 Statut Membre Dernière intervention 15 novembre 2012 74
25 sept. 2009 à 17:47
Salut.

En fait tu n'as pas besoin d'un elseif. Essaye ce code corrigé :

if($jour and $mois)
//ici je vérifie si $jour et $mois existe. Si oui, j'exécute la requete, sinon, j'affiche le message
//comme quoi la date est mal saisi
{
$connect = mysql_connect('localhost','root','');
mysql_select_db("sms",$connect);
$req="select saint from fetedujour where jour='".$jour."' and mois='".$mois."'";
$select=mysql_query($req)or die(mysql_error());
$donnee=mysql_fetch_array($select);

//Je suis ici dans la première boucle conditionnelle. Ma date est correcte et donc j'exécute ma requete,
//mais je veux m'assurer qu'il y a bien un résultat
//Si données différente de null alors j'affiche les données
if($donnee[0]!=null)
{
echo $donnee[0];
}
else
//forcément si les données ne sont pas différentes de null, c'est qu'elles sont nulles
// je n'ai pas besoin de le préciser à php donc "else if($donnee[0]==null)" n'est pas utile ici
//j'affiche le message d'erreur approprié
{
echo "cette date n'existe pas dans ma base de donnees";
}
else
//je suis ici dans le cas où une des deux variables n'est pas renseignées
{
echo "le format est mal ecrit";
}

Si tu souhaites tester une condition et arrêter le script au cas où elle n'est pas satisfaite tu peux aussi utiliser l'instruction die("message"); L'intérêt est que tu n'as pas à t'encombrer de else pour gérer la suite.

Par exemple :
if ($couleur == "rouge")
{
die("Cela n'ira pas")
}

suite du script

Voilà, j'espère que cela t'aidera.

Cdlt

IC
0
ok cool
ça marche
0