IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Astuces de if elsif et else et les requêtes?


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de menoulette
    Inscrit en
    Août 2009
    Messages
    320
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 320
    Points : 111
    Points
    111
    Par défaut Astuces de if elsif et else et les requêtes?
    Salut,
    je rencontre un problème que je n'arrive pas à trouver la solution qui convient, j' ai trois requêtes à les tester , et mon problème c'est que mon code execute just la requête n°1, et les autres aucun signes de leur execution,,,je m'explique avec le code suivant:
    les variable alphabet1 et alphabet2, alphabet3 sont les notes de l'utilisateur quia testé les tests des trois cours de l'alphabet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
     
     
      <?php 
     
     
    		if(isset($_SESSION['login'])){ //si l'utilisateur est logé
    		mysql_connect('localhost','root','');
    		mysql_select_db("base");
    		$s=mysql_query("SELECT	alphabet1 FROM  `livret_scolaire`  WHERE  pseudo='".$_SESSION['login']."'") or die(mysql_error());
    		$s1=mysql_query("SELECT	alphabet2 FROM  `livret_scolaire`  WHERE  pseudo='".$_SESSION['login']."'") or die(mysql_error());
    		$s2=mysql_query("SELECT	alphabet3 FROM  `livret_scolaire`  WHERE  pseudo='".$_SESSION['login']."'") or die(mysql_error());
    		if($s){
     
            $ss=mysql_fetch_array($s);
     
    		//Commencant par alphabet1
     
    	if( $ss['alphabet1']!="" AND $ss['alphabet1']>=0  AND  $ss['alphabet1']<=9.99){
    		echo'<b><BR><BR><IMG 
          src="guide/0.gif"> La note de <font color="red">['.$ss['alphabet1'].'/20 ]</font>a bien été 
          ajoutée à votre progression...<BR><BR>';
     
     
    		}
    		//on affiche le message
    		//dans un cas différent
     
    		elseif($ss['alphabet1']!="" AND $ss['alphabet1']>=10  AND  $ss['alphabet1']<=13.99){
     
    		echo'<BR><BR><IMG 
          src="guide/10.gif"> La note de ['.$ss['alphabet1'].'
          /20] a bien été ajoutée à votre progression...<BR><BR>';
     
    		}
    		//dans le cas bien
    		elseif($ss['alphabet1']!="" AND $ss['alphabet1']>=14  AND  $ss['alphabet1']<=19.99){
     
    		echo'<BR><BR><IMG 
          src="guide/15.gif"> La note de ['.$ss['alphabet1'].'
          /20] a bien été ajoutée à votre progression...<BR><BR>';
    		}
     
    		//dans le cas 20
    		elseif($ss['alphabet1']!="" AND $ss['alphabet1']==20){
     
    		echo'<BR><BR><IMG 
          src="guide/20.gif"> La note de ['.$ss['alphabet1'].'
          /20] a bien été ajoutée à votre progression...<BR><BR>';
    		}
     
     
     
    	}
     
    	//cour alphabet2	
    		elseif($s1){
     
     
    		$ss1=mysql_fetch_array($s1);
    	   if( $ss1['alphabet2']!="" AND $ss1['alphabet2']>=0  AND  $ss1['alphabet2']<=9.99){
    		echo'<b><BR><BR><IMG 
          src="guide/0.gif"> La note de <font color="red">['.$ss1['alphabet2'].'/20 ]</font>a bien été 
          ajoutée à votre progression...<BR><BR>';
     
    		}
     
    		elseif($ss1['alphabet2']!="" AND $ss1['alphabet2']>=10  AND  $ss1['alphabet2']<=13.99){
     
    		echo'<BR><BR><IMG 
          src="guide/10.gif"> La note de ['.$ss1['alphabet2'].'
          /20] a bien été ajoutée à votre progression...<BR><BR>';
    		}
    		//dans le cas bien
    		elseif($ss1['alphabet2']!="" AND $ss1['alphabet2']>=14  AND  $ss1['alphabet2']<=19.99){
     
    		echo'<BR><BR><IMG 
          src="guide/15.gif"> La note de ['.$ss1['alphabet2'].'
          /20] a bien été ajoutée à votre progression...<BR><BR>';
    		}
     
    		//dans le cas 20
    		elseif($ss1['alphabet2']!="" AND $ss1['alphabet2']==20){
     
    		echo'<BR><BR><IMG 
          src="guide/20.gif"> La note de ['.$ss1['alphabet2'].'
          /20] a bien été ajoutée à votre progression...<BR><BR>';
    		}
     
    	}	
     
     
    	elseif($s2)
     
    	 	{
    		$ss2=mysql_fetch_array($s2);	
    	//cour alphabet3	
     
    	if($ss2['alphabet3']!="" AND $ss2['alphabet3']>=0  AND  $ss2['alphabet3']<=9.99){
    		echo'<b><BR><BR><IMG 
          src="guide/0.gif"> La note de <font color="red">['.$ss2['alphabet3'].'/20 ]</font>a bien été 
          ajoutée à votre progression...<BR><BR>';
     
    		}	
     
     
    	elseif($ss2['alphabet3']!="" AND $ss2['alphabet3']>=10  AND  $ss2['alphabet3']<=13.99){
     
    		echo'<BR><BR><IMG 
          src="guide/10.gif"> La note de ['.$ss2['alphabet3'].'
          /20] a bien été ajoutée à votre progression...<BR><BR>';
    		}
    		//dans le cas bien
    		elseif($ss2['alphabet3']!="" AND $ss2['alphabet3']>=14  AND  $ss['alphabet3']<=19.99){
     
    		echo'<BR><BR><IMG 
          src="guide/15.gif"> La note de ['.$ss2['alphabet3'].'
          /20] a bien été ajoutée à votre progression...<BR><BR>';
    		}
     
    		//dans le cas 20
    		elseif($ss2['alphabet3']!="" AND $ss2['alphabet3']==20){
     
    		echo'<BR><BR><IMG 
          src="guide/20.gif"> La note de ['.$ss2['alphabet3'].'
          /20] a bien été ajoutée à votre progression...<BR><BR>';
    		}
     
     
     
     
     
    	mysql_close();
     
      }
      }
      ?>



    Mon problème c'est que mon code test juste la requêtes n°1 les autres il les ignore,??je ne sais pas ou se trouve le problème?? en plus si l'utilisateur est connecté et passe un test le message de l'enregistrement s'affiche aprés quand il se deconnecte et il se connecte encore une fois le message de l'enregistrement s'affiche encore , alors que moi je ne veux que le message s'affiche juste à l'insertion quand l'utilisateur passe son test aprés le message disparu??
    que dois- je faire, Guidez moi s'il vous plait,
    Merci

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 215
    Points : 170
    Points
    170
    Par défaut
    Salut menoulette,

    Pourquoi ne pas aller chercher les trois informations voulu dans une seule requête ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req = mysql_query("SELECT alphabet1 as A1, alphabet2 as A2, alphabet3 as A3 FROM  `livret_scolaire` WHERE  pseudo='".$_SESSION['login']."'");
    Tu récupère les valeurs de ces trois champs via mysql_result
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $A1 = mysql_result( $req, 0, 'A1');
    $A2 = mysql_result( $req, 0, 'A2');
    $A3 = mysql_result( $req, 0, 'A3');
    Et maintenant tu fait ce que tu veux des variables $A1, $A2 et $A3.

    Voila si t'as d'autres soucis n'hésites pas.

  3. #3
    Membre régulier Avatar de menoulette
    Inscrit en
    Août 2009
    Messages
    320
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 320
    Points : 111
    Points
    111
    Par défaut
    Salut,
    Merci pour ta réponse ,mais mon problème c'est pas dans la requête , c'est dans les tests, il les execute pas comme je veux, et correctement

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Je ne comprends pas bien le problème, mais à tout hasard je rappelle que dans un enchainement de if/elseif/elseif/else le script execute les instructions situées dans le premier if valide rencontré et seulement dans celui-là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $n = 5;
    if ($n <0 )
    { echo ' n négatif';}
    elseif ($n > 0)
    { echo 'n positif'; }
    elseif ($n > 2)
    { echo 'n supérieur à 2';}
    else
    { echo 'n nul';}
     
    //affiche : n positif
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

Discussions similaires

  1. Réponses: 0
    Dernier message: 10/12/2011, 13h15
  2. Réponses: 16
    Dernier message: 02/04/2010, 20h14
  3. if else pour les tableaux
    Par thechef dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 09/11/2009, 19h29
  4. Réponses: 44
    Dernier message: 14/03/2005, 09h43
  5. Optimisations mysql sur les requêtes SELECT: index
    Par leo'z dans le forum Débuter
    Réponses: 2
    Dernier message: 29/11/2003, 13h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo