8791 sujets

Développement web côté serveur, CMS

Bonjour

J'essaye d'espéremment d'afficher les infos d'une base tout bete et honte sur moi j'y arrive même pas, sans savoir pourquoi.

Voici la base :

http://images3.hiboox.com/vignettes/0208/mh3vs2jx.jpg

Et voila le code

<table border="1">
				<?php
					$sql = 'SELECT * FROM membres ORDER BY nom';
					$result = mysql_query($sql);
					while ($row = mysql_fetch_array($result)) {
						echo 'blabla';
						echo '<tr><td><img src="presentation/'.$row['photo'].'" /></td><td>'.$row['nom'].'</td></tr>';
					}
				?>
            </table>


Si quelqu'un sais où se trouve la coquille...
Modifié par Baldy (11 Jan 2008 - 13:56)
Salut à toi,

A vu d'oeil (imparfait au passage Smiley langue ), je ne vois pas d'erreur dans le présent code. Es-tu réellement certain d'avoir des enregistrements dans la table ? MySQL te renvoie t-il une erreur ?
Oui la table est crée comme le montre l'image, et il y a une ligne dedans. J'ai mis un echo avec du texte dedans juste après le WHILE et rien ne sort, donc ça voudrais dire que la requete ne renvoie aucun résultat (vu qu'il n'y a pas de message d'erreur). Pourtant il y a bien une ligne dans la table
Le mieux est d'essayer de debugguer correctement :

$query = "SELECT id, nom, photo FROM membres ORDER BY nom";
$result = mysql_query($query);
if($result) {
	if(mysql_num_rows($result)) {
		while ($row = mysql_fetch_assoc($result)) {
			echo $nom.'<br>';
		}
	} else {
		echo 'Aucun enregistrement';
	}
} else {
	echo 'Requete retourne False';
}
Merci pour le code Alphonse. Du coup il m'affiche :

a écrit :
Requete retourne False


Ce qui veut dire qu'il n'y a pas de résultat à ma requête?

Pourtant il y a bien une entrée dans la base de données Smiley eek
Dans l'exemple du code il n'y a pas la connexion à la base c'est normal ??
Sans connexion pas de résultats
Bien vu raph !

J'espèrais que ce code de connexion à la DB existe mais que baldy ait volontairement omis de copié/collé ce code... visiblement, il n'existe juste pas...
Si si il existe, mais j'apelle une page php via un include en début de fichier. Donc la page se connecte bien à la base.
pour comprendre pourquoi tu as un false tu peux mettre

$query = "SELECT id, nom, photo FROM membres ORDER BY nom";
$result = mysql_query($query) [b]or die($query);[/b]


et apres si tu vois pas pourquoi la requete echoue tu la copie colle dans une fenetre SQl de phpmyadmin ( si c'est ça que tu utilises ) et tu vois ce que ça donne a l'execution.
mais en même temps je regarde ta requete et aussi le petit screen_shot du 1er post.

je vois id d'un coté id_membre de l'autre alors......
Modifié par CPascal (11 Jan 2008 - 17:13)
Désolé pour le ID j'avais repris les indications de Alphonse sans les corriger.

Cela dit j'ai ajouté le "or die" que tu as mentionné et cela ne change rien, je n'ai toujours rien d'afficher sur la page. Mon fichier de connexion fonctionne bien, je l'utilise pour mon site actuel qui affiche bien lkes infos de la BDD.

Je suis dans le flou total la, impossibl de trouver l'erreur. C'est surement très con mais je vois pas Smiley bawling
si le die ne s'effectue pas c'est que la requete est bonne.

mais tu n'as plus le retourne false qui s'affiche?

sinon c'est bizarre.

tu as essayé un var_dump du $result?

tu peux nous re-montrer le code qui ne marche pas dans son état actuel?

c'est peut-etre une erreur dans l'affichage des résultats plutôt que dans la requete.
Bon ba ça fonctionne. J'ai du toucher au truc qui merdait et la passe.

Merci à tous ceux qui sont venus m'aider Smiley biggrin