par
Sebe » 27 oct. 2007, 00:18
Bonjour,
J'essaye de faire un composant (joomla!) qui permettrait de gérer des classement de course à pied ... je coince sur une requête qui me permettrait d'afficher toutes les courses d'une année pour un coureur !
Dans un 1er temps, en fonction de l'année et de l'id du participant, je récupère son dossard:
$id=21;
$année=2004;
$query = "SELECT *"
. "\n FROM #__classement_chang"
. "\n WHERE participant_id = $id AND annee = $annee"
;
$database->setQuery( $query );
$database->loadObject($runner);
$dossard = $runner->dossard;
echo '<br/>$dossard = ' . $dossard;
Jusque là c'est bon ... c'est le bon dossard qui s'affiche !
Ensuite grâce à l'année et au dossard, je voudrais afficher tous les classements dans lesquels le coureur apparaît :
$query = "SELECT clas.id as clas_id, clas.course_id, clas.dossard as dossard_course, clas.temps, clas.place, clas.moyenne, clas.point, clas.vitesse, "
. "\n course.id as course_id, course.course, course.date as days, course.pat_chal, course.lieu, course.kilometrage, course.nbre_part, course.epreuve_id"
. "\n FROM #__classement AS clas"
. "\n INNER JOIN #__classement_course AS course"
. "\n WHERE DATE_FORMAT(course.date,'%Y') = '" . (int)$annee . "' AND clas.dossard = '" . (int)$dossard . "'"
. "\n ORDER BY course.date ASC"
;
$database->setQuery( $query );
$claslist= $database -> loadObjectList();
Le problème est qu'un même classement s'affiche plusieurs fois et des coureurs différents (d'un classement à l'autre) apparaissent en plus ... je me doute bien que j'ai foiré quelque part mais je ne vois pas où !
Si quelqu'un avait une idée pour faire avancer l'animal, ce serait sympa ... merci
Bonjour,
J'essaye de faire un composant (joomla!) qui permettrait de gérer des classement de course à pied ... je coince sur une requête qui me permettrait d'afficher toutes les courses d'une année pour un coureur !
Dans un 1er temps, en fonction de l'année et de l'id du participant, je récupère son dossard:
[php]$id=21;
$année=2004;
$query = "SELECT *"
. "\n FROM #__classement_chang"
. "\n WHERE participant_id = $id AND annee = $annee"
;
$database->setQuery( $query );
$database->loadObject($runner);
$dossard = $runner->dossard;
echo '<br/>$dossard = ' . $dossard;[/php]
Jusque là c'est bon ... c'est le bon dossard qui s'affiche !
Ensuite grâce à l'année et au dossard, je voudrais afficher tous les classements dans lesquels le coureur apparaît :
[php]$query = "SELECT clas.id as clas_id, clas.course_id, clas.dossard as dossard_course, clas.temps, clas.place, clas.moyenne, clas.point, clas.vitesse, "
. "\n course.id as course_id, course.course, course.date as days, course.pat_chal, course.lieu, course.kilometrage, course.nbre_part, course.epreuve_id"
. "\n FROM #__classement AS clas"
. "\n INNER JOIN #__classement_course AS course"
. "\n WHERE DATE_FORMAT(course.date,'%Y') = '" . (int)$annee . "' AND clas.dossard = '" . (int)$dossard . "'"
. "\n ORDER BY course.date ASC"
;
$database->setQuery( $query );
$claslist= $database -> loadObjectList();[/php]
Le problème est qu'un même classement s'affiche plusieurs fois et des coureurs différents (d'un classement à l'autre) apparaissent en plus ... je me doute bien que j'ai foiré quelque part mais je ne vois pas où !
Si quelqu'un avait une idée pour faire avancer l'animal, ce serait sympa ... merci