Utilisation de foreach() et son php

Résolu/Fermé
hcar27 Messages postés 4 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 7 février 2014 - 15 mars 2013 à 20:51
baladur13 Messages postés 47063 Date d'inscription mercredi 11 avril 2007 Statut Modérateur Dernière intervention 16 décembre 2024 - 16 mars 2013 à 23:00
Bonjour, ou bonsoir à vous
en fait je travaille actuellement sur un projet d'école (réalisation d'un site web en php , devant permettre aux étudiants de consulter leurs résultats) et je coince sur la partie affichage des résultats par unité d'étude (UE);
ce que j'aimerais faire c'est:
afficher pour un étudiant donnée :

- pour chaque codue (code de l'UE) l'ensemble des matières qui la composent

(je récupere de ma bdd tous les codue des matieres dans lesquelles il a composé sans doublons et pour chaque codue je compte le nombre de matière appartenant au codue en question et dans lesquelles l'etudiant a composé.ensuite je tente de faire une cellule codue de rowspan=nbre de matière et afficher dans les cellules voisines les matieres l'une a la suite de l'autre )

voici une partie de mon code
<?php 
$tes="SELECT ALL codue FROM matière WHERE matière.codmat IN (SELECT ALL codmat FROM note WHERE note.id_etu='".$_GET['id_etu']."' and note.codses='".$_GET['codses']."')";
$test=mysql_query($tes) or die(mysql_error()."\n".$tes);
$c=mysql_num_rows($test);                  


 if($c){

while($tester=mysql_fetch_assoc($test))
{
     foreach($tester as $value)
{ 
   echo'<tr style="border:1px solid;background-color:yellow">';

	$z="SELECT libue,matière.codue,count(note.codmat) as nm FROM note,coefficier,matière,ue WHERE note.id_etu='".$_GET['id_etu']."' and note.codmat=coefficier.codmat and note.codmat=matière.codmat and ue.codue=matière.codue and matière.codue='".$value."' and codfil='".$_GET['codfil']."' and codses='".$_GET['codses']."' GROUP BY libue,matière.codue,note.codmat ";
			$rz=mysql_query($z) or die(mysql_error()."\n".$z);
			$nc=mysql_fetch_assoc($rz);
			$nm=$nc['nm'];
}
	echo"<pre>";
	print_r($tester);//  me renvoie Array( [codue] => UE-DROIT) Array(  [codue] => UE-DROIT) ce que je ne comprends pas!!!
        echo"</pre>";
}
        
			$r="SELECT * FROM note,coefficier,matière,etudiant WHERE note.id_etu=etudiant.id_etu and etudiant.id_etu='".$_GET['id_etu']."' and note.codmat=coefficier.codmat and note.codmat=matière.codmat  and matière.codue='".$nc['codue']."' and etudiant.codfil=coefficier.codfil and coefficier.codfil='".$_GET['codfil']."' and codses='".$_GET['codses']."'";
			$re=mysql_query($r) or die(mysql_error()."\n".$r);

 while($co=mysql_fetch_assoc($re)) { ?>  
                    
                    <td rowspan=<?php echo $nm ;?> ><?php echo $nc['libue'] ;?></td>
					<td rowspan=<?php echo $nm ;?> ><?php echo "moyenne" ;?></td>                     
                    <td ><?php echo $co['libmat'];?></td>	
                    <td ><?php echo $co['moy'];?></td>
                    <td><?php echo $co['valcoef'];?></td></tr>								
			<?php
					}
					}
					
					else mysql_close(); 
					
					?>
						

Merci de bien vouloir m'aider je desespère et merci d'avance,




A voir également:

2 réponses

hcar27 Messages postés 4 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 7 février 2014 1
16 mars 2013 à 21:46
Merci Alain_42 ,en fait j'ai fini par trouver ce qui n'allait pas et oui c'était bien au niveau du $tes="SELECT ALL.. il fallait juste que je remplace le ALL par DISTINCT et c'est super cool ,ca marche à merveille.Merci
1
baladur13 Messages postés 47063 Date d'inscription mercredi 11 avril 2007 Statut Modérateur Dernière intervention 16 décembre 2024 13 493
16 mars 2013 à 23:00
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
16 mars 2013 à 15:01
$tes="SELECT ALL..

si tu remplaces par SELECT codue FROM....
0