Résolu Aller chercher une valeur dans une base de données et la comparer

Solutions (5)
Tags :
  • Connexion
  • MySQL
  • Programmation
|
Bonjour,
j'ai une base de données avec un tableau (membres), contenant des numéros de départements (entry_postcode) et des numéros de zones (zone).
Chaque n° de département a une zone ... ex 14000, 14100, 14200 sont en zone 1 alors que 18000, 19000, 15240 sont en zone 2 (par exemple).
je veux interroger ma base en tapant le code postal, et afficher un message du genre : "ce n'est pas la bonne zone" ou "c'est la bonne zone"

voici mon code actuel :

  1. <?php
  2. // connexion
  3. mysql_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD);
  4. mysql_select_db(DB_DATABASE);
  5.  
  6. // verification
  7. $zone = mysql_query("SELECT zone FROM membres WHERE entry_postcode='".$_GET["entry_postcode"]."'");
  8. $donnee = mysql_fetch_array($zone);
  9. if ($donnee['zone'] == 1)
  10. {
  11. echo "c'est la bonne zone";
  12. }
  13. else
  14. {
  15. echo "ce n'est pas la bonne zone";
  16. }
  17. ?>



et ça ne fonctionne pas
et je ne trouve pas pourquoi !

Merci de m'aider ....
Contenus similaires
Meilleure solution
partage
|
Slt,

j'aurais tendance à utiliser une autre méthode de connexion et d'utilisation de la base de données, décrite dans le SDZ.
Voila donc avec celle-ci ton code qui marche :
  1. <?php
  2.  
  3. $bdd = new PDO('mysql:host=localhost;dbname=zone', 'root', '');
  4.  
  5. $CP = $_GET["entry_postcode"];
  6.  
  7. $zone = $bdd->query("SELECT zone FROM membres WHERE entry_postcode='$CP'");
  8. $donnee = $zone->fetch();
  9.  
  10. if ($donnee['zone'] == 1)
  11. {
  12. echo "c'est la bonne zone";
  13. }
  14. else
  15. {
  16. echo "ce n'est pas la bonne zone";
  17. }
  18.  
  19. $zone->closeCursor();
  20. ?>


Je précise aussi que lorsque tu écrit entre "blabla", inutile d’arrêter la chaîne et de la concaténer avec une variable. Entre " ", PHP interprète ce qu'il y a dedans.

Exemple :
echo "Je suis $prenom";
// Affiche : Je suis Jean-Maurice
echo 'Je suis '. $prenom;
// Affiche : Je suis Jean-Maurice

Les ' ne sont pas interprétés.
Si l'on veut chipoter, une chaîne à écrire toute simple est plus rapide pour PHP à traiter avec des 'bla bla' qu'avec des " ", car il cherchera à interpréter ce qu'il y a dedans.
  • Commenter cette solution |
Score
0
òh
òi
|
Meilleure réponse sélectionnée par abaris74.
  • Commenter cette réponse |
Score
0
òh
òi
|
Il manquait (bêtement) au début du code la déclaration de la feuille contenant les DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD et DB_DATABASE ..

Oubli stupide, j'en conviens. En faisant des print qui ne donnaient rien, c'est devenu évident.
Merci de vos réponses, en tout cas ! ;o)
  • Commenter cette réponse |
Score
0
òh
òi
|
Certes, mais il peut ceci dit reprendre le même schéma avec l'ancienne méthode de connexion ;) 
  • Commenter cette réponse |
Score
0
òh
òi
|
Ta méthode de connexion Divx_666 est quelque peu recente et certains serveurs qui n'ont pas la version php a jour sont incapables d'utiliser le PDO..
Donc perso je conseillerai plutot la bonne vieille methode.

Pour ce qui est de ton probleme, regarde le contenu de ton resultat par un print_r($donnee).. tu verras deja si quelquechose est louche!
  • Commenter cette réponse |

Ce n'est pas ce que vous cherchiez ?

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS