Cześć,
mam taki skrypt zawodów:
  1. <?php
  2. $title = 'Zawody';
  3.  
  4. if($_GET['action'] == 'sign_up')
  5. {
  6. $count = query('SELECT count(*) as ile FROM zawody');
  7. // && date('D', time()) != 'Sat' && date('D', time()) != 'Sun'
  8. if($count['ile'] + 1 <= 40)
  9. {
  10. if($player['bieg'] == 0)
  11. {
  12. $array['bieg'] = 1;
  13. query('INSERT INTO zawody SET user_id='.$player['id'].', time=unix_timestamp()');
  14. player_update($array);
  15. $text .= 'Zostałeś zapisany';
  16. }
  17. else
  18. {
  19. $text .= 'Już jesteś zapisany';
  20. }
  21. }
  22. else
  23. {
  24. $text .= 'Brak miejsc';
  25. }
  26. }
  27.  
  28. $lista = query('SELECT zawody.*, players.nick as nick FROM zawody
  29. INNER JOIN players on players.id=user_id ORDER BY bieg DESC', null, 'fetch_all');
  30.  
  31. $inx = 1;
  32. foreach($lista['fetch'] AS $zawody)
  33. {
  34. $text .= $inx++.'. <b>'.$zawody['nick'].'</b> '.$zawody['bieg'].'m <br>';
  35. }
  36.  
  37.  
  38. $text .= '<a href="index.php?page=zawody&action=sign_up">zapisz się</a>';
  39. ?>

funkcje:
  1. function calculateChance($int)
  2. {
  3. $rand = rand(0, 100);
  4.  
  5. if($rand <= $int)
  6. {
  7. return true;
  8. }
  9. else
  10. {
  11. return false;
  12. }
  13. }
  14.  
  15. function biegnij($szybkosc, $technika, $kondycja, $first = 0)
  16. {
  17.  
  18. $szybkoscSkut = floor($szybkosc/200*100);
  19. $technikaSkut = floor($technika/200*100);
  20. $kondycjaSkut = floor($kondycja/200*100);
  21.  
  22. $tor = array(60,90);
  23.  
  24. $value = 0;
  25.  
  26. if(calculateChance($szybkoscSkut)) $value += 30;
  27. if(calculateChance($technikaSkut)) $value += 30;
  28. if(calculateChance($kondycjaSkut)) $value += 30;
  29.  
  30.  
  31. $procentowyBieg = rand($value,100)/100;
  32. echo $first.'<br>';
  33. $bieg = $procentowyBieg * $tor[1];
  34. if($first > 0)
  35. {
  36. $first = floor($first);
  37. $bieg = rand($first+2, $first+7);
  38. }
  39. echo $bieg.'<br>';
  40. if($bieg < $tor[0]) $bieg = $tor[0];
  41.  
  42. return $bieg;
  43. }
  44. ?>

oraz linijkę w bazie:
  1. `bieg` decimal(4,2) NOT NULL,


i gdy cronem wykonam sobie ten bieg to wynik mi podaje w metrach np. 78.40 m czyli metrów,
a ja chciałbym by to się pojawiało w postaci minuty:sekundy,setne czyli np. 45:37,2
i zamiast odległości losowanej od 60 do 90 metrów będzie losowany czas w minutach od 24 minut do 30 minut,
czyli im mniejszy czas tym zawodnik ma lepszy rezultat
wie ktoś jak to zrobić? dam pomógł i z góry dzięki smile.gif