Aide pour php repetition du bouton form
yusukessj
Messages postés
267
Date d'inscription
Statut
Membre
Dernière intervention
-
yusukessj Messages postés 267 Date d'inscription Statut Membre Dernière intervention -
yusukessj Messages postés 267 Date d'inscription Statut Membre Dernière intervention -
Bonjour, je suis bloqué dans mon script php
voila, je veux qu'un enseignant accède à la base de donnée et enregistre les note de ses élève
j'ai pu faire le script pour qu'il regarde ses élève, pour enregistrer les notes j'ai fait cela :
$result = mysql_query( "select nom, tab_etudiant.id from tab_etudiant where specialite= '$hiddenid'" );
while ($donnees = mysql_fetch_array($result))
{
echo "<form action=\"mo_phage.php\" method=\"post\" >";
echo '<p><strong>' . $donnees['nom'] . '</strong> </p>';
echo "<input type=\"text\" name=\"nota\" >";
echo "<input type=\"hidden\" value='".$donnees['id']."' name=\"hiddenid_eleve\">";
echo " <input type=\"submit\" name=\"Submit\" value=\"VALIDER\"> ";
echo "</form>";
}
et la page cible mo_phage c'est :
$hiddenid = $_POST['hiddenid_eleve'];
$nota = mysql_real_escape_string(htmlspecialchars($_POST['nota'])); // De même pour le message
$query ="UPDATE tab_etudiant SET note_etud= '$nota' WHERE id = '" . $hiddenid . "'";
mysql_query($query) ;
echo "merci de taper les note de l etudiant";
le problème c'est qu'il m'affiche cela
http://94.img.v4.skyrock.net/94f/hachine/pics/2037175601_1.jpg
et moi je veux qu'il affiche cela
http://94.img.v4.skyrock.net/94f/hachine/pics/2037177251_1.jpg
voila, je veux qu'un enseignant accède à la base de donnée et enregistre les note de ses élève
j'ai pu faire le script pour qu'il regarde ses élève, pour enregistrer les notes j'ai fait cela :
$result = mysql_query( "select nom, tab_etudiant.id from tab_etudiant where specialite= '$hiddenid'" );
while ($donnees = mysql_fetch_array($result))
{
echo "<form action=\"mo_phage.php\" method=\"post\" >";
echo '<p><strong>' . $donnees['nom'] . '</strong> </p>';
echo "<input type=\"text\" name=\"nota\" >";
echo "<input type=\"hidden\" value='".$donnees['id']."' name=\"hiddenid_eleve\">";
echo " <input type=\"submit\" name=\"Submit\" value=\"VALIDER\"> ";
echo "</form>";
}
et la page cible mo_phage c'est :
$hiddenid = $_POST['hiddenid_eleve'];
$nota = mysql_real_escape_string(htmlspecialchars($_POST['nota'])); // De même pour le message
$query ="UPDATE tab_etudiant SET note_etud= '$nota' WHERE id = '" . $hiddenid . "'";
mysql_query($query) ;
echo "merci de taper les note de l etudiant";
le problème c'est qu'il m'affiche cela
http://94.img.v4.skyrock.net/94f/hachine/pics/2037175601_1.jpg
et moi je veux qu'il affiche cela
http://94.img.v4.skyrock.net/94f/hachine/pics/2037177251_1.jpg
A voir également:
- Aide pour php repetition du bouton form
- Easy php - Télécharger - Divers Web & Internet
- Bouton reinitialisation pc - Guide
- Diagnostic bouton photo - Accueil - Outils
- Bouton home clavier ✓ - Forum PC portable
- Bouton on/off comment savoir ✓ - Forum Matériel & Système
12 réponses
while ($donnees = mysql_fetch_array($result))
{
echo "<form action=\"mo_phage.php\" method=\"post\" >";
echo '<p><strong>' . $donnees['nom'] . '</strong> </p>';
echo "<input type=\"text\" name=\"nota\" >";
echo "<input type=\"hidden\" value='".$donnees['id']."' name=\"hiddenid_eleve\">";
}
echo " <input type=\"submit\" name=\"Submit\" value=\"VALIDER\"> ";
echo "</form>";
{
echo "<form action=\"mo_phage.php\" method=\"post\" >";
echo '<p><strong>' . $donnees['nom'] . '</strong> </p>';
echo "<input type=\"text\" name=\"nota\" >";
echo "<input type=\"hidden\" value='".$donnees['id']."' name=\"hiddenid_eleve\">";
}
echo " <input type=\"submit\" name=\"Submit\" value=\"VALIDER\"> ";
echo "</form>";
je vous remerci pour votre aide, mais comme ça ca n'enregistre que le dernier élève : la dernière note,
les autres ne s'enregistre pas
les autres ne s'enregistre pas
Il y a une grosse faute ici :
tu dois mettre
echo "<form action=\"mo_phage.php\" method=\"post\" >";
et
echo "</form>";
hors du while sinon a chaque nouvelle donnée, tu as un nouveau formulaire.
while ($donnees = mysql_fetch_array($result)) { echo "<form action=\"mo_phage.php\" method=\"post\" >"; echo '<p><strong>' . $donnees['nom'] . '</strong> </p>'; echo "<input type=\"text\" name=\"nota\" >"; echo "<input type=\"hidden\" value='".$donnees['id']."' name=\"hiddenid_eleve\">"; echo " <input type=\"submit\" name=\"Submit\" value=\"VALIDER\"> "; echo "</form>"; }
tu dois mettre
echo "<form action=\"mo_phage.php\" method=\"post\" >";
et
echo "</form>";
hors du while sinon a chaque nouvelle donnée, tu as un nouveau formulaire.
oui, quand je fais ça j'ai un seul bouton, mais il n'enregistre qu'un seul enregistrement, le dernier c'est tout !!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ha oui, j'avais mal compris. je suis bête ^^"
en fait Si j'ai bien compris, il y a un certain nombre de ligne dans la table a modifier en même temps.
Je réfléchi vite mais je pense qu'il faut mettre une boucle dans la page mo_phage.php pour faire passer tous les élèves 1 par 1.
pour éviter les confusion pour les $_POST, il faut alors incrémentée un nombre pour modifier le nom des champ a chaque entrée.
Voila le code di moi si sa marche.
page 1 :
page mo_phage.php
en fait Si j'ai bien compris, il y a un certain nombre de ligne dans la table a modifier en même temps.
Je réfléchi vite mais je pense qu'il faut mettre une boucle dans la page mo_phage.php pour faire passer tous les élèves 1 par 1.
pour éviter les confusion pour les $_POST, il faut alors incrémentée un nombre pour modifier le nom des champ a chaque entrée.
Voila le code di moi si sa marche.
page 1 :
<?php $result = mysql_query( "select nom, tab_etudiant.id from tab_etudiant where specialite= '$hiddenid'" ); $i = 1;//on crée la variable $i echo '<form action="mo_phage.php" method="post" >'; while ($donnees = mysql_fetch_array($result)) { echo '<p><strong>' . $donnees['nom'] . '</strong> </p>'; echo '<input type="text" name="nota_'.$i.'" >'; echo '<input type="hidden" value='.$donnees['id'].' name="hiddenid_eleve_'.$i.'">'; $i++;//on incrémente la variable. } echo '<input type="hidden" value='.$i.' name="i">'; // on enregistre le dernier $i. echo '<input type="submit" name="Submit" value="VALIDER">'; echo '</form>'; ?>
page mo_phage.php
<?php for ($i = 1; $i >= $_POST['i']; $i++) { if (!empty($_POST['hiddenid_eleve'.$i])) { $hiddenid = $_POST['hiddenid_eleve'.$i]; $nota = mysql_real_escape_string(htmlspecialchars($_POST['nota'.$i])); mysql_query("UPDATE tab_etudiant SET note_etud='$nota' WHERE id='$hiddenid'") ; } else { die ('merci de taper les note de l etudiant'); } } ?>
Bon j'aime pas laisser un plan pas fini alors voilà ce que je te propose :
Faire un formulaire pour modifier la notes des élèves 1 à 1
donc 1 seul formulaire par page avec seulement 1 élève par formulaire.
faire simple en quelque sorte :p
Faire un formulaire pour modifier la notes des élèves 1 à 1
donc 1 seul formulaire par page avec seulement 1 élève par formulaire.
faire simple en quelque sorte :p
J'ai une bonne nouvelle.
Mon frère m'a un peu expliqué car je devais faire un panier virtuel.
voici mon code.
Dedans j'utilise des SESSION mais le principe est le même, tu devras un peu adapté le code.
C'est une partie du code mais normalement tu a tout ce qu'il faut.
Mon frère m'a un peu expliqué car je devais faire un panier virtuel.
voici mon code.
Dedans j'utilise des SESSION mais le principe est le même, tu devras un peu adapté le code.
//Ajout des données dans la table eyself_achat $login = $_SESSION['login']; $n = 1; for ($numLine = 1; isset($_POST['nombre_produit'.$numLine]); $numLine++) { $id_produit = $_SESSION['id_produit'.$n]; $nom_produit = $_SESSION['nom_produit'.$n]; $prix = $_SESSION['prix'.$n]; $nbr_achat = $_SESSION['nbr_achat'.$n]; $taille = $_SESSION['taille'.$n]; $couleur = $_SESSION['couleur'.$n]; $result = mysql_query("INSERT INTO eyself_achat (login,nom_produit,taille,couleur,nombre_produit,prix,date) VALUES('$login', '$nom_produit', '$taille', '$couleur', '$nbr_achat', '$prix', NOW())"); $n++; } echo 'Votre commande a bien été enregistré.'; $n = 1; $numLine = 1; $prixtot = 0; if (isset($_SESSION['compteur'.$n])) { //Pagination include ('../includes/pagination.php'); ?> <form method="POST" action=""> <table> <tr> <th>Nom</th> <th>Prix unitaire</th> <th>Quantité</th> <th>Prix total</th> <th>Supprimer</th> </tr> <?php while (isset($_SESSION['compteur'.$n])) { ?> <tr> <td><?php echo $_SESSION['nom_produit'.$n];?></td> <td><?php echo $_SESSION['prix'.$n].' €';?></td> <td><?php echo '<input type="text" style="text-align:center;" class="formulaire" name="nombre_produit' . $numLine . '" value="'.$_SESSION['nbr_achat'.$n].'" />';?></td> <td><?php echo $_SESSION['prix'.$n] * $_SESSION['nbr_achat'.$n].' €';?></td> <td><a href="?page=commander&mod=<?php echo $_SESSION['id_produit'.$n];?>"></a></td> </tr> <?php $prix = $_SESSION['prix'.$n] * $_SESSION['nbr_achat'.$n]; $prixtot = $prix + $prixtot; //Incrémentation $numLine++; $n++; } ?> <tr> <td></td> <td><input type="submit" name="recalculer" value="recalculer" /></td> <td>Total :</td> <td><?php echo $prixtot.' €';?></td> <tr> <tr> <td colspan="5"><input type="submit" name="valider" value="valider" /></td> </tr> </table> </form> <?php } else { echo '<h2 style="text-align:center;">Votre panier est vide.</h2>'; }
C'est une partie du code mais normalement tu a tout ce qu'il faut.