Probleme avec le if elseif

amsy10 Messages postés 78 Statut Membre -  
 amsy10 -
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
Configuration: Linux Fedora
Firefox 2.0.0.8

1 réponse

  1. incaout Messages postés 347 Date d'inscription   Statut Membre Dernière intervention   74
     
    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
    1. amsy10
       
      ok cool
      ça marche
      0