begin process at 2012 05 28 08:34:22
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

comment transformer les résultats d'un group by sur month en texte type janvier, fevrier


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

comment transformer les résultats d'un group by sur month en texte type janvier, fevrier

mardi 3 juin 2008 à 17:47:32 | comment transformer les résultats d'un group by sur month en texte type janvier, fevrier

atolldecolombo

bonjour
voici mon pb : avec une extraction groupé par mois j'obtient le résulat suivant 

REPPARTION TOTAL ADHERENTS 75
désignation nbre %

PAR MOIS D'ADHESION
12229.3
23242.7
31317.3
479.3
511.3

je désirerais voir apparaitre le nom des mois au lieu de leurs valeurs
j'ai créé 2 variables d'extraction (afin qu'il n'y est pas de confusion avec un résultat sur le nombre d'adhésion est s'il est compris entre 1 et 12)
 j'ai essayé avec la fonction switch sur la variable $resultadmois sans résultat

ci-dessous écriture actuelle
//calcul reppartion par mois
echo "PAR MOIS D'ADHESION";
$reqadhesion= "select month(datecotisation), count(*),round(((count(*)/$totalres)*100),1)  from renseignements where (month(datecotisation)) group by(month(datecotisation))";
mysql_select_db("membres3e");
$resultad = mysql_query($reqadhesion);
$resultadmois = mysql_query($reqadhesion);

$nbrlig = mysql_numrows ($resultad);

echo "<table border=2 WIDTH= 350 border=1 CELLPaDDING=1 CELLSPaCING=2 BORDERCOLOR=#006600#  BGCOLOR= #99FFCC";
for ($lig = 0; $lig < $nbrlig; $lig++)
{
echo "<tr>";

echo
 
"<td width =60% align = center>".mysql_result($resultadmois, $lig, 0)."</td>
<td width =20% align = center>".mysql_result($resultad, $lig, 1)."</td> 
<td  align = center>".mysql_result($resultad, $lig, 2)."</td>";
echo "</tr>";
}
echo "</table>";
echo "<Br>";

si vous connaissé une solution je suis preneur
 merci d'avance

atoll

mardi 3 juin 2008 à 21:11:39 | Re : comment transformer les résultats d'un group by sur month en texte type janvier, fevrier

winwarrior

Membre Club
Salut!

$aMoisFR = Array('Janvier', 'Fevrier', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Aout', 'Septembre', 'Octobre', 'Novembre', 'Decembre');

$iMois = 3; // Mois n°3

echo $aMoisFR[$iMois-1]; // -1 car on est dans un tableau


Sinon, au lieu de t'embeter avec mysql_num_rows, for & mysql_result, tu pourrais faire

while ($aRes = mysql_fetch_row($reqadesion)) {
 echo $aRes[0]; // Colonne 1
 echo $aRes[1]; // Colonne 2
 echo $aRes[2]; // Colonne 3
}

Voir meme remplacer mysql_fetch_row par mysql_fetch_assoc pour utiliser le nom du champs plutot que son numero de plus que t'y gagne en temps d'execution

Tout ça, ce ne sont que des exemples, à toi de les remanier =)


win
mercredi 4 juin 2008 à 16:37:59 | Reponse à win

atolldecolombo

bonjour,
merci pour ta réponse
 mais petit probléme ce tableau doit servir toute l'année et si j'inscrie $iMois = 12; pour avoir un tableau annuel, j'ai des erreurs car la requete n'obtient pas de valeur sur les mois futurs (je pense avoir le même résultat si un mois n'a pas d'adhésion)
idem si j'enleve mysql_num_rows
donc désolé mais je n'est pas pu ou su mettre en place tes solutions
atoll
nb je débute sous ce langage
mercredi 4 juin 2008 à 21:33:58 | Re : comment transformer les résultats d'un group by sur month en texte type janvier, fevrier

winwarrior

Membre Club
Hum..

Voici ton code allegé .. essaye de le comprendre..

<?php
$aMoisFR = Array('Janvier', 'Fevrier', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Aout', 'Septembre', 'Octobre', 'Novembre', 'Decembre');
echo 'PAR MOIS D'ADHESION';
mysql_select_db('membres3e');
$rQuery = mysql_query('SELECT MONTH(`datecotisation`), COUNT(1), ROUND(((COUNT(1)/'.((int) $totalres).')*100),1) FROM `renseignements` GROUP BY MONTH(`datecotisation`)');

?><table width="350" border="1" cellpadding="1" cellspacing="2" bordercolor="#006600" bgcolor="#99FFCC"><?php
 while ($aRes = mysql_fetch_row($rQuery)) {
?>
<tr>
    <td width="60%" align="center"><?php echo $aMoisFR[$aRes[0]]; ?></td>
    <td width="20%" align="center"><?php echo $aRes[1]; ?></td>
    <td align="center"><?php echo $aRes[2]; ?></td>
</tr>
<?php
 }
?>
</table><br />

win
jeudi 5 juin 2008 à 17:42:37 | Re : comment transformer les résultats d'un group by sur month en texte type janvier, fevrier

atolldecolombo

Réponse acceptée !

merci
le prg fonctionne, j'ai juste remplacé les cotes simples pour le titre par des cotes doubles et inséreé une case vide dans le array pour décalé d'un  cran les mois
voici l'écriture et son aperçu

//calcul reppartion par mois
$aMoisFR = Array(' ','Janvier', 'Fevrier', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Aout', 'Septembre', 'Octobre', 'Novembre', 'Decembre');
echo "<font color=#FFFFFF> PAR MOIS D'ADHESI0N </font color=#FFFFFF>";
mysql_select_db('membres3e');
$rQuery = mysql_query('SELECT MONTH(`datecotisation`), COUNT(*), ROUND(((COUNT(*)/'.((int) $totalres).')*100),1) FROM `renseignements` GROUP BY MONTH(`datecotisation`)');

?><table width="350" border="1" cellpadding="1" cellspacing="2" bordercolor="#006600" bgcolor="#FFFF99"><?php
 while ($aRes = mysql_fetch_row($rQuery)) {
?>
<tr>
    <td width="60%" align="center"><?php echo $aMoisFR[$aRes[0]]; ?></td>
    <td width="20%" align="center"><?php echo $aRes[1]; ?></td>
    <td align="center"><?php echo $aRes[2]; ?></td>
</tr>
<?php
 }

echo"</table><br />";

REPPARTION TOTAL ADHERENTS 75
désignation nbre %

PAR MOIS D'ADHESI0N
Janvier 22 29.3
Fevrier 32 42.7
Mars 13 17.3
Avril 7 9.3
Mai 1 1.3

maintenant je vais esayer de comprendre l'écriture et le cheminement

merci encore pour cette précieuse aide
atoll


Cette discussion est classée dans : mysql, echo, mois, month, lig


Répondre à ce message

Sujets en rapport avec ce message

petite erreur dans calendrier dynamique javascript!!! [ par joduak ] Salut à vous, j'ai un gros problème sur mon calendrier. copier coller le dans un fichier php et lancez le, vous verrez qu'il y a 2 ptites erreurs. J'a remplir tableau dynamique à partir de différentes requêtes mysql [ par alkalia ] Bonsoir et merci pour ceux qui me liront et pour votre aide,Je voudrai créer un tableau dynamique (PHP/HTML), ce tableau contient 5 colonnes, la premi mysql_fetch_array [ par ateber ] Bonjour,Je suis une étudiante en informatique. J'ai crée un forum sur un site et qui fonction bien mais aujourd'hui sur local je n'arrive pas affichée insérer contenu xml dans bdd mysql [ par indutec ] Bonjour à tous, Voilà, j'aimerais encoder le contenu d'un fichier xml, que je ne génère pas, vers une base de données mysql. Pour l'instant, il m'enc insérer contenu xml dans bdd mysql [ par indutec ] Bonjour, Je souhaite insérer le contenu d'un fichier xml externe dans une base de données sur mon serveur. Pour l'instant, il me génère une erreur Comment faire disparaitre des bannieres une fois cliqué [ par stomy95 ] Bonjour a tous , voila je suis débutant en webmastering et je voudrais savoir comment fait on pour faire disparaitre des banniere une fois cliqué par quelqu'un peut'il m'aider a faire marche ce script [ par cikoude ] j'ai trouver un script que j'essai de faire fontionnermais voici ce qu'il affiche:Retour";exit;} if($passe_membre==""){echo "Vous devez choisir un mot Table temporaire [ par nono52 ] Bonjour,Je me permet de vous solliciter car j'ai un PB d'insertion de date dans une table Mysql.J'ai un formulaire qui me permet de valider des module Lien mailto dans une page php [ par Graig083 ] Bonjour,Je viens de créer une base de donnée mysql avec les coordonnées des adhérents de mon association.Cette base de donnée est consultable par les Erreur variable dans formaulire d'upload de photo [ par DjChat ] Bonjour a tous, j'ai crée un formulaire ou l'administratrice peux atribuer une image a l'utilisateur de son choix via une liste deroulante. Mais la


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,229 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales