Aide pour php

yusukessj Messages postés 267 Date d'inscription   Statut Membre Dernière intervention   -  
djflexlive Messages postés 557 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   95
 
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   Statut Membre Dernière intervention   16
 
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   Statut Membre Dernière intervention   95
 
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   Statut Membre Dernière intervention   16
 
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   Statut Membre Dernière intervention   95
 
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   Statut Membre Dernière intervention   95
 
Alors, as tu essayé ?
0