Afichage en php

keunene 61 Messages postés samedi 5 avril 2014Date d'inscription 7 septembre 2018 Dernière intervention - 6 sept. 2018 à 13:10 - Dernière réponse : keunene 61 Messages postés samedi 5 avril 2014Date d'inscription 7 septembre 2018 Dernière intervention
- 7 sept. 2018 à 12:24
Bonjour,
j'ai un sérieux problème avec l'affichage d'un bulletin scolaire que je voudrais afficher.
j'ai deux tables une table nommée listeleve dans laquelle je mets les informations sur l'élève et l'autre nommée frang dans laquelle je mets les moyennes et le rang dans chaque matière.

Les données ne s'affichent pas quand je veux afficher les bulletins de tous les élèves dans une classe donnée.
s'il y a dix matières dans la table frang
dix foix l'élève s'affiche.
quand je veux resoudre le problème avec " group by" cette fois c'est une matière qui s'affiche.
ce que je voudrais c'est qu'un élève avec ses informations s'affiche avec ses matères en dessous et ainsi de suite.

j'ai tout essayé depuis une semaine environ.cela ne passe.
voici le code:
<?php
include("configu.php");
?>

<?php


function classement(){

$results = array();
$sql = 'SELECT DISTINCT listeleve.nomre,listeleve.prenomsre,listeleve.classere,listeleve.matricule,
listeleve.avatarre,
frang.matricule,frang.moyenne,
frang.matiere,frang.rang,frang.professeur from
listeleve,frang where
frang.matricule = listeleve.matricule AND
listeleve.classere = "'.$_GET['classe'].'"
order by nomre,prenomsre
';
$query = mysql_query($sql) or die("error");
while($row = mysql_fetch_assoc($query)){
$results[] = $row;
}
return $results;
}

?>
<?php
$classements = classement();
foreach($classements as $classement){
?>

<?php
echo '

<h3>Nom:'.$classement["nomre"].'---



<br> Prénoms:'.$classement['prenomsre'].'



<hr/>MATIERE:'.$classement['matiere'].'---MOYENNE:'.$classement['matiere'].'---
rang:'.$classement['matiere'].'';

}


mysql_close(); ?>


merci infiniment
Afficher la suite 

Votre réponse

5 réponses

jordane45 22577 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 25 septembre 2018 Dernière intervention - 6 sept. 2018 à 14:12
0
Merci
Bonjour,

Déjà... comme je te l'ai déjà indiqué dans une précédente question :l'extension mysql est obsolète.
Il faut passer à PDO ou mysqli
http://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top

Ensuite, pour poster ton code sur le forum, merci de le faire en y précisant le LANGAGE afin d'avoir la coloration syntaxique et l'indentation. Là c'est illisible !
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Et ensuite.....
Dans ta requête... ne pas mettre de DISTINCT ni de GROUP BY.
Puis, retravailler l'ARRAY que tu retournes...
Un truc du genre :
while($row = mysql_fetch_assoc($query)){
  $results[$row['matricule']]['nom'] = $row['nomre'];
  $results[$row['matricule']]['prenomsre'] = $row['prenomsre'];
  $results[$row['matricule']]['classere'] = $row['classere'];
  $results[$row['matricule']]['matiere'][$row['matiere']] = array('moyenne'=>$row['moyenne']
  ,'rang'=>$row['rang']
  ,'professeur'=>$row['professeur']);
  }


Une fois fait, fais donc un
echo "<pre>";
print_r($classements);
echo "</pre>";

et regarde ce que ça te donne...
Tu verras que tu as un array à plusieurs dimensions.. et que tu pourras parcourir sans trop de soucis... (avec une seconde boucle à l'intérieur pour les matières )


Commenter la réponse de jordane45
keunene 61 Messages postés samedi 5 avril 2014Date d'inscription 7 septembre 2018 Dernière intervention - 6 sept. 2018 à 14:42
0
Merci
merci jordan45.j'essaie et je reviens
Commenter la réponse de keunene
keunene 61 Messages postés samedi 5 avril 2014Date d'inscription 7 septembre 2018 Dernière intervention - 6 sept. 2018 à 15:13
0
Merci
il m'affiche un truc de ce genre:
Array
(
[125458] => Array
(
[nomre] => keunene
[prenomsre] => Koffi marc
[classere] => RIT
[matererma] => Array
(
[réseaux] => Array
(
[moyrma] => 14
[rang] => 2ème
[professeur] => KOUASSI KONAN RICHARD
)

[LEXICOLOGIE] => Array
(
[moyrma] => 11.5
[rang] => 2ème
[professeur] => KOUASSI KONAN RICHARD
)

)

)

[125459] => Array
(
[nomre] => keunene
[prenomsre] => Koffi marc
[classere] => RIT
[matriec] => 125458
[avatarre] => images/15352931504.jpg
[matrma] => 125458
[ranrma] => 2ème
[moyrma] => 14
[matererma] => réseaux
[professeur] => KOUASSI KONAN RICHARD
)

[125460] => Array
(
[nomre] => keunene
[prenomsre] => Koffi marc
[classere] => RIT
[matriec] => 125458
[avatarre] => images/15352931504.jpg
[matrma] => 125458
[ranrma] => 2ème
[moyrma] => 11.5
[matererma] => LEXICOLOGIE
[professeur] => KOUASSI KONAN RICHARD
)

[478856] => Array
(
[nomre] => Séry
[prenomsre] => gnoléba
[classere] => RIT
[matererma] => Array
(
[réseaux] => Array
(
[moyrma] => 20
[rang] => 1er
[professeur] => KOUASSI KONAN RICHARD
)

[LEXICOLOGIE] => Array
(
[moyrma] => 12.5
[rang] => 1er
[professeur] => KOUASSI KONAN RICHARD
)

)

)

[478857] => Array
(
[nomre] => Séry
[prenomsre] => gnoléba
[classere] => RIT
[matriec] => 478856
[avatarre] => images/15352935762.jpg
[matrma] => 478856
[ranrma] => 1er
[moyrma] => 20
[matererma] => réseaux
[professeur] => KOUASSI KONAN RICHARD
)

[478858] => Array
(
[nomre] => Séry
[prenomsre] => gnoléba
[classere] => RIT
[matriec] => 478856
[avatarre] => images/15352935762.jpg
[matrma] => 478856
[ranrma] => 1er
[moyrma] => 12.5
[matererma] => LEXICOLOGIE
[professeur] => KOUASSI KONAN RICHARD
)

)
Array
(
[125458] => Array
(
[nomre] => keunene
[prenomsre] => Koffi marc
[classere] => RIT
[matererma] => Array
(
[réseaux] => Array
(
[moyrma] => 14
[rang] => 2ème
[professeur] => KOUASSI KONAN RICHARD
)

[LEXICOLOGIE] => Array
(
[moyrma] => 11.5
[rang] => 2ème
[professeur] => KOUASSI KONAN RICHARD
)

)

)

[125459] => Array
(
[nomre] => keunene
[prenomsre] => Koffi marc
[classere] => RIT
[matriec] => 125458
[avatarre] => images/15352931504.jpg
[matrma] => 125458
[ranrma] => 2ème
[moyrma] => 14
[matererma] => réseaux
[professeur] => KOUASSI KONAN RICHARD
)

[125460] => Array
(
[nomre] => keunene
[prenomsre] => Koffi marc
[classere] => RIT
[matriec] => 125458
[avatarre] => images/15352931504.jpg
[matrma] => 125458
[ranrma] => 2ème
[moyrma] => 11.5
[matererma] => LEXICOLOGIE
[professeur] => KOUASSI KONAN RICHARD
)

[478856] => Array
(
[nomre] => Séry
[prenomsre] => gnoléba
[classere] => RIT
[matererma] => Array
(
[réseaux] => Array
(
[moyrma] => 20
[rang] => 1er
[professeur] => KOUASSI KONAN RICHARD
)

[LEXICOLOGIE] => Array
(
[moyrma] => 12.5
[rang] => 1er
[professeur] => KOUASSI KONAN RICHARD
)

)

)
comment enlever les array?
jordane45 22577 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 25 septembre 2018 Dernière intervention - 6 sept. 2018 à 17:45
faut pas enlever les array .........
Tu ne dois pas utiliser le print pour faire ton affichage... ça te permet juste de voir ce que contient ta variable.!

Maintenant que tu sais ce qu'elle contient... à toi de faire les boucles pour afficher les données qui te serviront.
Regarde maintenant ce que te donne
foreach($classements as $mat=>$R){
  echo "<br>Matricule :" .$mat;
  echo "<br> Nom " . $R['nomre'];
  echo "<br> classere : ".$R['classere'];
  echo " <br> MATIERES <br>";
  foreach($R['matiere'] as $M){
   print_r($M); // a changer c'est juste pour l'exemple
  }
}
Commenter la réponse de keunene
keunene 61 Messages postés samedi 5 avril 2014Date d'inscription 7 septembre 2018 Dernière intervention - Modifié par keunene le 7/09/2018 à 12:24
0
Merci
MERCI infiniment pour ta disponibilité.je vais le faire
Commenter la réponse de keunene

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.