8791 sujets

Développement web côté serveur, CMS

Bonjour à tous voilà je dois faire face à un problème très spécial.

Je possède une table meteo contenant 3 attributs : code_meteo, ville_meteo et pays_meteo.

Lorsque j'écris ce code :

		$query = 	"select ville_meteo from meteo where code_meteo = 'FRXX0029'" 	
					or die('Impossible d\'exécuter la requête :' . mysql_error());				
	
 		$result = mysql_query($query); // on place le résultat de la requête dans une variable result
		
		// $data = array(); // creation d'un tableau 
		while($data = mysql_fetch_array($result)){	//on récupère le résultat dans un tableau nommé data
		
		// mysql_free_result($result);// on libère la mémoire allouée pour $result 

		$resultat = array('data' => $data['code_meteo']

		); 
		echo json_encode($resultat); 
		}

Tout fonctionne, et cela m'affiche bien la ville de Chartres. Alors que quand j'écris ce code :


		$query = 	"select code_meteo from meteo where ville_meteo = 'Chartres'" 	
					or die('Impossible d\'exécuter la requête :' . mysql_error());				
	
 		$result = mysql_query($query); // on place le résultat de la requête dans une variable result
		
		// $data = array(); // creation d'un tableau 
		while($data = mysql_fetch_array($result)){	//on récupère le résultat dans un tableau nommé data
		
		// mysql_free_result($result);// on libère la mémoire allouée pour $result 

		$resultat = array('data' => $data['code_meteo']

		); 
		echo json_encode($resultat); 
		}

Rien ne s'affiche!!

Avez-vous des idées de ce qui pourrait causé ce problème?
Merci d'avance Smiley smile
Modifié par lorenzo_one (02 Aug 2011 - 16:05)
Sans voir la structure de ta table c'est un peu difficile mais je dirais que tu dois utiliser LIKE au lieu de =.
Tu es sur que "Chartres" existe bien et est bien écrit sous cette forme ?
Il n'y a pas d'espace résiduel dans le champ "ville_meteo" ? Il y a bien une majuscule ?

D'ailleurs, ta première requête marche bien ?
Car tu fais un
select ville_meteo 


Et tu récupères
$data['code_meteo'] 
Tout d'abord merci de vos réponses. Alors l'utilisation de LIKE n'avait rien changé du tout au résultat et sinon oui Chartres est bien dans la table et il n'y a aucune erreur de syntaxe., je ne sais pluis quoi faire.
C'est bizarre qu'en sélectionnant la ville avec un where code_meteo='FRXX0029' cela me retourne bien La ville souhaitée alors qu'en sélectionnant un code_meteo avec un where ville_meteo = (ou LIKE) 'Chartres' cela n'affiche rien. Et bien entendu pas d'erreur obtenu?
Modifié par lorenzo_one (26 Jul 2011 - 09:19)
Et bien j'ai résolu mon problème, en utilisant LIKE à la place du = et en mettant le signe % devant le nom complet de ma ville. Merci encore pour votre soutien.


Résolu Smiley edit Modifié par lorenzo_one (28 Jul 2011 - 13:41)