Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2963 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Problème avec traitement données sql en php

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème avec traitement données sql en php

n°1742391
axelandre
Posté le 06-06-2008 à 10:49:33  profilanswer
 

Bonjour à toutes et à tous,
 
Je suis sur un petit programme de gestion d'établissement scolaire mais je me heurte à quelques difficultés. Notament une sur laquelle je bute depuis hier et impossible pour moi de résoudre ce problème.
 
J'ai des classes(1ERE01, TERM01,2NDE01,...) pour lesquelles sont affiliés des professeurs(idProf). Chaque professeur à une matiere qu'il enseigne (idMatiere). Chaque classe appartient à une section (c'est à dire la filière : S, L, ES,...) qui apour clé primaire idSection. Et donc pour chaque section, des matières sont définies pour les enseignées avec un nombre d'heures prédéfinies. Ainsi, la section S à plus d'heure de mathématiques que la L et la L a plus d'heure de français que la S par exemple.
 
Donc ce que je souhaite faire c'est : vérifier la section de la classe afin de définir quelles matières elle suit, ensuite je veut récupérer les professeur ayant la classe dans ses heures d'enseignement ( en gros récupérer les professeurs affiliés à la classe en question). Ces deux rapporchement vont me permettre ensuite de comparer les idMatières de la section avec celles des professeurs qui enseigne à la classe, come ça, je pourrait vérifier pour quelles matières la classe n'a pas de professeurs et ainsi pouvoir afficher un formulaire déroulant(un <select></select> ) qui affichera uniquement les classes n'ayant pas de professeur affilié pour la matière mathématiques par exemple.
 
J'ai donc essayé mais je coince sur la création des tableaux qui vont conserver les infos idSection et idMatiere. En effet, lorsque je fait la requete sql me permettant de récupérer l'idSection et les idMatiere, seule la dernière infos est gardée.
 
Je m'explique, je déclare mon tableau $tab_matSection = array(), jusque la pas de souci mais ensuite lorsque je boucle sur les résultats de la requetes, j'indique :
 
$tab_matSection[$idSection] = $idMatiere;
 
Mais vu qu'il y a 3 section (donc seulement 3 idSection) je pense qu'il écrase à chaque fois l'idSection identique et écrase de ce fait l'idMatiere et donc ne garde ue le dernier résultat de chaque section : au lieu d'avoir   1 => 5, 1 => 8, 1 => 12, 1 => 13, 1 => 16, 1 => 22 et bien j'ai seulement 1 => 22 (le 1 étant l'idSection et les autres sont les idMatiere)
 
Donc si quelqu'un avait la solution je suis preneur !
 
Merci à vous

mood
Publicité
Posté le 06-06-2008 à 10:49:33  profilanswer
 

n°1742412
axelandre
Posté le 06-06-2008 à 11:28:53  profilanswer
 

heu nan
 
mais je peux te mettre le MLD si ca peut t'aider

n°1742413
leflos5
On est ou on est pas :)
Posté le 06-06-2008 à 11:31:47  profilanswer
 

Si j'ai bien compris je pense que tu peux faire le tout en une requete plutot que de mouliner une usine à gaz de tableaux :D
 
Un peu de code serait le bienvenu pour au moins savoir comment tu fais tes requêtes, d'où sortent tes tabeaux ;)

n°1742422
axelandre
Posté le 06-06-2008 à 11:42:16  profilanswer
 

ok.
Donc ici c'est une requete qui permet de récupérer les idSection et de boucler sur chacune d'entre elle.Dans seconde boucle, on effectue une requete sur la table regrouper qui contient les idSection et les idMatière de chaque question :  
 
                               

Code :
  1. $tab_matSection = array();
  2.   $reqIdSection = mysql_query('SELECT idSection FROM section');
  3.   while($repIdSection = mysql_fetch_array($reqIdSection))
  4.   {
  5.    $reqMatSection = mysql_query('SELECT * FROM regrouper WHERE idSection = "' .$repIdSection['idSection']. '"');
  6.    while($repMatSection = mysql_fetch_array($reqMatSection))
  7.    {
  8.     $idSection = $repMatSection['idSection'];
  9.     $idMatiere = $repMatSection['idMatiere'];
  10.     $tab_matSection[$idSection] = $idMatiere;
  11.    }
  12.   }


 
 
Ce code la, si je veux afficher les iformations du tableau et bien je n'obtiens que le dernier réésultat de chaque section
 
Mon MLD :  
 
PROFESSEUR(IdMatiere, #idMatiere)
 
CLASSE(codeClasse, #idSection)
 
SECTION(idSection, nomSection)
 
MATIERE(idMatiere)
 
REGROUPER(#idMatiere, #idSection)
 
AFFILIER(#codeClasse, #idProf)
 
 
j'ai bien sur évité les informations peu importante dans le MLD, je me suis restraind à l'esentiel.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Problème avec traitement données sql en php

 

Sujets relatifs
probleme pythonstructure de données en java
impossible de trouver le problème : affichage d'imageTraitement d'image en C++
RESOLU Probleme (action="#") à ramplacer par (action="transfert.php")Probleme avec objectdatasource.
problème avec wx.DF_BITMAPprobleme connexion base sql via connecteur odbc sous vista
[ASP] Probleme d'acès à un fichier sur "https" msxml3.dll error '800c0Probleme traitement de données
Plus de sujets relatifs à : Problème avec traitement données sql en php


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR