Tableau dynamique

Tableau dynamique - PHP - Programmation

Marsh Posté le 23-06-2014 à 11:52:59    

Bonjour,
 
Je cherche a créer un tableau qui s'affiche avec un en-tête : élève - date - note examen_blanc - note examen_reel.
 
Je souhaiterais que le tableau crée de nouvelles lignes automatiquement. Si par exemple, l'élève n'a pas passé d'examen, il n'y aura aucune ligne(excepté l'en-tête), au contraire s'il a passé deux examen blanc, deux lignes se créeront.
 
Voilà, j'aimerais savoir quelle est la meilleure méthode pour cela.
 
Merci d'avance.

Reply

Marsh Posté le 23-06-2014 à 11:52:59   

Reply

Marsh Posté le 23-06-2014 à 16:34:47    

Bon, ben pour mieux expliquer, ce que je veux :
 
http://img4.hostingpics.net/pics/900679Capture.png
 
 
Mon code actuel :

Code :
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.  <meta charset="utf-8" />
  5.  <title>Affichage Examen</title>
  6. </head>
  7. <body>
  8.  <?php echo "<div id=\"titre\" style='margin-left:150px'><h1>Promotion : </h1>\n"; ?>
  9.  <form method="post" action="">
  10.  <SELECT NAME="Promo" style="width : 200px">
  11.  <?php
  12.   echo'
  13.   <OPTION VALUE="" selected="selected"></option>
  14.   <OPTION VALUE="Bachelor 2003">Bachelor 2003</option>
  15.   <OPTION VALUE="Bachelor 2004">Bachelor 2004</option>
  16.   <OPTION VALUE="Bachelor 2005">Bachelor 2005</option>
  17.   <OPTION VALUE="Bachelor 2006">Bachelor 2006</option>
  18.   <OPTION VALUE="Bachelor 2007">Bachelor 2007</option>
  19.   <OPTION VALUE="Bachelor 2008">Bachelor 2008</option>
  20.   <OPTION VALUE="Bachelor 2009">Bachelor 2009</option>
  21.   <OPTION VALUE="Bachelor 2010">Bachelor 2010</option>
  22.   <OPTION VALUE="Bachelor 2011">Bachelor 2011</option>
  23.   <OPTION VALUE="Bachelor 2012">Bachelor 2012</option>
  24.   <OPTION VALUE="Bachelor 2013">Bachelor 2013</option>
  25.   <OPTION VALUE="Bachelor 2014">Bachelor 2014</option>'
  26.  ?>
  27.  </SELECT>
  28.  </form>
  29.  <?php echo "<div id=\"titre\"><h1>Elève : </h1>\n"; ?>
  30.  <form method="post" action="">
  31.  <SELECT NAME="élève" VALUE="" style="width : 200px">
  32.   <OPTION VALUE="" selected="selected"></option>
  33.   <OPTION VALUE="Nom Prenom">Jean Toto</option>
  34.   <OPTION VALUE="Nom Prenom">Bill Gates</option>
  35.   <OPTION VALUE="Nom Prenom">Schwarzenegger</option>
  36.  </SELECT>
  37.  </form>
  38.  <?php
  39.  echo '<br />';
  40.  echo '<br />';
  41.  echo '<br />';
  42.  TOEIC();
  43.  function TOEIC()
  44.  {
  45.   $TOEICBLANC;
  46.   $TOEICREEL;
  47.   $date;
  48.   $nbnote = 5;
  49.   $nom = 'Bill Gates';
  50.   echo "<table align='center' cellpadding='5px' height='250px' width='700px' cellspacing='3px' border='2px' style='margin-top:-250px'>
  51.   <tr align='center'>
  52.    <th>Nom Eleve</th>
  53.    <th>Date</th>
  54.    <th>Note Examen Blanc</th>
  55.    <th>Note Examen Réel</th>
  56.   </tr>";
  57.   for($j = 1; $j<=$nbnote; $j++)
  58.   {
  59.    echo"
  60.    <tr align='center'>
  61.     <td>$nom</td>
  62.     <td> </td>
  63.     <td> </td>
  64.     <td> </td>
  65.    </tr>";
  66.   }
  67.   echo "</table>";
  68.  }
  69.  ?>
  70. </body>
  71. </html>


 
Quel est selon vous la meilleure méthode pour passer les variables dans ce tableau. Rien n'est dynamique pour le moment, en attente de la meilleure solution, la plus simple si possible.


Message édité par chocobipo le 30-06-2014 à 09:33:18
Reply

Marsh Posté le 24-06-2014 à 10:00:02    

Pour encore mieux m'expliquer :
 
J'ai un examen, il peut être blanc ou réel, est fait à une date et par un étudiant, donne une note.
 
Il faut afficher chacune de ses données dans un tableau, pour savoir si c'est un examen blanc ou réel, j'ai déjà prévu de mettre en blanc la note si c'est un examen blanc et en vert si c'est réel.

Reply

Marsh Posté le 26-06-2014 à 18:23:14    

Pour ma part je n'ai pas saisi où se situait ton problème.
 
Dans la partie formatage ?
Dans la partie traitement des données ?

Reply

Marsh Posté le 27-06-2014 à 09:11:16    

C'est assez compliqué d'expliquer étant donné que je travaille sur la base de donnée d'un site dont je ne dois divulguer aucune information essentielle.
 
J'ai réussi à faire fonctionner la liste déroulante qui trouve les élèves en fonction de leur promo. Ensuite, un bouton est positionné à côté de chaque nom d'élève. Au clic, celui-ci nous montre un tableau dynamique avec toutes ces notes d'examens.
 
Mon tableau est pour le moment statique.


Message édité par chocobipo le 30-06-2014 à 09:34:28
Reply

Marsh Posté le 27-06-2014 à 09:40:05    

Pareil j'ai beau relire je comprends pas le problème.


---------------
Viens jouer aux Rébus sur HFR
Reply

Marsh Posté le 27-06-2014 à 15:19:18    

^^ Je vais poser une autre question puisque j'ai réglé le problème incompréhensible ;)  
 
J'ai un tableau à deux colonnes, la première c'est le nom des élèves, la deuxième ce sont seulement des boutons. Donc, à chaque ligne, il y a un nom d'élève et un bouton. Je souhaite qu'en cliquant sur un bouton, la case avec le nom de l'élève devienne de couleur verte. Y a t'il moyen de faire ceci sans passer par du css ?

Reply

Marsh Posté le 27-06-2014 à 16:33:27    

Non mais tes questions ont aucun sens, mais vraiment. De tout façon pour changer la couleur d'un élément sur une appli web tu passeras forcément par du style d'éléments, le css n'est qu'une feuille de styles donc j'espère que tu te rends compte qu'on peut pas te répondre.  
 
En gros et je pense pas être le seul, j'ai l'impression que tu ne connais pas les bases.


---------------
Viens jouer aux Rébus sur HFR
Reply

Marsh Posté le 28-06-2014 à 11:12:27    

:hello: !

 

C'est surtout qu'il n'y a à priori aucune difficulté pour faire ce dont il a besoin [:spamafote]
Si j'ai bien compris ce qu'il veut faire, il doit afficher un nombre de lignes dans un tableau en fonction du nombre d'examens qu'un étudiant a passé. Et cela se fait par une boucle en PHP.

 

Edit : D'ailleurs, en regardant ton template de tableau, on peut voir que le nom de l'élève se répète. Tu pourrais enlever cette colonne de ton tableau vu que tu affiches déjà le nom dans la liste déroulante. Ou alors tu pourrais l'afficher au-dessus du tableau.


Message édité par Soileh le 28-06-2014 à 11:16:50

---------------
And in the end, the love you take is equal to the love you make
Reply

Marsh Posté le 30-06-2014 à 09:26:02    

Oui j'ai pu remarquer que le nom d'élève se répétait, du coup je l'ai retiré car il ne servait en effet à rien :)  
 
En faite, je n'ai jamais utilisé de sql dans du php, c'est pourquoi mes questions peuvent paraître peu claires. Mon maître de stage m'a apparemment caché quelque chose... Je ne pouvais pas continuer étant donné que dans la base de donnée, il n'y avait aucune table examen...
 
Je vous remontre une autre image d'où j'en suis.
 
http://img4.hostingpics.net/pics/832435Capturecopie.png
 
Le tableau de droite est pour le moment statique avec des données complètement erronés. On a crée avec mon maître de stage, une requête sql, qui affiche un tableau examen, avec le nom de l'élève, la date, la note, le type(blanc, réel). Ce que je souhaite, c'est qu'en cliquant sur le bouton "Voir les notes", la case élève de gauche se colore pour bien savoir à qui sont ces notes.
 
Lorsque je clique sur afficher les notes, l'url du site change, avec des données supplémentaires. Enfin, laissez tomber ce topic, je pense pas que vous puissiez m'aider.
Désolé pour la gêne.


Message édité par chocobipo le 30-06-2014 à 11:07:54
Reply

Marsh Posté le 30-06-2014 à 09:26:02   

Reply

Marsh Posté le 30-06-2014 à 12:05:56    

1- Le client reçoit une page
2- Le client envoi des infos au serveur
3- Le serveur traite les données envoyées
4- Le serveur envoi une nouvelle page au client
 
Donc là le client reçoit ta page, il clic sur "voir les notes de l'élève X", il envoi des données au serveur par la méthode GET ou POST (ici le nom de l'élève ou son ID). Le serveur récupère donc les données et crée une nouvelle page en fonction puis envoi cette page au client.
 
À quel étape se situe ton problème?

Reply

Marsh Posté le 30-06-2014 à 13:52:36    

Je suis pas très doué en base de donnée mais ce que tu as dit, ben c'est bien ça, au moment ou on clic sur "voir les notes" ça ajoute à l'url une variable. Je souhaiterais qu'à chaque fois que cette variable est rajoutée, le tableau accompagné de toutes les données s'affiche.
 

Code :
  1. echo "<p>\n";
  2.  echo "<table class=\"tab\">\n";
  3.  echo "<tr>\n";
  4.  echo "\t<th>Examen</th>\n";
  5.  echo "\t<th>Note</th>\n";
  6.  echo "\t<th>Date</th>\n";
  7.  echo "</tr>\n";
  8.  $req ="requête sql qui affiche le tableau avec les données examen blanc ou réel, la note, et la date";
  9.  $query = $Db->prepare($req);
  10.  $data = $query->fetchAll();
  11.  foreach ($data as $row)
  12.  {
  13.   echo "<tr>\n";
  14.   echo "\t<td>".$row['examen']."</td>\n";
  15.   echo "\t<td>".$row['Note']."</td>\n";
  16.   echo "\t<td>".$row['Date']."</td>\n";
  17.   echo "</tr>\n";
  18.  }
  19.  echo "</table>\n";
  20.  echo "</p>\n";


 
 
Pour le moment il n'y a que l'entête du tableau, il n'y a pas de donnée car je n'ai pas exécuté. Néanmoins, lorsque j'exécute, un problème surviens, il doit donc y avoir des fautes ou des oublies. Le second problème est que vous ne connaissez pas la base de donnée, ça m'étonnerait que vous puissiez m'aider.
Encore désolé si je suis vraiment mauvais, je ne suis qu'en première année d'informatique.


Message édité par chocobipo le 30-06-2014 à 14:00:56
Reply

Marsh Posté le 30-06-2014 à 16:13:24    

Un message d'erreur c'est fait pour être utilisé (c'est une chose très importante en informatique, faut vraiment apprendre à utiliser les messages d'erreurs), tu as quoi comme erreur?

 

Je ne vois pas pourquoi tu ne nous donnes pas la requête puisque les données sensibles sont normalement dans des variables et qu'au pire le nom des tables tu nous les a déjà données.

 

Pour mettre ta case en couleur tu as plusieurs solutions, la meilleure est je pense de repérer dans ta boucle php la cellule impliquée grâce à un If et de lui attribuer une class css spécifique dans laquelle tu précises ta couleur de fond.


Message édité par MaybeEijOrNot le 30-06-2014 à 16:14:25
Reply

Marsh Posté le 30-06-2014 à 16:24:28    

Le message d'erreur provient en fait du fait qu'on avait crée une nouvelle colonne dans une table en local. Elle n'était pas sur le serveur, du coup ça fonctionnait pas :pt1cable:  
 
Merci pour la couleur, je vais voir ça.

Reply

Marsh Posté le 01-07-2014 à 09:10:17    

Et en faite, pour les couleurs j'ai mis une condition et un bgcolor dans le tableau, ça fonctionne très bien.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed