Affichage tableau php/html

Résolu
wifi -  
ThEBiShOp Messages postés 8411 Date d'inscription   Statut Contributeur Dernière intervention   -
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 8411 Date d'inscription   Statut Contributeur Dernière intervention   1 566
 
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   Statut Membre Dernière intervention   20
 
C'est pas <th> et </th> qu'il faut mettre mais <td> et </td> ^^
1
ThEBiShOp Messages postés 8411 Date d'inscription   Statut Contributeur Dernière intervention   1 566
 
non cette partie de son tableau est correcte, mis à part le <tr/> qui devrait être </tr>
0
wifi > ThEBiShOp Messages postés 8411 Date d'inscription   Statut Contributeur Dernière intervention  
 
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   Statut Membre Dernière intervention   894
 
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 8411 Date d'inscription   Statut Contributeur Dernière intervention   1 566
 
Merci de passer ton message en "résolu" ;)
1