Affichage résultat requête ds tableau dynamiq

Résolu/Fermé
mehdi9833 Messages postés 88 Date d'inscription vendredi 16 octobre 2009 Statut Membre Dernière intervention 23 mars 2010 - 8 déc. 2009 à 12:21
mehdi9833 Messages postés 88 Date d'inscription vendredi 16 octobre 2009 Statut Membre Dernière intervention 23 mars 2010 - 8 déc. 2009 à 14:14
Bonjour à tous,

Voici mon probléme :

Je souhaite afficher le résultat d'une requête (portant sur une base mysql). La requête fonctionne parfaitement. Je voudrai ensuite afficher le résultat dans un tableau php en dessous, de façon à ce que le nombre de lignes et de colonne soit déterminés automatiquement en fonction du résultat.
Mon tableau contiendrait 7 colonnes car 7 champs à afficher,comment recuperer le contenu de tous les champs du table d'une base des donnees et les afficher dans un tableau.
Voici une ébauche de mon code :

<html>
<head><title>tableau dynamique </title></head>
<body>
<?php
//parametres de connexion
$machine="localhost";
$utilisateur="root";
$nom_base="catmat";
//connexion au SGBD Mysql
$con=mysql_connect($machine,$utilisateur) or die ('Erreur : '.mysql_error() );

//s'il y a de connection
//selection de la base des donnees
mysql_select_db($nom_base);
// requête SQL qui compte le nombre total d'enregistrement dans la table et qui //
//récupère tous les enregistrements //

$query='SELECT `strCode` , `strLibelle` , `strLigneProduit` , `strFabricant` , `strTypeProduit` , `prixHT` , `strClasseProduit` FROM articles;';
$resultat=mysql_query($query,$con) or die (mysql_error());;
$total=mysql_num_rows($resultat);//donne le nombre de ligne //
// si on a récupéré un résultat on l'affiche. //

if($total) {
//debut du tableau
echo'<table bgcolor="#FFFFFF">'."\n";
// première ligne on affiche les champs //

echo '<tr>';
echo '<td bgcolor="#669999"><b><u>Code article</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Libelle</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Catégorie article</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Fabricant</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Type article</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Prix HT</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Classe article</u></b></td>';
echo '</tr>'."\n";
// lecture et affichage des résultats sur 8 colonnes, 1 résultat par ligne. //
while($row=mysql_fetch_array($resultat))
{
echo '<tr>';
echo '<td bgcolor="#CCCCCC">'.$row["Code article"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["Libelle"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["Catégorie article"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["Fabricant"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["Type article"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["Prix HT"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["Classe article"].'</td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
// fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette table...';

// on libère le résultat
mysql_free_result($resultat);
?>
</body>
</html>

MERCI d'avance

2 réponses

Narkos Messages postés 27 Date d'inscription vendredi 4 septembre 2009 Statut Membre Dernière intervention 17 janvier 2010 1
8 déc. 2009 à 12:32
Hello,

Voici un exemple: (modifie au besoin ;)
<?php
// connection à ta base mysql
$dbconnect = mysql_pconnect("nomsrv", "user", "pass");
mysql_select_db("basededonnee", $dbconnect);

// req
$req = "SELECT * FROM .... WHERE ... ORDER BY ... ASC";

// execution de la req
$req = mysql_query($req);

// comptage resultat
$count = mysql_num_rows($req);

// vérif si on affiche quelque chose
if($count > 0)
{
	// ouverture du tableau + en-têtes
	print "<table>
	<tr>
		<th>blabla1</th>
		<th>blabla2</th>
		<th>blabla3</th>
		<th>blabla4</th>
		<th>blabla5</th>
		<th>blabla6</th>
		<th>blabla7</th>
	</tr>";
	
	// boucle d'affichage des résultats
	while($res = mysql_fetch_array($req))
	{
		// affichage des 7 champs d'une ligne de la bdd
		print "<tr>
			<td>".$res['champ_msql1']."<th>
			<td>".$res['champ_msql2']."<th>
			<td>".$res['champ_msql3']."<th>
			<td>".$res['champ_msql4']."<th>
			<td>".$res['champ_msql5']."<th>
			<td>".$res['champ_msql6']."<th>
			<td>".$res['champ_msql7']."<th>
		</tr>";
	}
	
	// Fermeture du tableau
	print "</table>";
}
else
{
	// aucun resultat à afficher
	print "<p>Aucun résultat à afficher</p>";
}

// fermeture connection mysql
mysql_close();
?>


Voilà bonne continuation
0
mehdi9833 Messages postés 88 Date d'inscription vendredi 16 octobre 2009 Statut Membre Dernière intervention 23 mars 2010 4
8 déc. 2009 à 14:14
MERCIIIIIIII Narkos,sa marche impecable !!!! bonne journée
0