Tableau dans requete sql sans répéter les titres

juniords69
Invité n'ayant pas de compte PHPfrance

19 mai 2013, 22:23

Bonjour à tous !

Un petit problème m'agace depuis un moment.

Je voudrais afficher les résultats d'une requête dans un tableau.

Le problème est que les titre de mon tableau se répète à chaque ligne. Voici mon code :
$reponse = $bdd->prepare("SELECT .......FROM..............WHERE nom=?");
			$reponse->execute(array($_GET['nom'],));
			while ($donnees = $reponse->fetch())
{
					?>		
	<table>
						<tr>
					<th>titre1</th>
                                        <th>titre2</th>
                                        <th>titre3</th>
						</tr>
 
						<tr>
					<td>......</td>																
					<td>......</td>
                                        <td>......</td>
						</tr>
   
</table>		
				
		<?php	
			}

			$reponse->closeCursor(); 
			
			?>


Et j'obtiens :

titre1 titre2 titre3
..... ...... ......
titre1 titre2 titre3
...... ...... .......

J'aimerais afficher :

titre1 titre2 titre3
...... ...... ......
...... ...... ......


Comment faire pour que les titres du tableau ne s'affiche qu'une seule fois?

Merci de votre aide

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

19 mai 2013, 22:28

salut,


sort la déclaration de la table et l'entête dde la boucle while
=> <table>
<tr>
<th>titre1</th>
<th>titre2</th>
<th>titre3</th>
</tr>
while ( ) {

<tr><td></td>/<tr> ..

@+
Il en faut peu pour être heureux ......

juniords69
Invité n'ayant pas de compte PHPfrance

19 mai 2013, 22:35

Merci de ta réponse,

mais au dessus du code que j'ai mis j'ai une autre requête donc si je sors les titres de la requête, ils s'affichent après la précédente.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

19 mai 2013, 23:01

si tu monter le code réel se sera plus simple.

Mais de toute façon la déclaration de la table (html) et l'entête ne peuvent pas être dans la boucle qui affiche les données.


@+
Il en faut peu pour être heureux ......

juniords69
Invité n'ayant pas de compte PHPfrance

20 mai 2013, 22:55

voici
<?php																							
	try
	{
	$bdd = new PDO('mysql:host=localhost;dbname=....', 'root', '');								
	}
	catch(Exception $e)
        {
	die('Erreur : '.$e->getMessage());
	}
	$reponse = $bdd->prepare("SELECT journee, joueur, ballons_joues, ballons_gagnes, ballons_perdus, passes_reussies, tirs_cadres, temps_de_jeu
				FROM stats_joueurs
				WHERE joueur=?								
				ORDER BY journee");
			
	$reponse->execute(array($_GET['joueur'],));
			
	while ($donnees = $reponse->fetch())
			
	{
	?>
	<table>
		<tr>
		        <th class ="journee">journée</th>																			
			<th class ="ballons_joues">ballons joués</th>
			<th class ="ballons_perdus">ballons perdus</th>
			<th class ="passes_reussies">passes reussies</th>
			<th class ="tirs_cadres">tirs_cadres</th>
			<th class ="temps_de_jeu">temps_de_jeu</th>
		</tr>
						
		<?php	if ($donnees['temps_de_jeu'] > 0) {                                                 // Si le joueur à joué le match
						
		<tr>
			<td><?php echo $donnees['journee']; ?></td>																
			<td><?php echo $donnees['ballons_joues']; ?></td>
			<td><?php echo $donnees['ballons_perdus']; ?></td>
			<td><?php echo $donnees['passes_reussies']; ?></td>
			<td><?php echo $donnees['tirs_cadres']; ?></td>						
			<td><?php echo $donnees['temps_de_jeu']; ?></td>
		</tr>
   }
		<?php	if ($donnees['temps_de_jeu']==0) {						// Si le joueur n'à pas joué le match
				
		<tr>
			<td><?php echo $donnees['journee']; ?></td>																
			<td COLSPAN=5><?php echo "n'a pas joué ce match" ?></td>
		</tr>
   }
	</table>
				
				
<?php	
	}

	$reponse->closeCursor(); 
			
	?>


La évidemment ça ne fonctionne pas mais c'est ce que j'aimerais faire.

Dans ma table sql, il y aura par exemple:

joueur journee ballons_joues ballons_gagnes ballons_perdus passes_reussies tirs_cadres temps_de_jeu
falcao 1 40 30 10 20 3 90
falcao 2 0 0 0 0 0 0
falcao 3 50 40 8 20 4 80


Ce qui devrait afficher :

journee ballons_joues ballons_gagnes ballons_perdus passes_reussies tirs_cadres temps_de_jeu
1 40 30 10 20 3 90
2 n'a pas joué ce match
3 50 40 8 20 4 80


Merci de ton aide