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

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Tableau dans requete sql sans répéter les titres

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

par juniords69 » 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

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

par moogli » 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.


@+

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

par juniords69 » 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.

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

par moogli » 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> ..

@+

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

par juniords69 » 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