Visualizzazione dei risultati da 1 a 9 su 9

Discussione: form dinamica

  1. #1

    form dinamica

    Ho una tabella (studenti) con numero 5 studenti.
    Tabella studenti (stu1, stu2, stu3 ecc.)
    Volendo attribuire un punteggio ad ognuno di loro ho bisogno di creare un form di immissione dei dati per poi poterli salvare nella tabella.
    Potrei fare una form statica ma non posso visto che nelle altre classi gli studenti o sono in numero inferiore e on numero superiore.
    Qualcuno mi sa dire come realizzare una form dinamica? Oppure dove vedere degli esempi?

  2. #2
    Non capisco il problema, crei dinamicamente (tramite un ciclo) i campi della form in cui inserire i punteggi.

    P.S.
    Io rivedrei la struttura del DB dato che non esiste proprio avere una colonna per studente!
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    mi daresti qualche spunto

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    420
    il db dovrebbe essere strutturato così:

    matricola|classe|voto (ma forse si potrebbe ottimizzarlo creando 2 tabelle invece di una e inserendo un campo "Numero studenti per classe");
    prima di creare il form estrai la "sum" di matricola where classe = "input da form" e ottieni la variabile $numerostudenti;

    Codice PHP:
    <table>
       <tr>
          <td>Matricola</td>
          <td>Voto</td>
       </tr>
       <?php
       
    for ($i=0$i==$numeroStudenti$i++)  {
       
    ?>
       <tr>
          <td><?php echo $matricolaStudente;?></td>
          <td><?php echo $votoStudente;?></td>
       </tr>
       <?php
       
    }
       
    ?>
    </table>
    Sintassi e struttura sono da rivedere, ma come spunto di partenza può andare...

  5. #5
    Concettualmente puoi prendere spunto da qualcosa del genere:

    Codice PHP:
    <?php
    function createForm($numStudenti) {
        echo 
    '<form action="index.php" method="post">';
        for (
    $i 0$i $numStudenti$i++) {
            echo 
    'Punteggio studente '.($i 1).': <input type="text" name="punteggio[]" />
    '
    ;
        }
        echo 
    '<input type="submit" name="submit" value="submit" />';
        echo 
    '</form>';
    }

    if (isset(
    $_POST['submit'])) {
        
    $punteggio $_POST['punteggio'];
        foreach (
    $punteggio as $value) {
            echo 
    $value."
    "
    ;
        }
    }

    createForm(5);
    ?>
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  6. #6
    grazie,
    dopo pranzo provo e vi faccio sapere

  7. #7
    Codice PHP:
    ho realizzato questo:

    <?php include("include/connetti.php");?>
      <?php
    $query 
    'select COUNT(*) as tot from studenti';
    $result mysql_query($query); 
    $row mysql_fetch_array($result);
    if (!
    $result) {
       die(
    'Errore nella query: ' mysql_error());
    }

    echo 
    "Studenti n. [b]$row[tot][/b]";
    function 
    createForm($numStudenti) {
        echo 
    '<form action="studenti_salva_voti.php" method="post">';
        for (
    $i 0$i $numStudenti$i++) {
            echo 
    'studente '.($i 1).': <input type="text" name="voto[]" id="voto[]"/>
    '
    ;
        }
        echo 
    '<input type="submit" name="submit" value="submit" />';
        echo 
    '</form>';
    }

    if (isset(
    $_POST['submit'])) {
        
    $voto $_POST['voto'];
        foreach (
    $voto as $value) {
            echo 
    $value."
    "
    ;
        }
    }

    createForm($row['tot']);
    ?> 
    la tabella (studenti)e così:

    id;
    stu (numero progressivo dello studente);
    nome

    adesso vorrei salvare i dati in questa tabella (voti)
    così formata:
    id;
    studente (numero dello steudente);
    Voto

  8. #8
    In effetti mi serve sapere quale come recuperare i dati dell'array e salvarli nella tabella voti

  9. #9
    SATIFAL se ci sei batti un colpo

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.