Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Średnia
carck3r
post 2.01.2009, 19:41:21
Post #1





Grupa: Zarejestrowani
Postów: 40
Pomógł: 2
Dołączył: 9.11.2008

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


Witam
Napisałem sobie małą stronę do obliczania średniej, jednak nie wiem jak tą średnią obliczyć biggrin.gif.
http://www.czymail.yoyo.pl
Na stronie można dojść do strony /przedmioty_step_2.php i dalej jest pusta strona. Dlaczego? Bo nie wiem jak obliczyć średnią.
Kod przedmioty_step_2.php:
  1. <?php
  2. require('config.php');
  3. include('gora.txt');
  4.  
  5.  
  6. // podzielenie przedmiotów i włożenie do tablicy
  7. $tablica = explode(" ",$przedmioty);
  8.  
  9. // obliczenie ilości przedmiotów
  10. $ilosc = count($tablica) - 1;
  11. $ilosc2 = count($tablica);
  12.  
  13. // wypisanie ilości przedmiotów
  14. echo '<div style="background-color: #fff7d9">Ilość przedmiotów: <span style="color: red; font-weight: bold">'.$ilosc2.'</span><br /></div>';
  15.  
  16. echo "<div style='background-color: #fffdf4'><br />Wypisz oceny w skali od 1 do 6.<br /></div>";
  17.  
  18. ?>
  19. <form action="srednia.php" method="post">
  20. <?php
  21. for ($i=0;$i<=$ilosc;$i++)
  22. {
  23. echo "<div style='background-color: #fffdf4'>$i. ".'<span style="font-size: 14px;color: green;font-weight: bold">'.strtoupper($tablica[$i]).'</span>'." - <span style='font-weight: bold'>Twoja ocena:</span> "."<input type='text' maxlength='1' size='1' name='$tablica[$i]' /><br /><br />\n</div>";
  24. }
  25. ?>
  26. <input type="submit" value="Oblicz średnią!">
  27. </form>
  28. <?php
  29. include('dol.txt');
  30. ?>

config.php:
  1. <?php
  2. $DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
  3. $nick = $_POST['nick'];
  4. $przedmioty = $_POST['przedmioty'];
  5.  
  6. ?>

Jak widać w pliku przedmioty_step_2.php użyłem pętli do wyświetlania przedmiotów. Teraz nie mam pojęcia jak mogą nazywać się zmienne wprowadzone przez usera (bo np. Język Polski możesz zapisać jako: j.polski albo polski albo jezyk_polski etc.). W jaki sposób sprawdzić te zmienne?

Dzięki za odpowiedzi. Pozdrawiam.

edit:
Plik przedmioty.php:
  1. <?php
  2. include('gora.txt');
  3. require('config.php');
  4.  
  5. $sciezka = "$DOCUMENT_ROOT/pliki/$nick.txt";
  6. if(file_exists($sciezka))
  7. {
  8. echo "Już jest osoba o takim nicku lub nie podałeś/aś nicku.";
  9. }
  10. $uchwyt = fopen($sciezka,'wb'); // utworzenie pliku
  11. if(!$uchwyt)
  12. {
  13. echo "Nie można otworzyć pliku.";
  14. }
  15. fclose($uchwyt);
  16. ?>
  17. Wypisz przedmioty(oddzielaj spacjami):
  18. <form action="przedmioty_step_2.php" method="post">
  19. <table border="0">
  20. <tr>
  21. <td><input type="text" name="przedmioty" /></td>
  22. </tr>
  23. <tr>
  24. <td><input type="submit" value="Dalej"></td>
  25. </tr>
  26. </table>
  27. </form>
  28. <?php
  29. include('dol.txt');
  30. ?>


Ten post edytował Ociu 2.01.2009, 19:55:49
Powód edycji: Poprawiłem bbCode (ociu)
Go to the top of the page
+Quote Post
kefirek
post 2.01.2009, 20:11:51
Post #2





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


W plik przedmioty_step_2.php zmień name='$tablica[$i]' nazwę na name='srednia[]' Potem sumujesz tylko tablice i dzielisz przez liczbe przedmiotów czyli możesz np. na końcu kodu dodać
  1. <?php
  2. if (isset($_POST['submit'])) {
  3. $suma = array_sum($srednia);
  4. $srednia = $suma / $ilosc2;
  5. echo "Twoja srednia ".number_format($srednia, 2)."";
  6. }
  7. ?>


Do przycisku formularza dodaj name="submit" oraz <form action="przedmioty_step_2.php" method="post">
I będzie liczyć srednią

A najlepiej to zrobic tak cały plik przedmioty_step_2 powinien wyglądać tak
  1. <?php
  2. require('config2.php');
  3. include('gora.txt');
  4. if (isset($_POST['submit'])) {
  5.    
  6. foreach ($_POST['srednia'] as $liczba) {
  7. $suma[] = $liczba;
  8. }
  9. $ile = array_sum($suma);
  10. $ile2 = count($_POST['srednia']);
  11. $srednia = $ile / $ile2;
  12. echo "Twoja srednia ".number_format($srednia, 2)."";
  13.  
  14. } else {
  15.  
  16. // podzielenie przedmiotów i włożenie do tablicy
  17. $tablica = explode(" ",$przedmioty);
  18.  
  19. // obliczenie ilości przedmiotów
  20. $ilosc = count($tablica) - 1;
  21. $ilosc2 = count($tablica);
  22.  
  23. // wypisanie ilości przedmiotów
  24. echo '<div style="background-color: #fff7d9">Ilość przedmiotów: <span style="color: red; font-weight: bold">'.$ilosc2.'</span><br /></div>';
  25.  
  26. echo "<div style='background-color: #fffdf4'><br />Wypisz oceny w skali od 1 do 6.<br /></div>";
  27.  
  28. ?>
  29. <form action="przedmioty_step_2.php" method="post">
  30. <?php
  31. for ($i=0;$i<=$ilosc;$i++)
  32. {
  33. echo "<div style='background-color: #fffdf4'>$i. ".'<span style="font-size: 14px;color: green;font-weight: bold">'.strtoupper($tablica[$i]).'</span>'." - <span style='font-weight: bold'>Twoja ocena:</span> "."<input type='text' maxlength='1' size='1' name='srednia[]' /><br /><br />\n</div>";
  34. }
  35. ?>
  36. <input type="submit" value="Oblicz średnią!" name="submit">
  37. </form>
  38. <?php
  39. }
  40. include('dol.txt');
  41. ?>


Ten post edytował kefirek 2.01.2009, 20:38:16
Go to the top of the page
+Quote Post
carck3r
post 2.01.2009, 21:46:44
Post #3





Grupa: Zarejestrowani
Postów: 40
Pomógł: 2
Dołączył: 9.11.2008

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


Zaraz wszystko zrobię. Dam EDIT jak zadziała. Dzięki.

edit: działa, dzięki.

Ten post edytował carck3r 2.01.2009, 22:17:08
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 15:00