Récupérer des notes ecrite dans un textaréa

Fermé
skaman851 Messages postés 13 Date d'inscription jeudi 12 février 2009 Statut Membre Dernière intervention 9 octobre 2009 - 24 févr. 2009 à 10:33
NookZ Messages postés 2138 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 7 mars 2013 - 24 févr. 2009 à 16:23
Bonjour,

Stagiaire en temps qu'admin réseau dans un lycée je m'occupe actuellement de la refonte de l'intranet.

Je voudrais que les profs arriver sur une page de ce mm intranet rentre des notes d'élèves dans un textarea puis je voudrais en calculer la moyenne!

Pour la moyenne j'ai le formulaire qui fonctionne :

function MoyenneGenerale()
{
$Nombres = func_get_args();
$Nb = sizeof($Nombres);
$Somme = 0;
foreach ($Nombres as $Valeur)
{
$Somme += $Valeur;
}
return ($Somme / $Nb);
}


$MoyenneGenerale = MoyenneGenerale('$resultat1','$resultat2','$resultat3','$resultat4');
echo $MoyenneGenerale;

Mais ce que je n'arrive pas c'est de récupérer ces notes séparé par virgule depuis le textarea sachant que je suis obligé dans utiliser un car la possibilité des notes est grande a défaut d'une liste déroulante.

La personne qui est passé avant moi à essayer quelques choses mais j'en comprend pas trop le sens :

while($r7=mysql_fetch_array($requete7))
{
$angl_parler = $r7['ANGL_PARLER'];
$tab_angl_parler = split("/,;",$r7['ANGL_PARLER']);
}


<TEXTAREA name="angl_parler" rows=5 COLS=15 value=""><?php echo "$angl_parler " ; ?></TEXTAREA>

Merci de votre aide

Cordialement

Skaman85

4 réponses

NookZ Messages postés 2138 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 7 mars 2013 514
24 févr. 2009 à 10:40
Il vaudrait mieux séparer les notes par des ";" sachant qu'il doit pouvoir y avoir des notes à virgules.

Après il suffira de récupérer le contenu du text area (attribut value) et de faire
$tab = array();
$tab = split(';',$chaineretournee); // renvoie tous les textes séparés par des ;

exemple :
textarea.value = "10,6;12;1"
$tab aura pour valeurs
tab[0] = "10,6"
tab[1] = "12"
tab[2] = "1"
0
skaman851 Messages postés 13 Date d'inscription jeudi 12 février 2009 Statut Membre Dernière intervention 9 octobre 2009
24 févr. 2009 à 10:48
ok merci,

Mais je ne sait pas où mettre ton $tab = array();
0
NookZ Messages postés 2138 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 7 mars 2013 514 > skaman851 Messages postés 13 Date d'inscription jeudi 12 février 2009 Statut Membre Dernière intervention 9 octobre 2009
24 févr. 2009 à 10:51
eh bien dans la page qui reçoit le formulaire à l'endroit où tu veux traiter les données du textarea, donc n'importe où avant que tu aies besoin de ces données.
0
skaman851 Messages postés 13 Date d'inscription jeudi 12 février 2009 Statut Membre Dernière intervention 9 octobre 2009 > NookZ Messages postés 2138 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 7 mars 2013
24 févr. 2009 à 11:07
Tu va me prendre pour un gros lourd qui comprend rien mais je vois ou tu veut en venir mais je ne sait pas du tout comment m'y prendre, voici ce que j'avais avant :

<?php

// Faire correspodnre l'ID eleve avec l'eleve
mysql_connect('localhost','root','sdkwIJ33');
mysql_select_db('bdd_langue');

$trimestre = $_POST['Liste3'] ;

$requete7=mysql_query('SELECT * FROM `fiche_indiv` WHERE `ID_FICHE_INDIV` ='.$trimestre.'');
mysql_close();

while($r7=mysql_fetch_array($requete7))
{
$angl_parler = $r7['ANGL_PARLER'];
$tab_angl_parler = split("/,;",$r7['ANGL_PARLER']);
}
?>

<TEXTAREA name="angl_parler" rows=5 COLS=15 value=""><?php echo "$angl_parler " ; ?></TEXTAREA>

Et voici ce que j'ai fait :

<?php

// Faire correspodnre l'ID eleve avec l'eleve
mysql_connect('localhost','root','sdkwIJ33');
mysql_select_db('bdd_langue');

$trimestre = $_POST['Liste3'] ;

$requete7=mysql_query('SELECT * FROM `fiche_indiv` WHERE `ID_FICHE_INDIV` ='.$trimestre.'');
mysql_close();

while($r7=mysql_fetch_array($requete7))
{
$tab = array();
$tab = split(';',$chaineretournee); // renvoie tous les textes séparés par des ;

}
?>


<TEXTAREA name="angl_parler" rows=5 COLS=15 value=""><?php echo "$tab " ; ?></TEXTAREA>


function MoyenneGenerale()
{
$Nombres = func_get_args();
$Nb = sizeof($Nombres);
$Somme = 0;
foreach ($Nombres as $Valeur)
{
$Somme += $Valeur;
}
return ($Somme / $Nb);
}

$MoyenneGenerale = MoyenneGenerale('$tab');
echo $MoyenneGenerale;

Oui je sait c'est bourrer d'erreur!!! Mais merci quand meme

Cordialement

Martineau Charly
0
NookZ Messages postés 2138 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 7 mars 2013 514
24 févr. 2009 à 11:25
Mais comment ils savent de quels élèves ils rentrent les notes, il vous faudrait un formulaire plus complet :s
0
skaman851 Messages postés 13 Date d'inscription jeudi 12 février 2009 Statut Membre Dernière intervention 9 octobre 2009
24 févr. 2009 à 11:33
Attention prépare toi car niveau complexité je suis sur que tu va aimer :

<html>

<HEAD><TITLE>Bulletin de Langues</TITLE>
<link title="css1" rel="stylesheet" href="../style_bulletin.css" type="text/css" media="screen" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</HEAD>


<body align="center">

<div id="contenufiche">


<table id="tabentete" >


<tr id="tabentete2">


<!------------------------------------------------------------AFFICHAGE PHOTO DE L'ELEVE--------------------------------------------------------------------------->
<td id="tabphoto" >
<?php
//permet de retourner l'id de l'eleve qui est necessaire pour selectionner sa photo
$nom = $_POST['Liste2'] ;
echo ('<img src="../../absences/images/photosEleves/'.$nom.'.bmp" height="160px" />');


?>

</td>

<td>

<?php

/*------------------------------------------------------------ASSOCIATION ID_CLASSE ET NOM_CLASSE ----------------------------------------------------------------------------*/

// récuperation des valeur envoyé par methodes POST ( classe , nom , trimestre )
$classe = $_POST['Liste1'] ;
$trimestre = $_POST['Liste3'] ;

// Faire Correspondre l'ID classe avec la classe
mysql_connect('localhost','root','sdkwIJ33');
mysql_select_db('bdd_langue');

$requete=mysql_query('SELECT * FROM `classe` WHERE `ID_CLASSE` ='.$classe.'');
mysql_close();

while($r=mysql_fetch_array($requete))
{
$nom_eleve = $r['LIB_CLASSE'];
}

/*------------------------------------------------------------ASSOCIATION NUMERO_ELEVE ET NOM_ELEVE ----------------------------------------------------------------------------*/
// Faire correspodnre l'ID eleve avec l'eleve
mysql_connect('localhost','root','sdkwIJ33');
mysql_select_db('bdd_langue');


$requete2=mysql_query('SELECT * FROM `etudiants` WHERE `NUMERO` ='.$nom.'');
mysql_close();

while($r2=mysql_fetch_array($requete2))
{
$nom_pre = $r2['NOM_PRE'];
}

/*------------------------------------------------------------ASSOCIATION ID_FICHE ET TRIMESTRE ----------------------------------------------------------------------------*/
// Faire correspodnre l'ID eleve avec l'eleve
mysql_connect('localhost','root','sdkwIJ33');
mysql_select_db('bdd_langue');


$requete3=mysql_query('SELECT * FROM `dispose` WHERE `ID_FICHE_INDIV` ='.$trimestre.'');
mysql_close();

while($r3=mysql_fetch_array($requete3))
{
$trimestrecours = $r3['TRIMESTRE'];
}


/*------------------------------------------------------------MATIERE DE L'ELEVE ----------------------------------------------------------------------------*/


mysql_connect('localhost','root','sdkwIJ33');
mysql_select_db('bdd_langue');


$requete25=mysql_query('SELECT * FROM `avoir` WHERE `NUMERO` ='.$nom.'');


while($r25=mysql_fetch_array($requete25))
{
$id_option = $r25['ID_MATIERE_OPT'];
$requete26=mysql_query('SELECT * FROM `matiere_opt` WHERE `ID_MATIERE_OPT` ='.$id_option.'');

while($r26=mysql_fetch_array($requete26))
{
$option = $r26['LIB_MATIERE_OP'];

}
}


mysql_close();




/*------------------------------------------------------------AFFICHAGE DES INFORMATIONS----------------------------------------------------------------------------*/

echo "<center><B> BULLETIN DE LANGUE de $nom_pre <br/>
CLASSE $nom_eleve $trimestrecours $angl_lire</B></center> " ;

?>

</td>

<!------------------------------------------------------------AFFICHAGE DU LOGO--------------------------------------------------------------------------->
<td id="tablogo">
<IMG SRC="../img/logo_LND.png" height="200px">
</td>

</tr>




</table>

<div id="relevenote" href="login.html" >
</br>
<IMG SRC="../img/relevenote.png" >
</div>
</br>







<!----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

TITIRE TABLEAU

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------->



<form method="post" action="" name="TableauRech" onclick="">
<table id="relevenotetab"; >
<tr>
<th><IMG SRC="../img/eu2.png" height="50px"></th>
<th>LIRE</th>
<th>ECRIRE</th>
<th>ECOUTER</th>
<th>PARLER</th>
<th>MOYENNE</th>
</tr>

<!-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

LIGNE ANGLAIS NOTE

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------->

<tr id="anglais" class = "none">




<td id="tdmatiere">Anglais </br> <IMG SRC="../img/anglais.png" height="50px"></td>


<!----------------------------------------------------------------NOTE ANGLAIS LIRE ------------------------------------------------------------------------------------------>


<td id="note_angl_lire" class="tdnote">

<?php

// Faire correspodnre l'ID eleve avec l'eleve
mysql_connect('localhost','root','sdkwIJ33');
mysql_select_db('bdd_langue');

$trimestre = $_POST['Liste3'] ;


$requete4=mysql_query('SELECT * FROM `fiche_indiv` WHERE `ID_FICHE_INDIV` ='.$trimestre.'');


while($r4=mysql_fetch_array($requete4))
{
$angl_lire = $r4['ANGL_LIRE'];
$tab_angl_lire = split("/,;",$r4['ANGL_LIRE']);

}
mysql_close();
?>
<!------------------------------------------------------------AFFICHAGE DES INFORMATIONS---------------------------------------------------------------------------->

<TEXTAREA name="angl_lire" rows=5 COLS=15 value=""><?php echo "$angl_lire " ; ?></TEXTAREA>

<!------------------------------------------------------------REGLE D'EVALUATION---------------------------------------------------------------------------->
<div id="radio">
<input name="radio1" type="radio">
<input name="radio1" type="radio">
<input name="radio1" type="radio">
<input name="radio1" type="radio">
<input name="radio1" type="radio">
</div>

</td>

<!----------------------------------------------------------------NOTE ANGLAIS ECRIRE ------------------------------------------------------------------------------------------>


<td id="note_angl_ecrire" class="tdnote">

<?php

// Faire correspodnre l'ID eleve avec l'eleve
mysql_connect('localhost','root','sdkwIJ33');
mysql_select_db('bdd_langue');

$trimestre = $_POST['Liste3'] ;

$requete5=mysql_query('SELECT * FROM `fiche_indiv` WHERE `ID_FICHE_INDIV` ='.$trimestre.'');


while($r5=mysql_fetch_array($requete5))
{
$angl_ecrire = $r5['ANGL_ECRIRE'];
$tab_angl_ecrire = split("/,;",$r5['ANGL_ECRIRE']);
}

mysql_close();
?>
<!------------------------------------------------------------AFFICHAGE DES INFORMATIONS---------------------------------------------------------------------------->

<TEXTAREA name="angl_ecrire" rows=5 COLS=15 value=""><?php echo "$angl_ecrire " ; ?></TEXTAREA>

<!------------------------------------------------------------REGLE D'EVALUATION---------------------------------------------------------------------------->
<div id="radio">
<input name="radio2" type="radio">
<input name="radio2" type="radio">
<input name="radio2" type="radio">
<input name="radio2" type="radio">
<input name="radio2" type="radio">
</div>


</td>

<!----------------------------------------------------------------NOTE ANGLAIS ECOUTER ------------------------------------------------------------------------------------------>


<td id="note_angl_ecouter" class="tdnote">

<?php

// Faire correspodnre l'ID eleve avec l'eleve
mysql_connect('localhost','root','sdkwIJ33');
mysql_select_db('bdd_langue');

$trimestre = $_POST['Liste3'] ;

$requete6=mysql_query('SELECT * FROM `fiche_indiv` WHERE `ID_FICHE_INDIV` ='.$trimestre.'');
mysql_close();

while($r6=mysql_fetch_array($requete6))
{
$angl_ecouter = $r6['ANGL_ECOUTER'];
$tab_angl_ecouter = split("/,;",$r6['ANGL_ECOUTER']);
}
?>
<!------------------------------------------------------------AFFICHAGE DES INFORMATIONS---------------------------------------------------------------------------->

<TEXTAREA name="angl_ecouter" rows=5 COLS=15 value=""><?php echo "$angl_ecouter " ; ?></TEXTAREA>

<!------------------------------------------------------------REGLE D'EVALUATION---------------------------------------------------------------------------->
<div id="radio">
<input name="radio3" type="radio">
<input name="radio3" type="radio">
<input name="radio3" type="radio">
<input name="radio3" type="radio">
<input name="radio3" type="radio">
</div>




</td>



<!----------------------------------------------------------------NOTE ANGLAIS PARLER ------------------------------------------------------------------------------------------>


<td id="note_angl_parler" class="tdnote">

<?php

// Faire correspodnre l'ID eleve avec l'eleve
mysql_connect('localhost','root','sdkwIJ33');
mysql_select_db('bdd_langue');

$trimestre = $_POST['Liste3'] ;

$requete7=mysql_query('SELECT * FROM `fiche_indiv` WHERE `ID_FICHE_INDIV` ='.$trimestre.'');
mysql_close();

while($r7=mysql_fetch_array($requete7))
{
$angl_parler = $r7['ANGL_PARLER'];
$tab_angl_parler = split("/,;",$r7['ANGL_PARLER']);
}
?>
<!------------------------------------------------------------AFFICHAGE DES INFORMATIONS---------------------------------------------------------------------------->

<TEXTAREA name="angl_parler" rows=5 COLS=15 value=""><?php echo "$angl_parler " ; ?></TEXTAREA>

<!------------------------------------------------------------REGLE D'EVALUATION---------------------------------------------------------------------------->

<div id="radio">
<input name="radio4" type="radio">
<input name="radio4" type="radio">
<input name="radio4" type="radio">
<input name="radio4" type="radio">
<input name="radio4" type="radio">
</div>

</td>

<!----------------------------------------------------------------MOYENNE DE L'ELEVE ANGLAIS------------------------------------------------------------------------------------------>
<td id="moyenne_angl" class="tdnote">


<?php

/*----------------------------------------------------------------MOYENNE CATEGORIE LIRE------------------------------------------------------------------------------------------*/

function MoyenneLire()
{
$Nombres = func_get_args();
$Nb = sizeof($Nombres);
$Somme = 0;
foreach ($Nombres as $Valeur)
{
$Somme += $Valeur;
}
return ($Somme / $Nb);
}

$MoyenneLire = MoyenneLire('$resultat1','$resultat2','$resultat3','$resultat4');

/*----------------------------------------------------------------MOYENNE CATEGORIE ECRIRE------------------------------------------------------------------------------------------*/
function MoyenneEcrire()
{
$Nombres = func_get_args();
$Nb = sizeof($Nombres);
$Somme = 0;
foreach ($Nombres as $Valeur)
{
$Somme += $Valeur;
}
return ($Somme / $Nb);
}

$MoyenneEcrire = MoyenneEcrire('$resultat1','$resultat2','$resultat3','$resultat4');

/*----------------------------------------------------------------MOYENNE CATEGORIE ECOUTER------------------------------------------------------------------------------------------*/

function MoyenneEcouter()
{
$Nombres = func_get_args();
$Nb = sizeof($Nombres);
$Somme = 0;
foreach ($Nombres as $Valeur)
{
$Somme += $Valeur;
}
return ($Somme / $Nb);
}

$MoyenneEcouter = MoyenneEcouter('$resultat1','$resultat2','$resultat3','$resultat4');


/*----------------------------------------------------------------MOYENNE CATEGORIE PARLER------------------------------------------------------------------------------------------*/
function MoyenneParler()
{
$Nombres = func_get_args();
$Nb = sizeof($Nombres);
$Somme = 0;
foreach ($Nombres as $Valeur)
{
$Somme += $Valeur;
}
return ($Somme / $Nb);
}

$MoyenneParler = MoyenneParler('$resultat1','$resultat2','$resultat3','$resultat4');


/*----------------------------------------------------------------MOYENNE GENERAL------------------------------------------------------------------------------------------*/

function MoyenneGenerale()
{
$Nombres = func_get_args();
$Nb = sizeof($Nombres);
$Somme = 0;
foreach ($Nombres as $Valeur)
{
$Somme += $Valeur;
}
return ($Somme / $Nb);
}

$MoyenneGenerale = MoyenneGenerale('$resultat1','$resultat2','$resultat3','$resultat4');
echo $MoyenneGenerale;
?>
</td>

</tr>


<!----------------------------------------------------------------BOUTON VALIDER ANGLAIS----------------------------------------------------------------------------------------->

</table>
</br>
<center><input type="submit" class="img_val" title="Valider" value="Valider" action="" ></input></center>
</form>
</div>
<!-- fin du body-->
</body>
<!-- fin du html -->
</html>
0
NookZ Messages postés 2138 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 7 mars 2013 514
24 févr. 2009 à 11:40
Eh beh, vous avez dû vous amuser -_-

Donc en fait les notes sont affichées dans le textarea à la bas afin que les profs puissent les modifier si j'ai bien compris?

Par contre je ne comprend pas pourquoi ça ne marchait pas ce que l'autre élève avait fait?
0
skaman851 Messages postés 13 Date d'inscription jeudi 12 février 2009 Statut Membre Dernière intervention 9 octobre 2009
24 févr. 2009 à 14:06
Oui en clair les profs tapent leurs différentes notes dans chaque case afin de les imprimer mais veulent aussi que ce formulaire calcul la moyenne par matière.

Justement bonne question car ce que tu à vu est déjà mon travail car avant c'était un sacré chantier....

Maintenant je mets de l'ordre mais cela ne marche toujours pas...
0
NookZ Messages postés 2138 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 7 mars 2013 514 > skaman851 Messages postés 13 Date d'inscription jeudi 12 février 2009 Statut Membre Dernière intervention 9 octobre 2009
24 févr. 2009 à 14:21
ça fait quoi pour l'instant?
Ça affiche les notes de chaque matière dans les Textarea mais pas de modif possible?
0
skaman851 Messages postés 13 Date d'inscription jeudi 12 février 2009 Statut Membre Dernière intervention 9 octobre 2009
24 févr. 2009 à 16:03
Ba pour l'instant oui je peux modifier mes notes comme je veux vu que c'est du textarea mais ça ne renvoi rien les calculs ne ce font pas!!! peux tu m'aider a reprendre mon script que je t'es filé ?
0
NookZ Messages postés 2138 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 7 mars 2013 514
24 févr. 2009 à 16:23
Pourquoi n'utilises-tu pas les deux fonction de moyennes mise à ta disposition? Normalement la moyenne générale c'est la somme de la moyenne orale et de la moyenne écrite, le tout divisé par deux.
0