Requête spécifique

Répondre
papouche
le 31/08/2009 à 10:55
papouche
Bonjour,
je te joins ce que tu m'as demandé.

http://www.lephpfacile.com/wall/wall-1803.php
Merci pour ton aide
LA GLOBULE
le 02/09/2009 à 00:54
LA GLOBULE
Ok, donc pour le 1, tu as trouvé.

Pour le 2, a priori, il faut tout selectionner, puis tier en PHP.

<?php
$sql_2 = "SELECT ".
"id_compet, ".
"nature_compet, ".
"lieu_compet, ".
"style_compet, ".
"niveau_compet, ".
"class_compet, ".
"points_compet, ".
"NometPrenom ".
"FROM compet ".
"JOIN listing on listing.id = compet.id_compet ".
"ORDER BY id_compet";

$req_2 = mysql_query($sql_2) or die (mysql_error());


$tab_tmp = array();
while ($data_2 = mysql_fetch_object($req_2)) {
if (!in_array($data_2->id_compet, $tab_tmp)) {
echo $data_2->NometPrenom."\n";

$tab_tmp[] = $data_2->id_compet;
}
echo 'Position : '.$data_2->class_compet.' au '.$data_2->nature_compet.' ('.$data_2->lieu_compet.' / '.$data_2->style_compet.' / '.$data_2->niveau_compet.') avec '.$data_2->points_compet.' points'."\n";
}
?>


En fait, pour afficher le nom du compétiteur commme un titre, il te suffit d'utiliser un tableau temporaire comme je l'ai fais.

Quand tu recupères tes résultats SQL, tu testes si ton compétiteur se trouve dans ce tableau :
- si oui, c'est que tu as deja affiché un résultat de cette personne, donc tu n'as pas à la mettre en titre
- si non, c'est que tu dois mettre un titre (car tu affiches un nouveau compétiteur), et tu rentres ce competiteur dans le tableau.

Bien sur, cette technique n'est valable que si tu ordonnes tes résultats par compétiteur (au niveau SQL).

Voici ce que j'obtiens moi :

sylvain
Position : 2 au Coupe de la ville (Poitiers / impose / Dépt.) avec 6 points
paul
Position : 1 au Coupe de la ville (Dreux / perso / Dépt.) avec 8 points
alain
Position : 1 au Championnat du monde (Ankara / perso / Internat.) avec 10 points
Position : 7 au Coupe de la ville (Lyon / libre / Dépt.) avec 8 points
Position : 1 au Coupe de espagne (Madrid / perso / Nat.) avec 10 points
Position : 1 au Coupe de la ville (Paris / perso / Nat.) avec 10 points
albert
Position : 1 au Coupe de la ville (Dreux / perso / Nat.) avec 5 points
Position : 1 au Championnat d'europe (RIO / libre / Internat.) avec 5 points
Position : 4 au Coupe de la ville (Tours / perso / Dépt.) avec 9 points
Mickael
Position : 5 au Coupe de la ville (Villeubanne / libre / Dépt.) avec 6 points
fred
Position : 3 au Coupe de la ville (Quiper / perso / Dépt.) avec 6 points
Vincent
Position : 3 au Coupe de la ville (Poitiers / impose / Dépt.) avec 5 points
marc
Position : 3 au Coupe de la ville (Rennes / libre / Dépt.) avec 5 points
Franck
Position : 5 au Coupe de la ville (Caen / libre / Dépt.) avec 8 points
Brice
Position : 6 au Coupede la ville (Lille / impose / Dépt.) avec 9 points
Samuel
Position : 1 au Coupe de la ville (Grenoble / perso / Dépt.) avec 10 points
marcel
Position : 1 au Coupe de la ville (Lille / impose / Nat.) avec 1 points
Position : 1 au Coupe de la ville (marseille / impose / Nat.) avec 1 points
Position : 2 au Coupe du monde (Bucarest / imposé / Internat.) avec 1 points
Adrien
Position : 6 au Coupe de la ville (Metz / libre / Dépt.) avec 10 points
Lucien
Position : 5 au Coupe de la ville (strabourgs / impose / Dépt.) avec 9 points
bernard
Position : 5 au Coupe de la ville (Nice / libre / Dépt.) avec 8 points
Etienne 2
Position : 6 au Coupe de la ville (Bourg en bresse / libre / Dépt.) avec 9 points
Romain
Position : 6 au Coupe de la ville (marseille / libre / Dépt.) avec 2 points
Roy
Position : 3 au Coupe de la ville (Nantes / perso / Dépt.) avec 6 points
Anaïs
Position : 5 au Coupe de la ville (Nancy / perso / Dépt.) avec 5 points
Thomas
Position : 5 au Coupe de la ville (Dieppe / perso / Dépt.) avec 4 points
Position : 1 au Coupe de la ville (Lyon / imposé / Dépt.) avec 12 points
Nicolas
Position : 4 au Coupe de la ville (Tours / impose / Dépt.) avec 8 points
Johnny
Position : 5 au Coupe de la ville (Poitiers / libre / Dépt.) avec 8 points
Position : 5 au Coupe de la ville (Lyon / impose / Dépt.) avec 8 points
Position : 5 au Coupe de la ville (Créteil / libre / Dépt.) avec 8 points
Position : 5 au Coupe de la ville (paris / libre / Dépt.) avec 8 points


Ce qui ressemble pas mal à ce que tu souhaites.

PS : désolé pour les bugs utf8, mon terminal linusque est en latin1.
papouche
le 02/09/2009 à 06:15
papouche
Merci pour ton aide.
Je vois cela dans la journée et te tiens au courant.
Bonne journée
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours