[PHP-MYSQL] Tableau croisé dynamique
Fermé
mamagubida10
Messages postés
57
Date d'inscription
lundi 16 août 2004
Statut
Membre
Dernière intervention
23 février 2007
-
22 févr. 2007 à 19:21
mamagubida10 Messages postés 57 Date d'inscription lundi 16 août 2004 Statut Membre Dernière intervention 23 février 2007 - 23 févr. 2007 à 20:35
mamagubida10 Messages postés 57 Date d'inscription lundi 16 août 2004 Statut Membre Dernière intervention 23 février 2007 - 23 févr. 2007 à 20:35
A voir également:
- Es données fournies dans le fichier à télécharger peuvent être synthétisées par le tableau récapitulatif suivant. dans le fichier, générez ce tableau automatiquement (tableau croisé dynamique ou table de pilote) à partir des 4 premières colonnes. cinq valeurs manquent dans le tableau suivant. retrouvez-les dans votre tableau puis reportez-les, arrondies à l’entier le plus proche, dans la zone de réponse.
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Tableau word - Guide
- Trier tableau excel - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans system - Guide
2 réponses
Tu crées un array vide nommé, par exemple, $array_all_results
Tu récupères le résultat de la requête, puis tu boucles avec:
for($i=0;$array_res = mysql_fetch_array($req_res);$i++)
Dans cette boucle, tu met le $array_res dans le $array_all_results, en prenant les noms comme clefs et les périodes comme valeurs.
A la fin du bouclage du for, tu auras ton tableau ;)
Tu récupères le résultat de la requête, puis tu boucles avec:
for($i=0;$array_res = mysql_fetch_array($req_res);$i++)
Dans cette boucle, tu met le $array_res dans le $array_all_results, en prenant les noms comme clefs et les périodes comme valeurs.
A la fin du bouclage du for, tu auras ton tableau ;)
En fait, le for est là car il vaut mieux se répérer dans ce qu'on fait, mais on aurait très bien pu utiliser un while. L'avantage de cette méthode est que si on a un problème lors du bouclage ou du stockage, on voit où se situe ce problème, bref.
Si tu es sûr de ne pas avoir de problèmes (normalement c'est le cas), utilises un while.
ensuite, il te suffit, par exemple, de faire, dans la boucle:
$array_all_results[$array_res['nom']] = $array_res['periodes'];
Et le tour est joué ;)
Si tu es sûr de ne pas avoir de problèmes (normalement c'est le cas), utilises un while.
ensuite, il te suffit, par exemple, de faire, dans la boucle:
$array_all_results[$array_res['nom']] = $array_res['periodes'];
Et le tour est joué ;)
mamagubida10
Messages postés
57
Date d'inscription
lundi 16 août 2004
Statut
Membre
Dernière intervention
23 février 2007
1
23 févr. 2007 à 20:09
23 févr. 2007 à 20:09
Quand vous dites qu'il faut mettre la requête dnas un array vide, il faut que je fasse cela ? :
// on crée la requête SQL $sql = 'SELECT cl_agent.NOM,cl_agent.PRENOM,cl_primes.AHT,cl_primes.PERIODE FROM cl_agent, cl_primes WHERE cl_agent.MATRICULE=cl_primes.MATRICULE GROUP BY cl_agent.NOM,cl_primes.PERIODE'; // on envoie la requête $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); $req=array();
mamagubida10
Messages postés
57
Date d'inscription
lundi 16 août 2004
Statut
Membre
Dernière intervention
23 février 2007
1
23 févr. 2007 à 20:35
23 févr. 2007 à 20:35
en fait j'ai fait ça :
et ça ne m'affiche que 1 NOM, 1 PERIODE et 1 RESULTAT
// on crée la requête SQL $sql = 'SELECT cl_agent.NOM,cl_primes.AHT,cl_primes.PERIODE FROM cl_agent, cl_primes WHERE cl_agent.MATRICULE=cl_primes.MATRICULE GROUP BY cl_agent.NOM,cl_primes.PERIODE'; // on envoie la requête $req_res = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); //créer un tableau vide $array_all_results=array(); //je fais ma boucle for($i=0;$array_res = mysql_fetch_array($req_res);$i++) { echo $array_res[$i].'<br>'; // $array_all_results[$array_res['cl_agent.NOM']] = $array_res['cl_primes.PERIODE']; }
et ça ne m'affiche que 1 NOM, 1 PERIODE et 1 RESULTAT
22 févr. 2007 à 20:50