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

PHP & Base de données Discussion :

[Conception] ElseIf a répétition - Ne marche pas ! - Pq?


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de bilou95
    Inscrit en
    Septembre 2006
    Messages
    433
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 433
    Par défaut [Conception] ElseIf a répétition - Ne marche pas ! - Pq?
    Des boucles ElseIf a répétition, est ce que cela marche ... car j'essaye de mettre en place une condition dans un if(isset($_POST['xxxx'])) ... Cela ne veut pas marcher ...

    J'ai bien l'impression qu'il s'arrete a la 2e condition de mon ElseIf ... Demandez si vous voulez voir mon code ...

    Merci Help !

  2. #2
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    oui ca marche et c'est équivalent à un switch case :
    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
    $a = 20;
     
    if($a < 5)
    {
    echo "A est inférieur a 5";
    }
    elseif($a < 10)
    {
    echo "A est inférieur a 10 et supérieur a 5";
    }
    elseif($a < 50)
    {
    echo "A est inférieur a 50 et supérieur a 10";
    }
    elseif($a == 20)
    {
    echo "A égal 20";
    }
    tu n'entres que dans UNE des conditions, en gros tu testes la première, si c'est faux tu testes la deuxieme, si c'est faux la troisieme etc. Mais des que tu en trouves une bonne tu arretes
    Donc ca affichera "A est inférieur a 50 et supérieur a 10" et non pas "A égal 20"

  3. #3
    Membre éclairé Avatar de bilou95
    Inscrit en
    Septembre 2006
    Messages
    433
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 433
    Par défaut
    Peux tu regarder ce qui ne va pas ! please ...

    C'est comme ci la valeur postée $_POST etait gardé en mémoire a 2 reprises et qu'il m'incrémentait les champs un par un dés que celui est vide ... je ne comprends pas pourquoi !

    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
    $DataStlise=mysql_fetch_array($Lets_satelise1);
     
     
        if(isset($_POST['satelise'])) {
    				if($DataStlise['Satellise_Qui'] == NULL)
    				{
    	$sql_satelise="UPDATE etablissement SET Satellise_Qui='".$_POST['satelise']."' WHERE IdEtb='$id'";
    	$exe_sqlsatelise = mysql_query($sql_satelise) or die ('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    	            }
    	            elseif($DataStlise['Satellise_Qui1'] == NULL)
    				{
    	$sql_satelise1="UPDATE etablissement SET Satellise_Qui1='".$_POST['satelise']."' WHERE IdEtb='$id'";
    	$exe_sqlsatelise1 = mysql_query($sql_satelise1) or die ('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    	            }
    	           elseif($DataStlise['Satellise_Qui2'] == NULL)
    			   {
    	$sql_satelise2="UPDATE etablissement SET Satellise_Qui2='".$_POST['satelise']."' WHERE IdEtb='$id'";
    	$exe_sqlsatelise2 = mysql_query($sql_satelise2) or die ('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    			   }

  4. #4
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    tu veux dire que la tu rentres dans tes 3 ifs?
    Mets des echo a l'entrée de chaque if pour voir où tu passes.

  5. #5
    Membre éclairé Avatar de bilou95
    Inscrit en
    Septembre 2006
    Messages
    433
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 433
    Par défaut
    J'ai essayé ca mais il s'arrete constamment sur le 1er champ et le met constamment a jour.

    POURQUOI !!!!!!!!!!!!!!!! j'en px plus je crois que je vais craquer !!!!!!!!!!!!!

    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
    //Zone de modification pour le(s) satelisés
     
     
       echo'<form method="POST" name="maj_sat_qui" onsubmit="return refresh(this)" Action="index.php?numlien=Det_Etablissement&id='.$id.'"><SELECT size="1" name="satelise" id="satelise_mdf" style="visibility: hidden">';     
       echo'<option SELECTED></OPTION>';
     
       while($dataEts1=mysql_fetch_array($RLets1))
       {
       echo'<option>'.$dataEts1['Etablissement'].'</option>';
       }
       if(isset($_POST['satelise'])) {
    				if($dataEts1['Satellise_Qui'] == "")
    				{
    	$sql_satelise="UPDATE etablissement SET Satellise_Qui='".$_POST['satelise']."' WHERE IdEtb='$id'";
    	$exe_sqlsatelise = mysql_query($sql_satelise) or die ('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    	            }
    	            Elseif($dataEts1['Satellise_Qui1'] == "")
    				{
    	$sql_satelise1="UPDATE etablissement SET Satellise_Qui1='".$_POST['satelise']."' WHERE IdEtb='$id'";
    	$exe_sqlsatelise1 = mysql_query($sql_satelise1) or die ('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    	            }
    	           Elseif($dataEts1['Satellise_Qui2'] == "")
    			   {
    	$sql_satelise2="UPDATE etablissement SET Satellise_Qui2='".$_POST['satelise']."' WHERE IdEtb='$id'";
    	$exe_sqlsatelise2 = mysql_query($sql_satelise2) or die ('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    			   }
    			   }	
     
       echo'</SELECT><input value="Ok" id="input_OK2" style="visibility: hidden" type="submit" onClick="form_satelise_qui();"><IMG src="image/cancel.png" id="iddelimgannulsatelise" style="visibility: hidden" style="border:"0" onclick="satelise_ann();"></form></td>';

  6. #6
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    bah euh c'est normal puisque c'est le fonctionnement du if/elseif/.../else
    reregardes mon exemple, il s'arrete quand il voit < 50 et il entre pas dans le else suivant puisqu'il est deja rentré quelque part.

Discussions similaires

  1. [Conception] [débutant] Update ne marche pas
    Par yvandube dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 16/06/2006, 19h28
  2. 'SHOW TABLES' marche pas sous postgresql !?
    Par fet dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 13/05/2004, 09h28
  3. Réponses: 9
    Dernier message: 07/05/2003, 12h57
  4. [GifDecoder] marche pas dans applet avec IE
    Par formentor dans le forum Applets
    Réponses: 2
    Dernier message: 06/05/2003, 10h43
  5. Sysdate qui marche pas ??
    Par StouffR dans le forum Langage SQL
    Réponses: 4
    Dernier message: 28/08/2002, 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