Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] punktacja zależna od miejsca
Forum PHP.pl > Forum > Przedszkole
@rtur
jest sobie lista miejsc od 40 do 1. Za pierwsze 15 miejsc jest przyznawana punktacja. 15 miejsce - 1 pkt, 14 - 2, 13 - 3, ... 2 - 14 pkt, 1 - 15 pkt, jak teraz to pokazać kto ma ile punktów za miejsce, zastosować if czy jakoś prościej to można by zrobić?

  1. if($miejsce==1){$pkt='15';}
  2. if($miejsce==2){$pkt='14';}
  3. ....
  4. if($miejsce==13){$pkt='3';}
  5. if($miejsce==14){$pkt='2';}
  6. if($miejsce==15){$pkt='1';}
nospor
yyyy.... czyżby na matematykę się nie chodziło?

$pkt = 16-$miejsce;
I już
Sephirus
Jeśli miejsc jest 40 a punktowane pierwsze 15 to dokładniej:

  1. $pkt = 16 - $miejsce > 0 ? 16 - $miejsce : 0;


wink.gif
nospor
No to skoro już się czepiamy szczegółów, to czemu liczysz dwa razy to samo?
$pkt = $miejsce <= 15 ? 16 - $miejsce : 0;

tongue.gif
Sephirus
Oj tam oj tam ;P wiadomo o co chodzi - z lenistwa tongue.gif

  1. $pkt = 16 - $miejsce;
  2. if($pkt < 0) $pkt = 0;


bez zbędnych komplikacji tongue.gif
nospor
$pkt = 16 - $miejsce;
if($pkt < 0) $pkt = 0;

Widzisz, ja na początku tego nie podałem, gdyż liczyłem na inteligencję odbiorcy, który to już ten banalny kawałek kodu ewentualnie doda sobie sam. No ale widzę, ty nie wierzysz w inteligencję użytkowników tego forum.... Jesteś bardzo niemiły tongue.gif
Sephirus
Czemu od razu niemiły smile.gif Powinieneś napisać "twoje podejście jest mało edukacyjne" tongue.gif Z tym bym się zgodził wink.gif
nospor
Ok, a więc twoje podejście jest mało edukacyjne nastawione głównie na czepialstwo, chęć zdobycia punkcika, wykiwanie urzędu skarbowego oraz obrabowanie 3 banków wink.gif *

*dobra, koniec żartów smile.gif
Sephirus
"Only God can judge me" smile.gif

Punkciki (z tego co mi wiadomo) nic nie dają - chyba że o czymś nie wiem... Więc po co je zbierać? Mi tam na nich nie zależy - nigdy się o nie nie upominam a wręcz przeciwnie. Więc niestety pudło pod tym kątem - czepialstwo - tu się zgadzam niestety biggrin.gif Ale koniec to koniec smile.gif Nie ma co spamować. Over&Out!
@rtur
Dziękuje, wprawdzie wpadłem już po 1 odpowiedzi nospor, ale obaj dostajecie punkciki smile.gif
Działa idealnie jeśli ustawie odliczanie od 1 miejsca do 30, tyle że zapomniałem dodać że u mnie jest ustawione odwrotnie. od 30 do 1 i tu już 30 daje 15 pkt, gubi miejsce z 14 punktami, 13 miejsce ma 1 punkt, 12 miejsce 2 pkt, .... 2 miejsce 12 pkt, 1 miejsce 13 pkt. I nie wiem brakuje mi pomysłu jak to poprawić aby zliczało oki sad.gif
  1. foreach ($matches as $val) {
  2. $pkt = 15-$miejsce;
  3. if($pkt <= 0) $pkt = 0;
  4. $miejsce=$val[1];
  5. echo $miejsce.' miejsce, ';
  6. echo $pkt." pkt w top 15\n<br />" ;
  7. }
nospor
No ale to znowu jest banalna matematyka.....

  1. $miejsce = 30;
  2.  
  3. $pkt = 15-$miejsce;
  4. if ($pkt < 0) $pkt=abs($pkt);
  5. else $pkt = 0;
  6. echo $pkt;
  7.  
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.