Traitement des condition et bdd

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Traitement des condition et bdd

par albat » 11 juin 2009, 23:30

Il y a déjà une erreur dans l'écriture de ta requête.
Je l'ai écrite de 3 façons différentes pour te montrer.

J'en ai également profité pour remplacer ta série de if par un switch, plus optimisé.

Enfin, et c'est sans doute ce qui bugue, il faut intégrer le echo dans la boucle.
// j'appelle la variable $resultat
$serveur = "localhost";
$base_de_donnees = "mabdd";
mysql_connect($serveur, "root", "***") or die("Impossible de se connecter sur le serveur ".$serveur." : " . mysql_error());
mysql_select_db($base_de_donnees) or die("Impossible de se sélectionner la base de données
".$base_de_donnees." : " . mysql_error());

$afficher = "SELECT * FROM table WHERE Resultat='$resultat'";     // MAL
$afficher = "SELECT * FROM table WHERE Resultat=".$resultat;      // BIEN si Resultat est un numérique
$afficher = "SELECT * FROM table WHERE Resultat='".$resultat."'"; // BIEN si Resultat n'est pas un numérique

$result = mysql_query($afficher) or die("Erreur lors de la lecture de la requête ".$afficher." : " . mysql_error());

while ($donnees = mysql_fetch_array($result) )
      { switch ($donnees['Resultat'])
               { case 1 : $aff="Il fait beau"; break;
                 case 2 : $aff="Il pleut"; break;
                 case 3 : $aff="Soleil !"; break;
               }
        echo $aff;
      }

Traitement des condition et bdd

par gege210 » 11 juin 2009, 23:16

Bonjour.
Dans une bdd Mysql, j'ai une colonne qui peut avoir trois valeur :
1
2
3

Je fait une requête Mysql.
Pas de problème.
Je souhaite mettre une condition if pouur afficher à la place de 1 un texte "Il fait beau" (exemple bête).
Mais le probléme c'est que cela m'affiche toujours le même text...

Code : Tout sélectionner

// j'appelle la variable $resltat $serveur = "localhost"; $base_de_donnees = "mabdd"; mysql_connect($serveur, "root", "***") or die("Impossible de se connecter sur le serveur ".$serveur." : " . mysql_error()); mysql_select_db($base_de_donnees) or die("Impossible de se sélectionner la base de données ". $base_de_donnees." : " . mysql_error()); $afficher = "SELECT * FROM table WHERE Resultat='$resultat'"; $result = mysql_query($afficher) or die("Erreur lors de la lecture de la requête ".$afficher." : " . mysql_error()); while ($donnees = mysql_fetch_array($result) ) { if ($donnees['Resultat']="1"); { $aff="Il fait beau"; } if ($donnees['Resultat']="2"); { $aff="Il pleut"; } if ($donnees['Resultat']="3"); { $aff="Soleil !"; } } echo $aff; } mysql_close();
Mais ceci ne marche pas.

Merci de votre aide

@bientôt