PHP et HTML ( présentation base sous forme de table)

Petit nouveau ! | 5 Messages

18 oct. 2006, 19:21

Salut à tous!
J'aimerais présenter des enregistrements d'une table dans une page HTML(sous forme de table).

la table: cities et 3 champs: city_id, city_name, population.
...

La requète:
$sql = "SELECT city_id, city_name,population FROM cities";
 $rs = mysql_query($sql, $con);
L'en-tête de la table
print("<table border='1'>"<tr><td>id de la ville</td><td>nom de la ville</td><td>population</td></tr>");
je souhaite dans la suite que la table se remplisse
while ($row = mysql_fetch_assoc($rs)) {
print("<tr><td>$row['city_id']</td><td>$row['city_name']</td><td>$row['population']</td></tr>");
}

print("</table>");
La requête fonctionne certainement car lorsque je demande l'affichage de $row['city_id'], $row['city_name'] et $row['population'], le résultat est bon. Donc c'est ma présentation en HTML sous forme de table qui cloche.

Alors HELP!
Tenor
...

ViPHP
ViPHP | 1961 Messages

18 oct. 2006, 19:28

Bonjour,
print("<table border='1'>"<tr><td>id de la ville</td><td>nom de la ville</td><td>population</td></tr>");
Normalement PHP devait te signaler une erreur de PARSE, tu as un guillemets de trop
print("<table border='1'><tr><td>id de la ville</td><td>nom de la ville</td><td>population</td></tr>"); 
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Invité
Invité n'ayant pas de compte PHPfrance

19 oct. 2006, 15:22

Merci Ajoloca!

Je me rends compte que j'ai ajouté une erreur de guillemets en trop en envoyant mon message. Dans mon script cette partie là ne pose pas problème. C'est certainement ma boucle qui cause problème. J'ai utilisé la même boucle juste sur l'en-tête de mon tableau, ça n'a pas causé de problème. Mon en-tête a été itéré sans problème. Mais lorsque je passe la boucle while(...) après l'en-tête du tableau HTML, je reçois une page blanche.
Si tu peux donc jetter un coup d'oeil sur cette boucle placée juste après l'en-tête.

Encore une fois merci

A tout à l'heure!

Tenor

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

19 oct. 2006, 16:05

Y a une erreur dans le print qui est dans la boucle while.
while ($row = mysql_fetch_assoc($rs)) {
print("<tr><td>$row['city_id']</td><td>$row['city_name']</td><td>$row['population']</td></tr>");
}
tu ne peux pas utiliser les ' ' pour désigner les index du tableau $row dans le cadre d'une chaîne de caractère.

Correction:
while ($row = mysql_fetch_assoc($rs)) { 
print("<tr><td>$row[city_id]</td><td>$row[city_name]</td><td>$row[population]</td></tr>"); 
}
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

19 oct. 2006, 20:20

Et au passage, de bons réflexes à prendre pour localiser les problèmes :
PHP+SQL : Etapes à suivre pour résoudre les problèmes

Invité
Invité n'ayant pas de compte PHPfrance

20 oct. 2006, 11:09

Merci Sadeq, ça marche!

Tenor

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

20 oct. 2006, 12:21

Merci ouckileou pour ce rappel trés important
Et j'ajouterai qu'il faut activer la notification des "Warning" erreurs de syntaxe dans PHP.ini quand on est en mode développement.

Par exemple, notre ami aurait reçu normalement un message d'erreur sur l'erreur qu'il avait dans sont PRINT :wink:
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène