Affichage tableau php/html

Résolu/Fermé
wifi - 27 avril 2009 à 09:29
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 - 27 avril 2009 à 10:18
Bonjour,

je souhaite créer un tableau avec html table/tr/th et en php echo ... td ... le problème c'est que quand j'affiche ma première colonne ca s'affiche bine dans la colonne pos mais quand j affiche la deuxième colonne "ville" il s'affiche en dessous de pos et pas dans le th "ville" comment faire pour que chaque collone de mes requetes soient afficher dans chaque th

voici le code

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>resultats</title>
<link rel="stylesheet" type="text/css" href="style-result.css" />
</head>
<body>

<table>
<tr>
<th>POS.</th>
<th>VILLE</th>
<th>COUREURS</th>
<th>EQUIPE</th>
<th>POINTS</th>
<tr/>
<?php

define('DB_SERVER', 'localhost'); // serveur mysql
define('DB_SERVER_USERNAME', 'root'); // nom d'utilisateur
define('DB_SERVER_PASSWORD', ''); // mot de passe
define('DB_DATABASE', 'classement'); // nom de la base

$connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME,
DB_SERVER_PASSWORD)
or die('Impossible de se connecter : ' . mysql_error());
// sélection de la base de données
mysql_select_db(DB_DATABASE, $connect);



$sql = 'SELECT pos FROM general order by pos';
$req = mysql_query($sql);
while($resultat = mysql_fetch_assoc($req)){
foreach ($resultat as $valeur)

{
echo '<tr><td>'.$valeur.'</td></tr>';

}
}
$sql2 = 'SELECT ville FROM general';
$req2 = mysql_query($sql2);
while($resultat2 = mysql_fetch_assoc($req2)){
foreach ($resultat2 as $valeur2)

{
echo '<tr><td>'.$valeur2.'</td></tr>';

}
}

?>




</table>

</body></html>
<?php
mysql_close();
?>
A voir également:

4 réponses

ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
27 avril 2009 à 09:34
pour commencer tu n'as pas besoin de faire 2 requêtes pour ça, essaye quelque chose dans ce style :

$sql = 'SELECT pos, ville FROM general order by pos';
$req = mysql_query($sql);
while ($resultat = mysql_fetch_assoc($req)) {
  echo '<tr><td>'.$resultat['post'].'</td><td>'.$resultat['ville'].'</td></tr>';
} 
1
perreet Messages postés 230 Date d'inscription vendredi 30 janvier 2009 Statut Membre Dernière intervention 3 mai 2018 20
27 avril 2009 à 09:34
C'est pas <th> et </th> qu'il faut mettre mais <td> et </td> ^^
1
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
27 avril 2009 à 09:37
non cette partie de son tableau est correcte, mis à part le <tr/> qui devrait être </tr>
0
wifi > ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021
27 avril 2009 à 10:03
merci thebishop ca fonctionne nickel et vi j ai une tite erreur avec mon tr :-) je louche un peu
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
27 avril 2009 à 10:01
Non perreet il a raison il faut bien mettre <th> pour avoir des titres de colonnes en gras, c'est fait pour

et sa partie de code n'est pas correcte:
while($resultat2 = mysql_fetch_assoc($req2)){
foreach ($resultat2 as $valeur2)

{
echo '<tr><td>'.$valeur2.'</td></tr>';

}
}


car à chaque boucle foreach il fait un <tr> donc une nouvelle ligne

il faut soit faire comme dit TheBiShop

soit faire:

while($resultat2 = mysql_fetch_assoc($req2)){
echo '<tr>'; // une nouvelle ligne à chaque ligne de résultats
foreach ($resultat2 as $valeur2)

{
echo '<td>'.$valeur2.'</td>';

}
echo '</tr>';
}
1
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
27 avril 2009 à 10:18
Merci de passer ton message en "résolu" ;)
1