Aide pour php

Fermé
yusukessj Messages postés 267 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 4 janvier 2014 - 8 oct. 2008 à 19:32
djflexlive Messages postés 557 Date d'inscription mercredi 26 mars 2008 Statut Membre Dernière intervention 23 avril 2015 - 20 oct. 2008 à 16:47
Bonjour à tous,
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
merci
A voir également:

6 réponses

djflexlive Messages postés 557 Date d'inscription mercredi 26 mars 2008 Statut Membre Dernière intervention 23 avril 2015 95
8 oct. 2008 à 19:38
echo "<form action=\"mo_phage.php\" method=\"post\" >";

$result = mysql_query( "select nom, tab_etudiant.id from tab_etudiant where specialite= '$hiddenid'" );

while ($donnees = mysql_fetch_array($result))
{

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>";


Ca serait déjà mieux, mais le probleme c'est que y'a qu'un eleve selectionné dans ton formulaire, alors que t'en voudrais plusieurs, c'est ca ?
0
yusukessj Messages postés 267 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 4 janvier 2014 16
8 oct. 2008 à 21:41
merci, quand je fais ça, ca n'enregistre que le dernier élève, les autres ne s'enregistrent pas
0
djflexlive Messages postés 557 Date d'inscription mercredi 26 mars 2008 Statut Membre Dernière intervention 23 avril 2015 95
8 oct. 2008 à 22:07
echo "<input type=\"hidden\" value='".$donnees['id']."' name=\"hiddenid_eleve\">";

Normal, ca va te selectionner le dernier eleve dans le champs hidden. Tu connais un peu ou pas les tableaux "array" ? Tu pourrais passer par ca pour récupérér tous les eleves par ex.
0
yusukessj Messages postés 267 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 4 janvier 2014 16
9 oct. 2008 à 00:18
je suis désolé, je ne sais pas travailler avec ca, vous pouvais me montrer comment faire svp
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
djflexlive Messages postés 557 Date d'inscription mercredi 26 mars 2008 Statut Membre Dernière intervention 23 avril 2015 95
9 oct. 2008 à 14:38
Y'a des chances que ca ne fonctionne pas du premier coup mais ca te mets sur la bonne voie :

PAGE 1:

<?php
/* Ajout de variables comptant le nb d'eleves et stockant les id eleves */
$id_eleves = '';
$nb_eleves = 0;

echo "<form action=\"mo_phage.php\" method=\"post\" >";

$result = mysql_query( "select nom, tab_etudiant.id from tab_etudiant where specialite= '$hiddenid'" );

while ($donnees = mysql_fetch_array($result))
{

	/* Incrémentation du compteur et stockage des ID*/
	$nb_eleves++;
	$id_eleves .= $donnees['id'].'-';
	
	echo '<p><strong>' . $donnees['nom'] . '</strong> </p>';
	
	/* Modif ici du champs texte par nota-ID_ELEVE */
	echo '<input type="text" name="nota-'.$donnees[id].'" >';

} 
/* On vire le dernier '-' de $id_eleves*/
$id_eleves = substr($id_eleves,0,strlen($id_eleves)-1);

/* On modifie le champs hidden pour indiquer les ID eleves */
echo '<input type="hidden" name="id_eleves" value="'.$id_eleves.'">';
/* On ajoute un autre champs hidden pour indiquer le nb d'eleves */
echo '<input type="hidden" name="nb_eleves" value="'.$nb_eleves.'">';

echo " <input type=\"submit\" name=\"Submit\" value=\"VALIDER\"> ";
echo "</form>";
?>¨

PAGE 2:

<?php
/* Récupération des champs hidden */
$id_eleves = $_POST['id_eleves'];
$nb_eleves = $_POST['nb_eleves'];

/* On crée un tableau stockant les ID eleves */
$id_eleves = explode('-',$id_eleves);

/* Si c'est en zone sécurisé et qu'il n'y a pas de risques, cette ligne est inutile donc je la commente */
//$nota = mysql_real_escape_string(htmlspecialchars($_POST['nota'])); // De même pour le message

/* On crée une boucle qui vas récuperer tous les $_POST['notas-X'] et updater tous les id eleves */
for ($i=0;$i<=$nb_eleves;$i++)
{
	$nota = $_POST['nota-'.$id_eleves['$i']];
	$query = mysql_query( "UPDATE tab_etudiant SET note_etud= '$nota' WHERE id = '" . $id_eleves['$i'] . "'" );
	mysql_query($query) ;
}

echo "merci de taper les note de l etudiant"; 
?>
0
djflexlive Messages postés 557 Date d'inscription mercredi 26 mars 2008 Statut Membre Dernière intervention 23 avril 2015 95
20 oct. 2008 à 16:47
Alors, as tu essayé ?
0