コード例 #1
0
ファイル: Medlem.php プロジェクト: krillo/motiomera
 /**
  * Gets winners
  * Krillo 2012-09-10
  * 
  * @global $db $db
  * @param type $date a date in the selected week
  * @param type $antal_medlemmar return this nbr of winners 
  * @param type $antal_steg  min nbr of steps to attend 
  * @param type $foretagList select only from these companys
  * @param type $prevWinners  select also from previous winners
  * @return type 
  */
 public static function getVeckoVinnare($date, $antal_medlemmar, $antal_steg, $foretagList, $prevWinners)
 {
     global $db;
     $jDate = new JDate($date);
     $monday = $jDate->getMonday();
     $sunday = $jDate->getSunday();
     if ($prevWinners) {
         $prev = ' ';
     } else {
         $prev = " AND a.veckotavling_status = 0 ";
     }
     $sql = "SELECT a.id, a.epost, a.aNamn, a.fNamn, a.eNamn, a.levelId, a.paidUntil, a.veckotavling_status, a.veckotavling_week, a.veckotavling_datum, a.veckotavling_price_text, SUM(steg) as steg, f.namn AS companyname, f.startdatum, f.slutdatum \n      FROM mm_medlem a, mm_steg b, mm_foretagsnycklar n, mm_foretag f   \n\t\t\tWHERE a.id = n.medlem_id \n      AND n.foretag_id IN ({$foretagList}) \n      AND n.foretag_id = f.id\n      {$prev} \n      AND a.id = b.medlem_id \n\t\t\tAND b.datum >= '" . $monday . "' \n\t\t\tAND b.datum <= '" . $sunday . "' \n      GROUP BY a.id \n      HAVING SUM(steg) >= '" . $antal_steg . "' ";
     //echo "<br>" . $sql;
     $medlemmar = $db->allValuesAsArray($sql);
     //print_r($medlemmar);
     if (count($medlemmar) > $antal_medlemmar) {
         $medlemmar = Misc::shuffle_assoc($medlemmar, 0);
         $medlemmar = array_slice($medlemmar, 0, $antal_medlemmar);
     }
     return Misc::shuffle_assoc($medlemmar, 0);
 }