Utilisation de foreach() et son php
Résolu
hcar27
Messages postés
7
Statut
Membre
-
baladur13 Messages postés 47335 Date d'inscription Statut Modérateur Dernière intervention -
baladur13 Messages postés 47335 Date d'inscription Statut Modérateur Dernière intervention -
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
Merci de bien vouloir m'aider je desespère et merci d'avance,
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,
2 réponses
-
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
-
Bonjour
A toutes fins utiles ==> https://www.commentcamarche.net/infos/25917-marquer-un-fil-de-discussion-comme-etant-resolu/
-
-
$tes="SELECT ALL..
si tu remplaces par SELECT codue FROM....