LennartMart / Intraclub

PHP-programma voor organisatie intraclub van BC Landegem
www.bclandegem.be
1 stars 0 forks source link

Tonen van rankings: wie wel/ niet? #15

Closed LennartMart closed 11 years ago

LennartMart commented 11 years ago

Probleem is dat tijdens seizoen spelers kunnen afhaken => geen lid meer.

Bij getRankings: join met spelers met is_lid = 1.

Bij oudere seizoenen: Haal enkel deze spelers op, die voor de toenmalige laatste speeldag een gemiddelde hebben.

Edit: gewoon voor alle seizoenen: Haal de laatste speeldag op van seizoen, en toon de spelers die daarvoor een gemiddelde hebben!

LennartMart commented 11 years ago

Wat bij begin van het seizoen?

Twee uitzonderingen:

Indien geen speeldagen => ranking op basis van basispunten spelerperseizoen Indien speeldag 1 => ranking op basis van gemiddelde + verschil met ranking op basispunten spelerperseizoen

TO DELETE: spelerperseizoen : huidige punten

LennartMart commented 11 years ago

Get_seizoenen en get_speeldagen : Ordenen op ID !!

Indien checkSpeeldagEnSeizoen null teruggeeft:

if($speeldag_id == null)
{
    //ophalen vorige seizoen met get_seizoenen, hiervan voorlaatste nemen
    //van vorige seizoen laatste speeldag +voorlaatste speeldag ophalen, hierop weer query uitvoeren voor vorige
    // => ALLES IN één query!
    // Indien geen vorig seizoen te vinden is: query met enkel basispunten
}
//get speeldag
if($speeldag->speeldagnummer == 1)
{
   //Query = punten vorige = basispunten
}

else
{
  //Gewone query
}
LennartMart commented 11 years ago
//BasisQuery
$query = sprintf("SELECT ISP.id AS speler_id, ISP.naam AS naam, ISP.voornaam as voornaam, ISP.geslacht AS geslacht, ISP.jeugd as jeugd,ISPS.gemiddelde AS gemiddelde
                                  FROM  intra_spelerperspeeldag ISPS
                                  INNER JOIN intra_spelers ISP ON ISP.id = ISPS.speler_id
                                  WHERE (
                                          ISPS.speeldag_id = '%s'
                                        )
                                  ORDER BY gemiddelde DESC;",
                                  mysql_real_escape_string($speeldag_id));

$queryvorig = 0;
//uit eerste if
// haal seizoenen op, recentste eerst
$seizoenen = $seizoen->get_seizoenen();

if(count($seizoenen) > 1) {
$seizoen->id = $seizoenen[1]->id;
$speeldagen = $seizoen-> getspeeldagen();
end($speeldagen);
$speeldag = prev($speeldagen);
$queryvorig = sprintf("SELECT ISP.id AS speler_id, ISPS.gemiddelde AS gemiddelde
                                  FROM  intra_spelerperspeeldag ISPS
                                  INNER JOIN intra_spelers ISP ON ISP.id = ISPS.speler_id
                                  WHERE (
                                          ISPS.speeldag_id = '%s'
                                        )
                                  ORDER BY gemiddelde DESC;",
                       mysql_real_escape_string($speeldag->id));
}

// einde eerste if
//else
$speeldag = new Speeldag();
$speeldag->get($speeldag_id);
if(speeldag->speeldagnummer == 1){

$queryvorig = "SELECT ISP.id AS speler_id, ISPS.basispunten AS gemiddelde
                                  FROM  intra_spelerperseizoen ISPS
                                  INNER JOIN intra_spelers ISP ON ISP.id = ISPS.speler_id
                                  ORDER BY gemiddelde DESC;";
}
else
{
}