Requête sql oracle qui ne marche pas
salut j'ai crée un code pour inserer les notes des eleves dans ma base de donnée oracle .
mais aucune insertions de note ne se passe .
voici mes tables :
eleve( NUM,NOM,PRENOM,CLASSE,AGE,)
participe(id_eleve,id_eval,date_eval,note) /////////// id_eleve fait reference a NUM
evaluation(id_eval,,type_eval)
et voici mon code :
mais aucune insertions de note ne se passe .
voici mes tables :
eleve( NUM,NOM,PRENOM,CLASSE,AGE,)
participe(id_eleve,id_eval,date_eval,note) /////////// id_eleve fait reference a NUM
evaluation(id_eval,,type_eval)
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"]);
$id_evaluation=trim($_POST["id_evaluation"]);
$id_eleve=trim($_POST["id_eleve"]);
$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,id_eleve,id_evaluation) values ('".$NOTE."','".$id_eleve."','".$id_evaluation."')");
$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" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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="888" 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><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="82"><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="">
<span class="Style6">NOTE</span>
<input type="text" name="NOTE" value="" />
<span class="Style6">id_eleve</span>
<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>
<span class="Style6"> id_evaluat°</span>
<select name="id_evaluation">
<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>
</select>
<input type="submit" name="Valider" value="Envoyer" />
</form> </td>
<td><?php //echo $liste_etu['NOTE'] ; ?></td>
</tr>
<?php
$i++;
}
}
}
?>
</table>
<p> </p>
</body>
</html>
10 réponses
-
salut voici mon code et l'erreur que je reçois quelqu'un pourait m'aider .
merci d'avance .
-----------------------------------------------------------------------------
Warning: trim() expects parameter 1 to be string, array given in C:\wamp\www\Monsite\liste_4eme55.php on line 19
Warning: oci_execute() [function.oci-execute]: ORA-00911: caractère non valide in C:\wamp\www\Monsite\liste_4eme55.php on line 30
------------------------Insersion OK !!!!!!!!!
----------------------------------------------------------------------------<?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) values ('".$NOTE."',(SELECT b.id_eleve FROM eleve a ,participe b WHERE NUM.a =id_eleve.b ;),'".$type_e."')"); 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" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <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>> ENREGISTRER LES NOTES DES ELEVES DE 4ème 5 </em> < </h1> </div> <form id="form2" name="form2" method="post" action=""> <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><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> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td> </td> <td> </td> <td> </td> </tr> </table></td> <td><?php //echo $liste_etu['NOTE'] ; ?></td> </tr> <?php $i++; } } } ?> </table> <table width="200" border="0"> <tr> <td> </td> <td><select name="type_e"> <option>INTERROGATION</option> <option>DEVOIR</option> </select></td> <td><input type="submit" name="Valider" value="Enregistrer" /></td> </tr> </table> <p> </p> </form> <p> </p> <p> </p> <p> </p> </body> </html>