Saluton al cxiuj (petit clin d'oeil à Maljuna Kris)

J'ai deux tables :

users :

id_eleve (int clé primaire)
identifiant (varchar)
psw (varchar)
nom (varchar)
prenom (varchar)
classe (varchar)

compositions :

id_compo (int clé primaire)
id_eleve (int clé étrangère)
date_compo (datetime)
titre_compo (varchar)
note_compo (int)
avis_compo (varchar)
pdf (varchar)

Un formulaire qui est généré de cette manière :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
$req = $bdd->query("SELECT DISTINCT `id_eleve`, `identifiant`, `nom`, `prenom`
                             FROM users
                             WHERE `users`.`classe` = '$classe'"
                             );
Le résultat :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
<form action="" method="POST">
     <fieldset>
        <legend>Eléves</legend>
        <table id="notes" class="table table-bordered table-striped" style="margin-top: 0;">
            <tr>
                <th>Identifiant</th>
                <th>Eléve</th>
                <th>Date</th>
                <th>DS</th>
                <th>Note (/20)</th>
                <th>Appréciation</th>
                <th>PDF</th>
            </tr>
   <?php
       while($donnees = $req->fetch()){
           echo '<tr>';
           echo '<td>' . $donnees['identifiant'] . '</td>';
           echo '<td>' . $donnees['nom'] . ' ' . $donnees['prenom'] . '</td>';
           echo '<td><input type="text" class="form-control" name="date_compo" id="date_compo" placeholder="Date" disabled></td>';
           echo '<td><input type="text" class="form-control" name="titre_compo" id="titre_compo" placeholder="Titre du DS"></td>';
           echo '<td><input type="text" class="form-control" name="note_compo" id="note_compo" placeholder="Note"></td>';
           echo '<td><textarea class="form-control" rows="1" name="avis_compo" id="avis_compo" placeholder="Avis"></textarea></td>';
           echo '<td>' . $donnees['pdf'] . '</td>';
           echo '</tr>';
      }  
?>                        
         </table>
      </fieldset>
      <input type="submit" class="form-control" value="Envoyer">
 </form>
J'obtiens ça :

Nom : Tableau.png
Affichages : 167
Taille : 16,3 Ko

Vous pouvez donc voir qu'il existe un ensemble de champs <input>. J'aimerai avoir la possibilité de les remplir et d'insérer tous les résultats dans les tables de la base de données.

Pour sûr, il faut utiliser une boucle. Je pensais d'ailleurs à faire comme suit :

- Déclaration d'une variable qui prendra comme valeur le nombre de ligne rempli, sachant que pour valider une ligne, il faut que tous les champs de cette ligne soient remplis. Mais il n'est pas nécessaire de remplir toutes les lignes pour valider l'envoi des données

- Création d'une boucle for

- Requête SQL pour insérer les informations (INSERT INTO)

J'ai trouvé des solutions sur le net dont une qui correspondait vraiment à ce que je m'imaginais, mais j'ai beau essayé, ça ne fonctionne pas. Et je ne retrouve plus ce fameux code - LE boulet...

Je ne demande pas forcément une réponse toute faite, je veux simplement être aiguillé, est-ce que mon raisonnement est bon ? Est-ce qu'il manque des éléments ?