Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    70

    calcolo media fra più studenti in php

    Ciao a tutti,
    Vi prego di aiutarmi e ve ne sarò grato per tutta la vita!!
    Ho il seguente problema....
    Sono iscritto a lingue per il web e tra le materie devo sostenerne uno che prevede lo studio di php e html.
    Il docente ha richiesto a tutti di creare qualcosa di nostro pugno...
    Purtroppo io sono alle prime armi e il prof è perfettamente cosciente che ce lo faremo fare da qualcun'altro...
    non conoscendo alcuno ho quindi creato qualcosa con le poche nozioni che conosco anche perchè il programma richiesto non prevede ne database ne sessioni.....
    ho creato quindi un form che invia i voti di tutte le materie sostenute in html.
    in php invece mi da come risultato il nome e cognome dell'utente, il riassunto dei voti del form e la media ed in base a questa un messaggio.
    Pensavo fosse sufficiente..invece mi ha chiesto una modifica che non so fare...è l'ultima materia....aiutatemi.
    vorrebbe che gli studenti che compilano il form siano ad esempio 3.
    il primo nella prima materia ha 27, il secondo 28, ed 18. il primo studente digta quindi il 27 nel form, il secondo invece digita 28, ma oltre il suo voto dovrebbe ottenere la media rispetto al voto nella stessa media del primo studente.
    Il terzo studente dovrebbe invece ottenere il voto della materia e la media tra primo secondo stundente ed il suo in quella stessa materia.
    Magari è anche semplice e spero di essere stato chiaro... ma io non so come fare....vi supplico di aiutarmi.
    vi posto le pagine che ho creato:
    <HTML
    <BODY>
    <div align="center"></div>
    <FORM METHOD=POST ACTION="media.php">
    <table width="372" border="0" align="center" cellspacing="4">
    <tr>
    <td width="182" bgcolor="#009900">Nome</td>
    <td width="174"><input name="nome" type="text" ></td>
    </tr>
    <tr>
    <td> </td>
    <td> </td>
    </tr>
    <tr>
    <td bgcolor="#006600">Materia 1 </td>
    <td><select name="m1">
    <option>18</option>
    <option>19</option>
    <option>20</option>
    <option>21</option>
    <option>22</option>
    <option>23</option>
    <option>24</option>
    <option>25</option>
    <option>26</option>
    <option>27</option>
    <option>28</option>
    <option>29</option>
    <option>30</option>
    </select></td>
    </tr>
    <tr>
    <td bgcolor="#006600">Materia 2 </td>
    <td><select name="m2" >
    <option>18</option>
    <option>19</option>
    <option>20</option>
    <option>21</option>
    <option>22</option>
    <option>23</option>
    <option>24</option>
    <option>25</option>
    <option>26</option>
    <option>27</option>
    <option>28</option>
    <option>29</option>
    <option>30</option>
    </select></td>
    </tr>
    <tr>
    <td> </td>
    <td><input name="SUBMIT" type="SUBMIT" value="Calcola la media"></td>
    </tr>
    </table>


    </p>
    </FORM>
    </BODY>
    </HTML>

    pagina PHP
    <HTML><?php
    $nome = $_POST['nome'];
    $m1 = $_POST['m1'];$m2 = $_POST['m2'];
    $media_voti = ($m1+$m2)/2;?>
    <BODY>
    <table width="281" border="0" align="center" cellspacing="4">
    <tr>
    <td height="71" colspan="2" bgcolor="#000099"><div align="center" class="Stile1">Tabella Riepilogativa </div></td>
    </tr>
    <tr>
    <td colspan="2"> </td>
    </tr>
    <tr>
    <td width="201" bgcolor="#000099"><div align="center">Materia 1 </div></td>
    <td width="64" bgcolor="#0000CC"><div align="center"><?php echo $m1 ?></div></td>
    </tr>
    <tr>
    <td bgcolor="#000099"><div align="center" class="Stile2">Materia 2 </div></td>
    <td bgcolor="#0000CC"><div align="center">
    <?php echo $m2 ?>
    </div></td>
    </tr>
    <tr>
    <td> </td>
    <td> </td>
    </tr>
    </table>
    <p align="center">

    <?php echo "Ciao $nome";
    echo "

    Il tuo punteggio di partenza è " . ceil($media_voti);?>
    </p>
    <p align="center">
    <?php
    if ($media_voti >100) {
    echo "Complimenti! Hai una buona media ";
    } else {
    echo "Complimenti per la tristezza.";
    }
    ?>
    </p>
    <p align="center"> </p>
    </BODY>
    </HTML>

  2. #2

    Re: calcolo media fra più studenti in php

    Originariamente inviato da shira
    dovrebbe ottenere la media rispetto al voto nella stessa media del primo studente.
    Il terzo studente dovrebbe invece ottenere il voto della materia e la media tra primo secondo stundente ed il suo in quella stessa materia.
    se avessi capito qualcosa della frase citata....

  3. #3
    idem nn si capisce nulla

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    70
    avete perfettamente ragione!!!cercherò di essere più chiaro.
    Il prof mi ha portato l'esempio di modifiche da apportare al mio script iniziale...
    Lo studente MARIO compila il form e ad esempio seleziona nella materia sociologia 18.
    fin qui ci siamo no??
    successivamente lo studente PAOLO compila anche lui il form e ad esempio nella materia sociologia seleziona invece 20.
    successivamente Lo studente MIRKO compila il form e ad esempio nella materia sociologia seleziona invece 22.
    Quello che il prof vorrebbe è che allo studente PAOLO risulti non solo il suo voto in sociologia, ma anche la media tra il suo voto in sociologia e quello di MARIO(in questo caso tra 18 e 20).
    A Mirko invece risulterà il suo voto in sociologia e la media tra il suo voto in sociologia e quelli di MARIO e PAOLO(in questo caso tra 18 20 e 22).
    Spero di essere stato chiaro questa volta...vi prego di aiutarmi se potete in quanto ho l'esame tra 2 settimane!!!!
    grazie di cuore

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    In pratica per ogni riga dovresti avere il voto dell'alunno più la media di voti sino a quel momento se ho ben capito.

    Ti faccio un esempio con un array (poi è da adattare al form). Provalo e dimmi se è questo che vuoi ottenere.
    Codice PHP:
    <?php
    $array 
    = array(18,20,22);
    $somma 0;
    $i 0;
    foreach(
    $array as $valore)
    {
    echo 
    "$valore ";
    $i++;
    $somma+= $valore;
    $media $somma $i;
    echo 
    $media;
    echo 
    "
    "
    ;
    }
    ?>

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    70
    ci siamo quasi.....l'ho provato e funziona.
    il problema se ho ben capito dalle parole del prof. è che ad esempio riguardo al tuo codice..
    lo studente uno dovrebbe compilare il form e trovarsi come risultato la prima riga con il valore 18 18
    In un secondo momento il secondo studente compila il form e si trova invece come risultato nella pagina PHP la seconda riga 20 19.
    Poi accede il terzo al form e nella pagina php gli risulterà 22 20.
    Nel tuo esempio perfettamente funzionante invece a video spuntano tutti in una pagina...
    Mi hai capito???
    spero possa aiutarmi.....

  7. #7
    da quel che mi sembra di capire mi pare che serva anche l'implementazione di un database o almeno di un file dove salvare di volta in volta i vari valori (marco mirco paolo e compagni...) il che complica un pochino le cose se veramente è così.

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    70
    non so ma posso dirti cosa prevede il mio programma di corso...
    Parte II: Cenni sul PHP
    0) Che cos'è il PHP?
    1) Che cosa può; fare il PHP?
    2) Di che cosa si ha bisogno?
    3) La prima pagina in PHP
    4) Qualcosa di utile
    5) Trattare con le FORMS
    6) Sintassi fondamentale
    7) Tipi
    8) Variabili
    9) Costanti
    10) Espressioni
    11) Operatori
    12) Strutture di controllo
    13) Funzioni
    14) Alcune funzioni utili
    non credo sia previsto un database e neanche delle sessioni...sarebbe troppo pretrenderlo considerando che sono iscritto a lingue......
    Ad ogni modo spero che con un pò di pazienza possa darmi la soluzione, anche perchè altrimenti non saprei proprio cosa fare.....

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.