If /elseif

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

04 juil. 2005, 16:06

Si si, switch accepte bien les <, <=, >, >=

Code : Tout sélectionner

switch (TRUE){ case ($v_BAL <= 0): //less then 0 , -0 echo $v_BAL; break; case ($v_BAL <= 10 AND $v_BAL >= 1): //less then 10 and greater then 1 echo $v_BAL; break; default: //default echo $v_BAL; break; }
Il suffit de lui donner les bon paramètres :
switch teste l'égalité de chaque case avec le paramètre de switch

Donc, si tu veut tester un intervalle, il faut que ta condition soit vrai, ou égale à vrai :wink:
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

04 juil. 2005, 16:06

les balises PHP !

bon, essaye quelque chose comme ça
switch (true) {
   case $result<24:
      $mysql_link1 = mysql_connect('localhost','XX','X');
            $requete1 = 'SELECT cp_prod_pu FROM produits WHERE cp_prod_id=1;';
      $result1 = mysql_db_query('CP', $requete1);
      $valeur_aff1 = mysql_fetch_array($result1);
      echo $valeur_aff1[cp_prod_pu];} 

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

04 juil. 2005, 16:07

Pour tester un intervalle il faut faire 2 fois les tests de comparaison

SI x > a AND x < b
et non pas b>x AND >a et c'est ça qui n'allait pas dans ton 1er script, il me semble.
elseif ($result > 48 and < 72) {
Je te propose donc, avec un IF [/quote]
<?php 
$mysql_link = mysql_connect('localhost','XX','X');
$requete = 'SELECT cp_cycleLESC_Qt FROM cycleLESC;';
$result = mysql_db_query('CP', $requete);

if($result < 24) {
$mysql_link1 = mysql_connect('localhost','XX','X');
$requete1 = 'SELECT cp_prod_pu FROM produits WHERE cp_prod_id=1;';
$result1 = mysql_db_query('CP', $requete1);
$valeur_aff1 = mysql_fetch_array($result1);
echo $valeur_aff1[cp_prod_pu];
}
elseif($result > 24 AND $result < 48) {
$mysql_link1 = mysql_connect('localhost','XX','X');
$requete2 = 'SELECT cp_prod_pu1 FROM produits WHERE cp_prod_id=1;';
$result2 = mysql_db_query('CP', $requete2);
$valeur_aff2 = mysql_fetch_array($result2);
echo $valeur_aff2[cp_prod_pu1];
}
elseif($result < 72 AND $result > 48){
$mysql_link1 = mysql_connect('localhost','XX','X');
$requete3 = 'SELECT cp_prod_pu2 FROM produits WHERE cp_prod_id=1;';
$result3 = mysql_db_query('CP', $requete3);
$valeur_aff3 = mysql_fetch_array($result3);
echo $valeur_aff3[cp_prod_pu2];
}
esleif($result > 72)
 {
$mysql_link1 = mysql_connect('localhost','XX','X');
$requete4 = 'SELECT cp_prod_pu3 FROM produits WHERE cp_prod_id=1;';
$result4 = mysql_db_query('CP', $requete4);
$valeur_aff4 = mysql_fetch_array($result4);
echo $valeur_aff4[cp_prod_pu3];
}else{
echo "aucun des autres cas";

}
?>
Modifié en dernier par mere-teresa le 04 juil. 2005, 16:42, modifié 1 fois.
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

lf
Invité n'ayant pas de compte PHPfrance

04 juil. 2005, 16:34

avec le switch j'obtiens un truc bizarre qui n'existe pas dans ma base: 10.5010.509.508.50. ça ressemble à un décompte, non?

lf
Invité n'ayant pas de compte PHPfrance

04 juil. 2005, 16:54

non, ce n'est pas un décompte. Je me retrouve avec toutes les valeurs possibles: tous les if et elseif sont affichés séparés d'un zéro.

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

04 juil. 2005, 17:12

Avant les if/else/etc... fais un echo $result....
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.