PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 11-08-2011 22:00:10

msi79
Membre
Inscription : 11-08-2011
Messages : 25

inserrer les notes de notes de mes eleve dans ma base de donnée oracle

salut je suis prof de maths et je veux enregistrer les notes des élèves après les évaluations.
et donc j'essaie de créer un code mais ca ne marche pas et je reçois pas d'erreur.
voici mes tables:
eleve( NUM,NOM,PRENOM,CLASSE,AGE,)
participe(NUM,id_eval,date_eval,note)
evaluation(id_eval,,type_eval)

au fait dans ma logique je supose que les eleves sont deja inscrit dans ma table eleve avec un autre formulaire que j'ai crée qui marche bien .
maintenant ce que je veux :
je supose que le prof vien de faire un devoir ou une interrogation et il veut enregistrer les note en se servant de la liste des eleve qui est deja dans la base .
donc avec la liste deja dedans il inserre les notes et en meme temps les note sont affiché en face dans le champs MaNOte
et voici mon code .

<?php
// connexion au sgbd de toute façon c'est utilisé par tout dans la page
$conn = oci_connect("zana", "cool75sool", '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcldb)
(INSTANCE_NAME = orcldb)
(GLOBAL_NAME = orcldb)
))'
);

if (isset($_POST["Valider"])) {
// la suite est discutable un array_walk (par exemple) opurr être plus intérréssant <img src="./images/smilies/icon_wink.gif" alt=";)" title="Wink" />
//$NOM=trim($_POST["NOM"]);
//$PRENOM=trim($_POST["PRENOM"]);
//$CLASSE=trim($_POST["CLASSE"]);
$NOTE=trim($_POST["NOTE"]);

//Dans ma base de donnée j'ai deja enregistrer des eleves de différentes classes
//apres avoir fait une evaluation je veux enregistrer les notes des éleves par exemples ceus de la 4eme classe
// alors je crée une requtte sql qui me permet d'abord de faire une selection des eleves de la 4eme5

//au cas ou ces élèves existent ,dans le champ NOTE qui doit se trouver devant chaque nom ,j'inscrit la note de cet élève

if (!empty($NOM)) {
$sql=oci_parse($conn,"INSERT INTO participe(NOTE) values('".$NOTE."',(SELECT NUM FROM eleve WHERE NUM.eleve=NUM.participe ;))" );
$result = oci_execute($sql);
//Analyse et exécution d'autres commandes ici...
// Validation de la transaction
$committed = oci_commit($conn);// utilise
// Vérification de la validation : si une erreur est survenue, afficher
// le message d'erreur
if (!$committed) {
$error = oci_error($conn);
echo 'Validation échouée. Oracle dit : ' . $error['message'];
}
else{

echo '------------------------Insersion OK !!!!!!!!!';}
}
}
else
{ // au cas ou lélève n'existe pas alors je reçois ce message
echo "LE NOM DE l'élève ne peux être vide !!!";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[url]http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd[/url]">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
<style type="text/css">
<!--
.Style3 {color: #FFFFFF}
.Style4 {color: #FFFFFF; font-weight: bold; }
.Style5 {
color: #CCCCCC;
font-weight: bold;
}
-->
</style>
</head>

<body>

<div align="center">
<h1><a href="MonSiteOK.php" title="Acceuil !!!!" class="Style5">
<input type="image" name="imageField" src="btmylod_1.png" />
</a><em>>>> LISTE DES ELEVES DE 4ème 5 </em> <<<
</h1>
</div>
<table width="754" border="0" align="center" cellspacing="2">
<tr bgcolor="#999999">
<th width="58" scope="row"><span class="Style3">NOM</span></th>
<td width="90"><div align="center" class="Style4">PRENOM</div></td>
<td width="73"><div align="center" class="Style4">CLASSE</div></td>
<td width="275"><div align="center" class="Style4">NOTE</div></td>
<td width="97"><div align="center" class="Style4">MaNote</div></td>
<td width="135">Sa Note </td>
</tr>
<?php
$i=0;
$paire= '33FFFF';
$impaire= 'C0C0C0';
// requete SQL pour l'affichage de la table
$res = oci_parse($conn,"SELECT NUM,NOM,PRENOM,CLASSE FROM eleve WHERE CLASSE='4eme5' ORDER BY NOM ASC" );
if ($res === false ){
// affichage d'un message d'erreur !
}
else {
$req = oci_execute($res);
if ($req === false ){
// affiche le message d'erreur.
}
else {
// la je met des { pour le else mais sans ça fait pareil <img src="./images/smilies/icon_wink.gif" alt=";)" title="Wink" />
while($liste_etu = oci_fetch_assoc($res)) {
?>
<tr bgcolor="#<?php
if( ($i%2) === 0) echo $paire;
else echo $impaire; ?>">
<td><?php echo $liste_etu['NOM'] ?></td>
<td><?php echo $liste_etu['PRENOM'] ?></td>
<td><?php echo $liste_etu['CLASSE'] ?></td>
<td><form id="form1" name="form1" method="post" action="">
<table width="249" border="1" bordercolor="#0000FF">
<tr>
<td width="43"><input type="text" name="NOTE" /></td>
<td width="43"><input type="submit" name="Valider" value="Envoyer" /></td>
<td><input type="reset" name="Submit2" value="Annuler" /></td>
</tr>
</table>
</form>
</td>
<td><?php //echo $liste_etu['NOTE'] ; ?></td>
<td><a href="sa_Note.php" title="click pour entrer la note!!! !!!!" class="Style17">sa note</a></td>
</tr>
<?php
$i++;
}
}
}
?>
</table>
<p> </p>
</body>
</html>

Dernière modification par msi79 (11-08-2011 22:02:04)

Hors ligne

#2 12-08-2011 06:59:03

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : inserrer les notes de notes de mes eleve dans ma base de donnée oracle

msi79 a écrit :

salut je suis prof de maths

Ben mon colon !
Tu nous aurais dit que tu étais prof de lettres que je ne t'aurais pas cru.
J'en reste médusé.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#3 15-08-2011 04:45:45

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : inserrer les notes de notes de mes eleve dans ma base de donnée oracle

big_smile


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#4 15-08-2011 08:25:27

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : inserrer les notes de notes de mes eleve dans ma base de donnée oracle

Au fait, une école/lycée qui tourne une une base Oracle? O_o yikes:o
Moi aussi je suis médusé^^

Dernière modification par Jc (15-08-2011 08:26:11)


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#5 15-08-2011 11:20:45

msi79
Membre
Inscription : 11-08-2011
Messages : 25

Re : inserrer les notes de notes de mes eleve dans ma base de donnée oracle

j'utilise oracle pour mieux apprendre

Hors ligne

#6 15-08-2011 16:17:49

msi79
Membre
Inscription : 11-08-2011
Messages : 25

Re : inserrer les notes de notes de mes eleve dans ma base de donnée oracle

finalement j'ai suprimé la table evaluation . et j"ai mi evaluation comme un champs dans participe .
mais je reçcois l'erreur :

Warning: oci_execute() [function.oci-execute]: ORA-01747: spécification utilisateur.table.colonne, table.colonne ou colonne non valide in C:\wamp\www\Monsite\liste_4eme55.php on line 30

<?php
// connexion au sgbd de toute façon c'est utilisé par tout dans la page
$conn = oci_connect("zana", "cool75sool", '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcldb)
(INSTANCE_NAME = orcldb)
(GLOBAL_NAME = orcldb)
))'
);

if (isset($_POST['Valider'])) {
// la suite est discutable un array_walk (par exemple) opurr être plus intérréssant <img src="./images/smilies/icon_wink.gif" alt=";)" title="Wink" />//$date=trim($_POST["date"]);
$type_e=trim($_POST["type_e"]);
$id_eleve=trim($_POST["id_eleve"]);
$NOTE=trim($_POST["NOTE"]);
$date=trim($_POST["date"]);

//Dans ma base de donnée j'ai deja enregistrer des eleves de différentes classes
//apres avoir fait une evaluation je veux enregistrer les notes des éleves par exemples ceus de la 4eme classe
// alors je crée une requtte sql qui me permet d'abord de faire une selection des eleves de la 4eme5

//au cas ou ces élèves existent ,dans le champ NOTE qui doit se trouver devant chaque nom ,j'inscrit la note de cet élève  

//if (!empty($NOM)) {
    $sql=oci_parse($conn,"INSERT INTO participe (NOTE,id_eleve,type_e,date) values ('".$NOTE."','".$id_eleve."','".$type_e."','".$date."')");
    oci_execute($sql);
    //Analyse et exécution d'autres commandes ici...
    // Validation de la transaction
    $committed = oci_commit($conn);// utilise
    // Vérification de la validation : si une erreur est survenue, afficher
    // le message d'erreur
    if (!$committed) {
        $error = oci_error($conn);
        echo 'Validation échouée. Oracle dit : ' . $error['message'];
    }
    else{
     
        echo '------------------------Insersion OK !!!!!!!!!';}
    }
  // }
else
   { // au cas ou lélève n'existe pas alors je reçois ce message
       echo "LE NOM DE l'élève ne peux être vide !!!";
   }
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[url]http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd[/url]">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
<style type="text/css">
<!--
.Style3 {color: #FFFFFF}
.Style4 {color: #FFFFFF; font-weight: bold; }
.Style5 {
color: #CCCCCC;
font-weight: bold;
}
.Style6 {
  color: #0000FF;
  font-weight: bold;
}
-->
</style>
</head>

<body>

<div align="center">
<h1><a href="MonSiteOK.php" title="Acceuil !!!!" class="Style5">
<input type="image" name="imageField" src="btmylod_1.png" />
</a><em>>>> LISTE DES ELEVES DE 4ème 5 </em> <<<
</h1>
</div>
<table width="822" border="0" align="center" cellspacing="2">
  <tr bgcolor="#999999">
    <th width="22" scope="row">N°</th>
    <th width="42" scope="row"><span class="Style3">NOM</span></th>
    <td width="73"><div align="center" class="Style4">PRENOM</div></td>
    <td width="61"><div align="center" class="Style4">CLASSE</div></td>
    <td width="464"><div align="center" class="Style4">-----ENREGISTRER VOTRE NOTE PAR ICI !!!!!!!! ------ </div>      <div align="center" class="Style3"></div>      <div align="center" class="Style3"></div></td>
    <td width="134"><div align="center" class="Style4">MaNote</div></td>
  </tr>
  <?php
$i=0;
$paire= '33FFFF';
$impaire= 'C0C0C0';
// requete SQL pour l'affichage de la table
$res = oci_parse($conn,"SELECT NUM,NOM,PRENOM,CLASSE FROM eleve WHERE CLASSE='4eme5' ORDER BY NOM ASC");
if ($res === false ){
    // affichage d'un message d'erreur !
}
else {
    $req = oci_execute($res);
    if ($req === false ){
        // affiche le message d'erreur.
    }
    else {
        // la je met des { pour le else mais sans ça fait pareil <img src="./images/smilies/icon_wink.gif" alt=";)" title="Wink" />
        while($liste_etu = oci_fetch_assoc($res)) {
        ?>
  <tr bgcolor="#<?php
        if( ($i%2) === 0) echo $paire;
        else echo $impaire; ?>">
    <td><?php echo $liste_etu['NUM'] ?></td>
    <td><?php echo $liste_etu['NOM'] ?></td>
    <td><?php echo $liste_etu['PRENOM'] ?></td>
    <td><?php echo $liste_etu['CLASSE'] ?></td>
    <td><form id="form1" name="form1" method="post" action="">
      <table width="463" border="0">
        <tr>
          <td width="101"><span class="Style6">NOTE</span></td>
          <td width="146"><input type="text" name="NOTE" value="" /></td>
          <td width="49"><span class="Style6">ID</span></td>
          <td width="362"><select name="id_eleve">
              <option>1</option>
              <option>2</option>
              <option>3</option>
              <option>4</option>
              <option>5</option>
              <option>6</option>
              <option>7</option>
              <option>8</option>
              <option>9</option>
              <option>10</option>
              <option>11</option>
              <option>12</option>
              <option>13</option>
              <option>14</option>
              <option>15</option>
              <option>16</option>
              <option>17</option>
              <option>18</option>
              <option>19</option>
              <option>20</option>
              <option>21</option>
              <option>22</option>
              <option>23</option>
              <option>24</option>
              <option>25</option>
              <option>26</option>
              <option>27</option>
              <option>28</option>
              <option>29</option>
              <option>30</option>
              <option>31</option>
              <option>32</option>
              <option>33</option>
              <option>34</option>
              <option>35</option>
              <option>36</option>
              <option>37</option>
              <option>38</option>
              <option>38</option>
              <option>40</option>
              <option>41</option>
              <option>42</option>
              <option>43</option>
              <option>44</option>
              <option>45</option>
              <option>46</option>
              <option>47</option>
              <option>48</option>
              <option>49</option>
              <option>50</option>
              <option>51</option>
              <option>52</option>
              <option>53</option>
              <option>54</option>
              <option>55</option>
              <option>56</option>
              <option>57</option>
              <option>58</option>
              <option>59</option>
              <option>60</option>
              <option>61</option>
              <option>62</option>
              <option>63</option>
              <option>64</option>
              <option>65</option>
              <option>66</option>
              <option>67</option>
              <option>68</option>
              <option>69</option>
              <option>70</option>
              <option>71</option>
              <option>72</option>
              <option>73</option>
              <option>74</option>
              <option>75</option>
              <option>76</option>
              <option>77</option>
              <option>78</option>
              <option>79</option>
              <option>80</option>
          </select></td>
        </tr>
        <tr>
          <td><span class="Style6">EVALUAT°</span></td>
          <td><select name="type_e">
              <option>INTERROGATION</option>
              <option>DEVOIR</option>
          </select></td>
          <td><span class="Style6">DATE</span></td>
          <td><input type="text" name="date" /></td>
        </tr>
        <tr>
          <td><input type="submit" name="Valider" value="Envoyer" /></td>
          <td> </td>
          <td> </td>
          <td> </td>
        </tr>
      </table>
    </form>      
    </td>
    <td><?php //echo $liste_etu['NOTE'] ; ?></td>
  </tr>
  <?php
        $i++;
        }
}
}
?>
</table>
<p> </p>
<p> </p>
</body>
</html>

Hors ligne

#7 15-08-2011 16:25:33

msi79
Membre
Inscription : 11-08-2011
Messages : 25

Re : inserrer les notes de notes de mes eleve dans ma base de donnée oracle

je viens de surprime le champ date et ça passe . mais si je veux avoir la date de l’évaluation comment je fait.

pourquoi avec le champs date j'avais cette erreur

Hors ligne

#8 15-08-2011 16:58:28

msi79
Membre
Inscription : 11-08-2011
Messages : 25

Re : inserrer les notes de notes de mes eleve dans ma base de donnée oracle

je viens de remarquer que c'est la dernière note du dernière nom de la liste qui est enregistré les autres notes ne sont pas enregistré

Dernière modification par msi79 (15-08-2011 17:01:05)

Hors ligne

#9 16-08-2011 07:48:12

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : inserrer les notes de notes de mes eleve dans ma base de donnée oracle

Bon, c'est la deuxième fois que je colorise ton code dans ce post.
Habituellement, je ne me donne pas ce mal, je dezingue le post sans autre forme de procès.
D'autant qu'ici, vu la longueur, c'est le wall qui devrait être utilisé.
Dernier avertissement.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#10 02-09-2011 23:02:56

msi79
Membre
Inscription : 11-08-2011
Messages : 25

Re : inserrer les notes de notes de mes eleve dans ma base de donnée oracle

doublon !!! wink

Hors ligne

Pied de page des forums