PageRenderTime 53ms CodeModel.GetById 23ms RepoModel.GetById 0ms app.codeStats 0ms

/httpdocs/1564fd6a87s65fd41as32df18aw7e5sd12yx1c/inc.stats.php

http://dj-r-old-admin.googlecode.com/
PHP | 189 lines | 147 code | 20 blank | 22 comment | 4 complexity | 9c1a76087e7ec75529694d91fd3f7764 MD5 | raw file
  1. <?php
  2. //error_reporting(E_ALL);
  3. #################################CHECK SESSSION#########################################
  4. session_start();
  5. if (!$_SESSION['logged'])
  6. {
  7. print "SESSION FERMEE";
  8. die;
  9. }
  10. #####################################################################################
  11. $i=1;
  12. $today_format_mysql=date("Y-m-d",time());
  13. $mois_depart=date("Y-m", mktime(0,0,0,3,1,2007)); // modifier année ici
  14. /* // requete incroyable pour calculer le nb de mois entre 2 dates !! merci mysql...
  15. $sql_select_interval="SELECT PERIOD_DIFF(".substr($today_format_mysql,0,4).substr($today_format_mysql,5,2).",200402) AS nb_de_mois;"; // arguments au format YYMM ou YYYYMM
  16. $req_interval= mysql_query($sql_select_interval) or die('Erreur SQL !<br>'.$sql_select_interval.mysql_error());
  17. if($data_interval= mysql_fetch_assoc($req_interval))
  18. {
  19. echo "Nombre de mois depuis l'ouverture : ".$data_interval['nb_de_mois'];
  20. } */
  21. // meilleure solution : tout en php !
  22. function datediff($a,$b)
  23. {
  24. $date1 = intval(substr($a,0,4))*12+intval(substr($a,4,2));
  25. $date2 = intval(substr($b,0,4))*12+intval(substr($b,4,2));
  26. return abs($date1-$date2);
  27. }
  28. $today_forma_datedif=substr($today_format_mysql,0,4).substr($today_format_mysql,5,3);
  29. $nb_de_mois_depuis_ouverture=datediff('200403',"$today_forma_datedif");
  30. $nb_de_mois_annee_en_cours=datediff('200703',"$today_forma_datedif"); //modifier date ici
  31. echo "<br>";
  32. // ca total
  33. $sql_select="SELECT SUM(somme) AS ca FROM cpt_journal WHERE no_compte_credit='621' ";
  34. $req= mysql_query($sql_select) or die('Erreur SQL !<br>'.$sql_select.mysql_error());
  35. $data= mysql_fetch_assoc($req);
  36. // ca année en cours
  37. $sql_select_2="SELECT SUM(somme) AS ca_en_cours FROM cpt_journal WHERE no_compte_credit='621' AND date>'2007-03-01 00:00:00' "; //modifier date ici
  38. $req_2= mysql_query($sql_select_2) or die('Erreur SQL !<br>'.$sql_select_2.mysql_error());
  39. $data3= mysql_fetch_assoc($req_2);
  40. // nb de clients total
  41. $sql_select2="SELECT count(*) AS nb_client_total FROM `contacts` WHERE type_client='1' AND date_ajout BETWEEN '2004-03-01' AND NOW()";
  42. $req2= mysql_query($sql_select2) or die('Erreur SQL !<br>'.$sql_select2.mysql_error());
  43. $data2= mysql_fetch_assoc($req2);
  44. // nb de clients année en cours
  45. $sql_select3="SELECT count(*) AS nb_client_en_cours FROM `contacts` WHERE type_client='1' AND date_ajout BETWEEN '2007-03-01' AND NOW()"; //modifier date ici
  46. $req3= mysql_query($sql_select3) or die('Erreur SQL !<br>'.$sql_select3.mysql_error());
  47. $data4= mysql_fetch_assoc($req3);
  48. echo '<table border ="0"><tr><td>';
  49. echo '<b>Depuis l\'ouverture : </b>';
  50. echo "<br>";
  51. echo "<br>";
  52. echo "Nombre de mois passés : ".$nb_de_mois_depuis_ouverture;
  53. echo "<br>";
  54. echo "Chiffre d'affaire total : ".$ca_total=$data['ca'];
  55. echo "<br>";
  56. echo "Chiffre d'affaire moyen/mois : ".$ca_moyen=round($ca_total/$nb_de_mois_depuis_ouverture,1);
  57. echo "<br>";
  58. echo "Nombre de clients : ".$nb_de_client_total=$data2['nb_client_total'];
  59. echo "<br>";
  60. echo "Nombre de clients moyen/mois : ".$clients_moyen=round($nb_de_client_total/$nb_de_mois_depuis_ouverture,1);
  61. echo "<br>";
  62. echo '</td>';
  63. echo '<td width="40"></td><td>';
  64. echo '<b>Année comptable en cours :</b>';
  65. echo "<br>";
  66. echo "<br>";
  67. echo "Nombre de mois passés : ".$nb_de_mois_annee_en_cours ;
  68. echo "<br>";
  69. echo "Chiffre d'affaire : ".$ca_en_cours=$data3['ca_en_cours'];
  70. echo "<br>";
  71. echo "Chiffre d'affaire moyen/mois : ".$ca_moyen_en_cours=round($ca_en_cours/$nb_de_mois_annee_en_cours,1);
  72. echo "<br>";
  73. echo "Nombre de clients : ".$nb_de_client_en_cours=$data4['nb_client_en_cours'];
  74. echo "<br>";
  75. echo "Nombre de clients moyen/mois : ".$clients_moyen=round($nb_de_client_en_cours/$nb_de_mois_annee_en_cours,1);
  76. echo "<br>";
  77. echo '</td></table>';
  78. echo "<br>";
  79. echo "<br>";
  80. //entete tableau */
  81. echo "<table border=0 width=900>";
  82. echo"<tr><td bgcolor=#AAAAFF colspan=8><div align=center><b>CA ET NOMBRE DE LOCATIONS PAR MOIS 2006-2007</b></div></td></tr>";
  83. echo "<tr><td bgcolor=#CCCCFF width=80>Mois n°</td><td bgcolor=#CCCCFF width=100>mois</td><td bgcolor=#CCCCFF>ca</td><td bgcolor=#CCCCFF></td><td bgcolor=#CCCCFF></td><td bgcolor=#CCCCFF width=80>nb de locations</td><td bgcolor=#CCCCFF>graph</td><td bgcolor=#CCCCFF>%</td></tr>";
  84. while($mois_depart<=$today_format_mysql && $mois_depart<='2008-02') // modifier année ici
  85. {
  86. //req de calcul du ca pendant un mois
  87. $sql_select="SELECT SUM(somme) AS ca_mois FROM cpt_journal WHERE no_compte_credit='621' AND date LIKE '".$mois_depart."%'";
  88. $req= mysql_query($sql_select) or die('Erreur SQL !<br>'.$sql_select.mysql_error());
  89. //req 2 nb de clients/mois
  90. $sql_select2="SELECT count(*) AS nb_client FROM `fiches_loc` WHERE etat='6' AND prix_tot!='0' AND type_fact='1' AND date_debut LIKE'".$mois_depart."%'";
  91. $req2= mysql_query($sql_select2) or die('Erreur SQL !<br>'.$sql_select2.mysql_error());
  92. $data2= mysql_fetch_assoc($req2);
  93. if($data= mysql_fetch_assoc($req))
  94. {
  95. echo "<tr>";
  96. echo "<td>".$i.") </td>";
  97. echo "<td>";
  98. echo substr($mois_depart,0,7);
  99. echo "</td>";
  100. echo "<td>";
  101. echo "<span class=\"Style4\">".$data['ca_mois']."</span>";
  102. echo "</td>";
  103. //partie graphique
  104. $pourcentage=($data['ca_mois']/$ca_en_cours)*100;
  105. $pourcentage = round($pourcentage,1);
  106. $ca_mois_affichage=$data['ca_mois']/100;
  107. if($data['ca_mois']>$ca_moyen)
  108. {
  109. $color="#009900"; //vert
  110. }
  111. else
  112. {
  113. $color="#FF0000"; //rouge
  114. }
  115. echo '<td>';//ok
  116. echo '<table border="0" width="300" bgcolor="#CCCCCC" height="15" cellpadding="0" cellspacing="0">';
  117. echo '<td>';
  118. echo '<table border="0" cellpadding="0" cellspacing="0" width="'.($ca_mois_affichage*1.1).'" bgcolor="'.$color.'" height="15">'; // *3 pour amplifier le graph -->plus joli
  119. echo '<td>';
  120. echo '</td>';
  121. echo '</table>';
  122. echo '</td>';
  123. echo '</table>';
  124. echo '</td>';
  125. echo '<td width=60>'.sprintf("%02s%%",$pourcentage).'</td>';
  126. // nb de clients
  127. echo '<td><div align=center>'.$data2['nb_client'].'</div></td>';
  128. //partie graphique 2 nb de clients
  129. $pourcentage2=($data2['nb_client']/$nb_de_client_en_cours)*100;
  130. $pourcentage2 = round($pourcentage2,1);
  131. $clients_affichage=$data2['nb_client'];
  132. echo '<td>';//ok
  133. echo '<table border="0" width="300" bgcolor="#CCCCCC" height="15" cellpadding="0" cellspacing="0">';
  134. echo '<td>';
  135. echo '<table border="0" cellpadding="0" cellspacing="0" width="'.($clients_affichage*3).'" bgcolor="#FF6600" height="15">'; // *3 pour amplifier le graph -->plus joli
  136. echo '<td>';
  137. echo '</td>';
  138. echo '</table>';
  139. echo '</td>';
  140. echo '</table>';
  141. echo '</td>';
  142. echo '<td width=80>'.sprintf("%02s%%",$pourcentage2).'</td>';
  143. }
  144. // incrémenter le mois courant (mois depart) de 1 mois pour le graph suivant
  145. list ($year,$month) = split('[/.-]',$mois_depart);
  146. $mois_depart = date("Y-m",mktime(0, 0, 0, $month+1 ,1,$year));
  147. $i++;
  148. }
  149. echo'</tr>';
  150. echo '</table>';
  151. ?>
  152. <p>légende : <br>
  153. <br>
  154. </p>
  155. <table width="602" border="0">
  156. <tr>
  157. <td width="20" bgcolor="#FF0000">&nbsp;</td>
  158. <td width="15">&nbsp;</td>
  159. <td width="545">le ca de ce mois est en <strong>dessous</strong> de la moyenne (<? echo round((100/$nb_de_mois_depuis_ouverture),1)."% soit ".$ca_moyen;?> CHF) sur les <? echo $nb_de_mois_depuis_ouverture;?> derniers mois</td>
  160. </tr>
  161. <tr>
  162. <td bgcolor="#009900">&nbsp;</td>
  163. <td>&nbsp;</td>
  164. <td>le ca de ce mois est au <strong>dessus</strong> de la moyenne (<? echo round((100/$nb_de_mois_depuis_ouverture),1);?>%)</td>
  165. </tr>
  166. </table>
  167. <p><img src="../images/graphiques/2006-2007.png" alt="grap06-07" width="900" height="350" /></p>
  168. <p><img src="../images/graphiques/2005-2006.gif" width="904" height="361" /></p>
  169. <p><img src="../images/graphiques/2004-2005.gif" width="899" height="362"></p>