Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Proste Lotto - problemy
DestiX
post
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 17.04.2010

Ostrzeżenie: (10%)
X----


Witam, potrzebuje zrobić skrypt php, który będzie miał za zadanie wylosować 6 liczb i porównać z liczbami podanymi przez użytkownika a na koniec będzie musial wyświetlić ile liczb zostało trafionych. Coś tam mi się udało napisać ale niestety nie działa, nie mam pojęcia w czym jest błąd dlatego też piszę tutaj.

Oto ten skrypcik:
  1. <html>
  2. <head>
  3. <title>Lotto</title>
  4. </head>
  5. <body>
  6. <form>
  7. 1: <input type=text name="a"/><br />
  8. 2: <input type=text name="b"/><br />
  9. 3: <input type=text name="c"/><br />
  10. 4: <input type=text name="d"/><br />
  11. 5: <input type=text name="e"/><br />
  12. 6: <input type=text name="f"/><br />
  13. <input type=submit name=losowanie value="Losuj"/>
  14. </form>
  15.  
  16. Trafione: <br />
  17. <?php switch($_GET['losowanie'])
  18. {
  19. case "Losuj":
  20. for($i=1; $i<=6; $i++)
  21. {
  22. $los[i] = rand(1,49);
  23. echo $los;
  24. }
  25. break;
  26. default:
  27. break;
  28. }
  29. for($x=1; $x<=6; $x++)
  30. {
  31. if ($_GET['a'] == $los[i])
  32. $wynik=$wynik+1;
  33. elseif ($_GET['b'] == $los[i])
  34. $wynik=$wynik+1;
  35. elseif ($_GET['c'] == $los[i])
  36. $wynik=$wynik+1;
  37. elseif ($_GET['d'] == $los[i])
  38. $wynik=$wynik+1;
  39. elseif ($_GET['e'] == $los[i])
  40. $wynik=$wynik+1;
  41. elseif ($_GET['f'] == $los[i])
  42. $wynik=$wynik+1;
  43. break;
  44. }
  45. echo $wynik;
  46. ?>
  47. </body>
  48. </html>


Będę wdzięczny, jeżeli komuś uda się to poprawić, dodatkowo dodam, że lekcje php zacząłem niedawno dlatego też ten skrypt jest napisany w bardzo prymitywny sposób (IMG:style_emoticons/default/tongue.gif) .

Pozdrawiam.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
YourFrog
post
Post #2





Grupa: Zarejestrowani
Postów: 124
Pomógł: 22
Dołączył: 10.01.2014

Ostrzeżenie: (0%)
-----


Można również użyć wbudowanych w php funkcji. Na ile takie losowanie jest rzeczywiście losowe to nie wiem.

  1. <?php
  2.  
  3. /**
  4.  * Przykładowa klasa imitująca losowania lotto
  5.  * @author Paweł Stelmasiak <YourFrog>
  6.  */
  7. class Lotto
  8. {
  9.  
  10. /**
  11. * Zwraca tablice z wylosowanymi liczbami dla dużego lotka
  12. * @return array
  13. */
  14. static public function getBigNumber()
  15. {
  16. return self::randomize(47, 6);
  17. }
  18.  
  19. /**
  20. * Zwraca tablicę z wylosowanymi liczbami dla multilotka
  21. * @return array
  22. */
  23. static public function getMultiNumber()
  24. {
  25. return self::randomize(80, 20);
  26. }
  27.  
  28. /**
  29. * Zwraca tablicę z pomieszanymi liczbami
  30. * @param integer $elementCount Ilość elementów w puli
  31. * @param integer $count Ilość elementów do zwrócenia
  32. */
  33. static protected function randomize($elementCount, $count)
  34. {
  35. $arr = range(1, $elementCount);
  36. shuffle($arr);
  37. array_splice($arr, $count);
  38.  
  39. return $arr;
  40. }
  41. }
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.09.2025 - 16:46