Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][html] Formularz - dzienniczek
Forum PHP.pl > Forum > Przedszkole
PaWs
Witam!

Mam taki problem zaczalem robic "dzienniczek ucznia" chodzi o to zeby moc zapisac swoje oceny i wyliczyc jaka srednia wychodzi. Zrobilem caly formularz i teraz zaczynaja sie problemy z przetworzeniem wypelnionych danych :?

  1. <meta http-equiv="content-type" content="text/html;charset=iso-8859-2">
  2. <meta name="generator" content="Adobe GoLive">
  3. <title>Policz swoja srednia!</title>
  4. </head>
  5.  
  6. <body bgcolor="">
  7.  
  8. table,body { font-family:Verdana; font-size:13px; }
  9. input { font-family:Verdana; font-size:12px; }
  10. input.d { font-family:Verdana; font-size:13px; }
  11. td.m { font-family:Verdana; font-size:13px; font-weight:bold; font-style:italic }
  12. td.l { font-family:Verdana; font-size:12px; }
  13.  
  14. <form action="index1.php" method="post" >
  15. <div><table width="288">
  16. <tr><td class=m>Imię:</td><td width="200"><input value="" type="text" style="width:200px;" name="imie"></td></tr>
  17. <tr><td class=m>Nazwisko:</td><td width="200"><input value="" type="text" style="width:200px;" name="nazwisko"></td></tr>
  18. <tr><td class=m>Klasa:</td><td width="200"><input value="" type="text" style="width:40px;" name="klasa"></td></tr>
  19. </table></div>
  20. <br><hr><br>
  21. <table width="498">
  22. <tr><td class=m width="91"><center>Przedmiot:</center></td>
  23. <td class=m width="397"><center>Oceny:</center></td>
  24. </tr>
  25. <tr><td class=l>j. Polski</td><td width="397" align="center"><input value="" type="text" style="width:380px;" name="polski"></td>
  26. </tr>
  27. <tr><td class=l>j. Angielski</td><td width="397" align="center"><input value="" type="text" style="width:380px;" name="angielski"></td>
  28. </tr>
  29. <tr><td class=l>Matematyka</td><td width="397" align="center"><input value="" type="text" style="width:380px;" name="matematyka"></td>
  30. </tr>
  31. <tr><td class=l>Fizyka</td><td width="397" align="center"><input value="" type="text" style="width:380px;" name="fizyka"></td>
  32. </tr>
  33. <tr><td class=l>Chemia</td><td width="397" align="center"><input value="" type="text" style="width:380px;" name="chemia"></td>
  34. </tr>
  35. <tr><td class=l>WOS</td><td width="397" align="center"><input value="" type="text" style="width:380px;" name="wos"></td>
  36. </tr>
  37. <tr><td class=l>Geografia</td><td width="397" align="center"><input value="" type="text" style="width:380px;" name="geografia"></td>
  38. </tr>
  39. <tr><td class=l>Biologia</td><td width="397" align="center"><input value="" type="text" style="width:380px;" name="biologia"></td>
  40. </tr>
  41. <tr><td class=l>Historia</td><td width="397" align="center"><input value="" type="text" style="width:380px;" name="historia"></td>
  42. </tr>
  43. <tr><td class=l>PO</td><td width="397" align="center"><input value="" type="text" style="width:380px;" name="po"></td>
  44. </tr>
  45. <tr><td class=l>Informatyka</td><td width="397" align="center"><input value="" type="text" style="width:380px;" name="informatyka"></td>
  46. </tr>
  47. <tr><td class=l>W-F</td><td width="397" align="center"><input value="" type="text" style="width:380px;" name="wf"></td>
  48. </tr>
  49. <tr><td class=l>j. Hiszpański</td><td width="397" align="center"><input value="" type="text" style="width:380px;" name="hiszpanski"></td>
  50. </tr>
  51. <tr><td class=l>j. Rosyjski</td><td width="397" align="center"><input value="" type="text" style="width:380px;" name="rosyjski"></td>
  52. </tr>
  53. <tr><td class=l>j. Francuski</td><td width="397" align="center"><input value="" type="text" style="width:380px;" name="francuski"></td>
  54. </tr>
  55. <tr><td class=l>Religia</td><td width="397" align="center"><input value="" type="text" style="width:380px;" name="religia"></td>
  56. </tr>
  57.  
  58. <tr><td></td>
  59. <td style="text-align:center;" width="397">
  60. <input class=d type="reset" name="resetuj" value="Resetuj">
  61. <input class=d type="submit" name="submit" value="Dodaj do bazy">
  62. <input class=d type="submit" name="policz" value="Oblicz średnią" action="policz"></td>
  63. </tr>
  64. </form>
  65. </table><hr>
  66.  
  67. </body>
  68. </html>


Po wypisaniu wszystkich pol ma sie pojawic nowa stronka gdzie bedzie to wszystko ladnie przetworzone a z poszczegolnych przedmiotow bedzie wyliczona srednia ocen z zaokragleniem do 0,1. Najlepiej chyba gdyby to bylo w tabelce. Moze moglbyktos napisac jak zrobic chociaz jeden wiersz z reszta juz sobie dam rade.
Ja wymyslilem narazie cos takiego:
  1. <html>
  2.  
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
  5. <title>Twoje Oceny</title>
  6. </head>
  7.  
  8. <body>
  9.  
  10. <style>
  11. td { font-family:Verdana; font-size:15px; text-decoration:underline; }
  12. </style>
  13.  
  14. <?php
  15. $imie=$_POST['imie'];
  16. $nazwisko=$_POST['nazwisko'];
  17. $klasa=$_POST['klasa'];
  18.  
  19. $polski=$_POST['polski'];
  20. $angielski=$_POST['angielski'];
  21. $matematyka=$_POST['matematyka'];
  22. $fizyka=$_POST['fizyka'];
  23. $chemia=$_POST['chemia'];
  24. $wos=$_POST['wos'];
  25. $geografia=$_POST['geografia'];
  26. $biologia=$_POST['biologia'];
  27. $historia=$_POST['historia'];
  28. $po=$_POST['po'];
  29. $informatyka=$_POST['informatyka'];
  30. $wf=$_POST['wf'];
  31. $hiszpanski=$_POST['hiszpanski'];
  32. $rosyjski=$_POST['rosyjski'];
  33. $francuski=$_POST['francuski'];
  34. $religia=$_POST['religia'];
  35.  
  36. ?>
  37.  
  38. <table>
  39. <tr>
  40. <td width=50px></td>
  41. <td>
  42. <?php
  43. if ( policz == true )
  44.  {
  45. echo "<b>$imie $nazwisko $klasa</b>" ;
  46. }
  47. ?>
  48. </td>
  49. </tr>
  50. </table>
  51.  
  52. </body>
  53. </html>
wipo
printf("średnia %2.1f",($polski+$angielski+$matematyka+$fizyka+$chemia+
$wos+$geografia+$biologia+$historia+$po+$informatyka+$wf+$hiszpanski+$rosyjski+$francuski+$religia)/16);
PaWs
no ok to zadziala dobrze jezeli WSZYSTKIE pola beda wypelnione.... winksmiley.jpg ale chodzi o to ze przeciez jeden przedmiot moze zostac 'pusty' i wtedy juz jest zle dry.gif

jeszczcze jedno... najpierw ma wyliczyc srednia ocen z danego przedmiotu, nastepnie z wyliczonych srednich liczy "glowna" srednia. Mam nadzieje ze da sie to zrobic biggrin.gif
wipo
Dać się da ale musisz wprowadzić więcej pól do formularza albo oceny pooddzielać przecinkami i wtedy
$matematyka=$_POST['matematyka'];
$matematyka=explode(","$matematyka);
$ile_ocen=0;
$suma=0;
for($x=0;$x<count($matematyka);$x++){
if (is_numeric($matematyka[$x]))
$suma+=$matematyka[$x];
$ile_ocen++;
}
}
if ($ile_ocen>0) $srednia=$suma/$ile_ocen; else $srednia=0;
Saddam92
  1. <?php
  2. $imie=$_POST['imie'];
  3. $nazwisko=$_POST['nazwisko'];
  4. $klasa=$_POST['klasa'];
  5.  
  6. $polski=$_POST['polski'];
  7. $angielski=$_POST['angielski'];
  8. $matematyka=$_POST['matematyka'];
  9. $fizyka=$_POST['fizyka'];
  10. $chemia=$_POST['chemia'];
  11. $wos=$_POST['wos'];
  12. $geografia=$_POST['geografia'];
  13. $biologia=$_POST['biologia'];
  14. $historia=$_POST['historia'];
  15. $po=$_POST['po'];
  16. $informatyka=$_POST['informatyka'];
  17. $wf=$_POST['wf'];
  18. $hiszpanski=$_POST['hiszpanski'];
  19. $rosyjski=$_POST['rosyjski'];
  20. $francuski=$_POST['francuski'];
  21. $religia=$_POST['religia'];
  22. ?>
a zamiast tego poczytaj o funkcji extract ($_POST);
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.