affichage données simple?

Invité
Invité n'ayant pas de compte PHPfrance

17 déc. 2007, 22:06

bonjour,
je n'arrive pas à afficher simplement des données, voilà le script:
<?php
include 'connexion.php';
$sql = mysql_query("SELECT jour FROM calendar");
$donnees = mysql_fetch_assoc($sql);
?>
<br>
<center><img src="image/calenjour.jpg">&nbsp;<strong><font color="#000000" face="Book Antiqua"><?php echo $donnees['jour']; ?>

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

17 déc. 2007, 22:31

Bonjour,

Quel est le problème?
Quand tout le reste a échoué, lisez le mode d'emploi...

Invité
Invité n'ayant pas de compte PHPfrance

17 déc. 2007, 23:22

echo $donnes['jour'] n'affiche RIEN.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

17 déc. 2007, 23:45

Quand une requête SQL se trouvant dans un code PHP ne fonctionne pas correctement, on commence toujours par exécuter la requête SQL seule (dans PhpMyAdmin par exemple). Il se pourrait qu'elle ne retourne aucun résultat.

Si cette requête seule fonctionne correctement, on contrôle le retour de la requête. A ce niveau, il y a plusieurs choses à regarder :
_Tu ne contrôle pas l'exécution de ta requête. Si elle a échoué, $sql contient false
_Tu ne contrôle pas que la requête ai retourné au moins un résultat. Pour cela, soit tu vérifies le nombre de ligne retourné avec mysql_num_rows($sql) (qui va te retourner le nombre de ligne sélectionnées dans ta requête), soit tu mets en place un while() qui va te parcourir les éventuelles plusieurs lignes retournées.

Un exemple de correction serait le suivant :
<?php
include 'connexion.php';

// Il est mieux de sortir les requêtes pour pouvoir les afficher simplement
$str_requete = "SELECT jour FROM calendar";
$sql = mysql_query( $str_requete );

if( $sql === false ) {
	echo "Erreur lors de l'exécution de la requête";
} else {
	// Si la requête n'a retournée aucune ligne
	if( mysql_num_rows($sql) == 0 ) {
		echo "La requête n'a retournée aucune ligne";
	} else {
		// Récupération de la ligne
		$donnees = mysql_fetch_assoc($sql);
		// Affichage des données
?>
<br>
<center><img src="image/calenjour.jpg">&nbsp;<strong><font color="#000000" face="Book Antiqua"><?php echo $donnees['jour']; ?>
<?php
	}
}
?>
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

Mammouth du PHP | 881 Messages

18 déc. 2007, 04:31

echo $donnes['jour'] n'affiche RIEN.
Petit détail important: de la continuité dans tes variables.
$donnes n'est pas égal à $donnees Il n'y qu'un e de différent, mais ce sont deux mondes.
Soyez artisans de paix

Invité
Invité n'ayant pas de compte PHPfrance

18 déc. 2007, 17:07

Ok, merci de ces précieux conseils, Zeus, cela fonctionne à présent.
En fait, grace à la vérification de la requète, j'ai pu constater que ma table
était mal renseignée car le script ne retournait rien. J'ai revu la table et tout
est ok maintenant. Encore merci. :wink:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

18 déc. 2007, 17:18

Modération :
Puisque ta question est résolue, j'ajoute le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.

Tu peux réaliser cette opération toi-même
en cliquant sur le bouton Image qui s'affiche en haut à gauche de ce sujet
si tu as posté le 1er message en tant que membre (inscrit et identifié).

Alors... inscris-toi !!! ;)
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