Mysql: Pb sur récupération d'un champ varchar

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 : Mysql: Pb sur récupération d'un champ varchar

Re: Mysql: Pb sur récupération d'un champ varchar

par Truc » 12 mars 2010, 18:22

Modération :
Puisque ta question est résolue, je l'indique en ajoutant la petite icône verte "Résolu" pour que les futures personnes qui voudront consulter ce sujet sachent qu'il contient une solution.

TTu peux réaliser cette opération toi-même en cliquant sur le bouton Image en haut à droite de la réponse qui te semble la plus pertinente, si tu as posté le 1er message en tant que membre (inscrit et identifié).

Alors... inscris-toi !!! ;)

Re: Mysql: Pb sur récupération d'un champ varchar

par Invité » 12 mars 2010, 17:59

Merci bcp pour la réponse voici les différents résultats des tests conseillés:

echo $strSQL; => SELECT `Image_Background` FROM `pages` WHERE `Id_page` = 5

Cette requête retourne sous phpmyadmin le texte: 'meteo.jpg'

var_dump($tabl_result); retourne:
array(2) { [0]=> string(9) "meteo.jpg" ["Image_Background"]=> string(9) "meteo.jpg" } img/fullscreen_background/meteo.jpg

Ce qui est correct.

Bon à partir de là je me rends compte que l'appel seul de ma fonction retourne bien..

Suis dèg..

je viens de me rendre compte que la variable d'origine que je passe à ma fonction n'est pas la bonne et que je reste toujours sur la même valeur passée en paramètre..

Merci beaucoup pour cette réponse elle m'a permis d'y voir plus clair

j'ai honte.. ;)

Re: Mysql: Pb sur récupération d'un champ varchar

par dunbar » 12 mars 2010, 16:27

Salut

C'est quoi ceci :?:
$resultat = requete_SQL($strSQL);

Re: Mysql: Pb sur récupération d'un champ varchar

par macgawel » 12 mars 2010, 14:42

Bonjour.

A faire :

- Récupérer la requête avec echo $strSQL; et la passer "à la main" (dans phpMyAdmin, par exemple) pour vérifier qu'elle retourne ce qui est attendu.
- Dans la boucle WHILE, mettre un var_dump($tabl_result); (attention, il faut tester sur un petit nombre de données) pour voir le contenu du tableau.
- Supprimer le mysql_data_seek. Je ne pense pas qu'il cause le problème, mais je ne pense pas non plus qu'il soit utile...

Mysql: Pb sur récupération d'un champ varchar

par Wild » 12 mars 2010, 11:06

Bonjour,
bon mon problème doit être trivial mais j'y suis depuis plusieurs heures et je ne vois pas ce qui cloche même en le tournant dans tous les sens..

Dans le code ci-dessous la valeur de la variable $nom_image est toujours égale à '', or ce n'est pas le cas dans la table!!!
Pourquoi je n'arrive pas à récupérer le nom de l'image stoqué dans le champ [Image_Background] de la table pages...

Merci par avance de m'éclairer sur le sujet..
// --------------------------------------------------------------------------------------------------------------------------
// Affiche l'image du background.
function affiche_image_background($idpage) {

	// Retourne par défaut le script d'images aléatoires
	$image_retour = 'lib/random_image.php';
	
	// Sélectionne la page en cours
	$strSQL = 'SELECT `Image_Background` FROM `pages` WHERE `Id_page` = '.$idpage;
	$resultat = requete_SQL($strSQL);
	$tabl_result = mysql_fetch_array($resultat);

	$nom_image='';
	
		/*
	if (mysql_num_rows($resultat) > 0) {
		$nom_image.=''.$tabl_result['Image_Background'];
		echo $nom_image;
		if ($nom_image != '') {
			$image_retour = 'img/fullscreen_background/'.$nom_image;
		}
	}
		*/
	
	mysql_data_seek($resultat,0);
	
	while ($tabl_result = mysql_fetch_array($resultat)) {
		$nom_image = $tabl_result['Image_Background'];
		if ($nom_image != '') {
			$image_retour = 'img/fullscreen_background/'.$nom_image;
		}		
	}

	
	return $image_retour;
}