Tableau en php
                    
        
     
             
                    lina237
    
        
    
                    Messages postés
            
                
     
             
            1
        
            
                                    Statut
            Membre
                    
                -
                                     
jordane45 Messages postés 40050 Statut Modérateur -
        jordane45 Messages postés 40050 Statut Modérateur -
        Bonjour,
Voici mon problème: j'ai une base de données dans laquelle j'ai plusieurs informations que je dois afficher sur semaine mon problème est que j'aimerai juste avoir une ligne et 7 colonnes mais j'ai 7 colonnes et plusieurs lignes
Chaque fois qu'il parcours une ligne, il va à la ligne et en crée une nouvelle i ne réécris plus sur la même ligne

Voici mon code pour le tableau :
Merci d'avance pour votre aide
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Merci d'y penser dans tes prochains messages.
.
                
            
                
    
    
    
        Voici mon problème: j'ai une base de données dans laquelle j'ai plusieurs informations que je dois afficher sur semaine mon problème est que j'aimerai juste avoir une ligne et 7 colonnes mais j'ai 7 colonnes et plusieurs lignes
Chaque fois qu'il parcours une ligne, il va à la ligne et en crée une nouvelle i ne réécris plus sur la même ligne

Voici mon code pour le tableau :
<tr>
<?php
// Connexion à la base de donnée
try
{
 $bdd = new PDO('mysql:host=localhost;dbname=mon_appli;charset=utf8', 'root', '',array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
}
catch (Exception $e)
{
        die('Erreur : ' . $e->getMessage());
}
$dir=$_POST['direction'] ;
$nom_mpr = $_POST['name_mpr'];
//$reponse3 = $bdd->prepare("SELECT * FROM pmmprbis , mpr WHERE STR_TO_DATE(jour, '%d/%m/%Y %T') between $date_debut and $date_fin and  direction=$dir and name_mpr=$nom_mpr and pmmpr.neip = mpr.neip ORDER by jour LIMIT 0, 50");
$reponse3 = $bdd->query("SELECT p.neip ,date(STR_TO_DATE(jour, '%d/%m/%Y %T')) as journee,SUM(es) as ES ,jour,SUM(uas) as UAS, SUM(bbe) as BBE, SUM(ses) as SES, MIN(MinTSL) as MINTSL, MIN(MinRSL) as MINRSL, MAX(MaxTSL) as MAXTSL, MAX(MaxRSL) as MAXRSL,ROUND(AVG(AvgTSL)) as AVGTSL, ROUND(AVG(AvgRSL)) as AVGRSL FROM pmmprbis p , mpr m WHERE STR_TO_DATE(p.jour, '%d/%m/%Y %T') between '".$date_debut."' and '".$date_fin."' and p.direction= '".$dir."' and m.name_mpr= '".$nom_mpr."' and p.neip = m.name_mpr GROUP BY journee ");
// On affiche chaque entrée une à une SELECT neip,date(STR_TO_DATE(jour, '%d/%m/%Y %T')) as journee, SUM(es) ,SUM(MinRSL), SUM(bbe) FROM `pmmprbis` WHERE neip = 'MPR_FOUMBAN-KOUNGA_2' and direction = '3.0' and STR_TO_DATE(jour, '%d/%m/%Y %T') between '2015/06/16' and '2015/06/19' GROUP BY journee
 //$query="SELECT SUM(bbe)  FROM pmmprbis WHERE neip='".$nom_mpr."' and direction='".$dir."' ";
   // $record=mysql_fetch_row(mysql_query($query,$db));
   // echo "Somme = $record[0]";
 
while ($donnees3 = $reponse3->fetch())
{ $oday = \DateTime::createFromFormat('d/m/Y H:i:s', trim($donnees3['jour']));
 $oday->format('Y-m-d');
 ?>
 
<tr>
 
 <td align="center"><?php if($oday->format('Y-m-d') == date("Y-m-d",strtotime($date_debut))){
 echo $oday->format('Y-m-d').' '."  es ".$donnees3['ES'].' '."  bbe ".$donnees3['BBE'].' '."  uas ".$donnees3['UAS'].' '."  ses ".$donnees3['SES'].'<br />'."  MinTSL ".$donnees3['MINTSL'].'<br />'." MaxTSL  ".$donnees3['MAXTSL'].'<br />'."  AvgTSL ".$donnees3['AVGTSL'].' '." MinRSL  ".$donnees3['MINRSL'] .' '."  MaxRSL ".$donnees3['MAXRSL'].' '." AvgRSL ".$donnees3['AVGRSL'];}?>
 </td>
  
 <td align="center"><?php if($oday->format('Y-m-d') == date("Y-m-d",strtotime($date_debut. ' + 1 day'))){
   echo $oday->format('Y-m-d').' '."  es ".$donnees3['ES'].' '."  bbe ".$donnees3['BBE'].' '."  uas ".$donnees3['UAS'].' '."  ses ".$donnees3['SES'].'<br />'."  MinTSL ".$donnees3['MINTSL'].' '." MaxTSL  ".$donnees3['MAXTSL'].'<br />'."  AvgTSL ".$donnees3['AVGTSL'].' '." MinRSL  ".$donnees3['MINRSL'] .' '."  MaxRSL ".$donnees3['MAXRSL'].' '." AvgRSL ".$donnees3['AVGRSL'] ;}?>
 </td>
 
 <td align="center"><?php if($oday->format('Y-m-d') == date("Y-m-d",strtotime($date_debut. ' + 2 day'))){
  echo $oday->format('Y-m-d').' '."  es ".$donnees3['ES'].' '."  bbe ".$donnees3['BBE'].' '."  uas ".$donnees3['UAS'].' '."  ses ".$donnees3['SES'].'<br />'."  MinTSL ".$donnees3['MINTSL'].' '." MaxTSL  ".$donnees3['MAXTSL'].'<br />'."  AvgTSL ".$donnees3['AVGTSL'].' '." MinRSL  ".$donnees3['MINRSL'] .' '."  MaxRSL ".$donnees3['MAXRSL'].' '." AvgRSL ".$donnees3['AVGRSL'] ;}?>
 </td>
 
 <td align="center"><?php if($oday->format('Y-m-d') == date("Y-m-d",strtotime($date_debut. ' + 3 day'))){
  echo $oday->format('Y-m-d').' '."  es ".$donnees3['ES'].' '."  bbe ".$donnees3['BBE'].' '."  uas ".$donnees3['UAS'].' '."  ses ".$donnees3['SES'].'<br />'."  MinTSL ".$donnees3['MINTSL'].' '." MaxTSL  ".$donnees3['MAXTSL'].'<br />'."  AvgTSL ".$donnees3['AVGTSL'].' '." MinRSL  ".$donnees3['MINRSL'] .' '."  MaxRSL ".$donnees3['MAXRSL'].' '." AvgRSL ".$donnees3['AVGRSL'];}?>
 </td>
 
 <td align="center"><?php if($oday->format('Y-m-d') == date("Y-m-d",strtotime($date_debut. ' + 4 day'))){
  echo $oday->format('Y-m-d').' '."  es ".$donnees3['ES'].' '."  bbe ".$donnees3['BBE'].' '."  uas ".$donnees3['UAS'].' '."  ses ".$donnees3['SES'].'<br />'."  MinTSL ".$donnees3['MINTSL'].' '." MaxTSL  ".$donnees3['MAXTSL'].'<br />'."  AvgTSL ".$donnees3['AVGTSL'].' '." MinRSL  ".$donnees3['MINRSL'] .' '."  MaxRSL ".$donnees3['MAXRSL'].' '." AvgRSL ".$donnees3['AVGRSL'];}?>
 </td>
 <td align="center"><?php if($oday->format('Y-m-d') == date("Y-m-d",strtotime($date_debut. ' + 5 day'))){
  echo $oday->format('Y-m-d').' '."  es ".$donnees3['ES'].' '."  bbe ".$donnees3['BBE'].' '."  uas ".$donnees3['UAS'].' '."  ses ".$donnees3['SES'].'<br />'."  MinTSL ".$donnees3['MINTSL'].' '." MaxTSL  ".$donnees3['MAXTSL'].'<br />'."  AvgTSL ".$donnees3['AVGTSL'].' '." MinRSL  ".$donnees3['MINRSL'] .' '."  MaxRSL ".$donnees3['MAXRSL'].' '." AvgRSL ".$donnees3['AVGRSL'];}?></td>
 
 <td align="center"><?php if($oday->format('Y-m-d') == date("Y-m-d",strtotime($date_debut. ' + 6 day'))){
  echo $oday->format('Y-m-d').' '."  es ".$donnees3['ES'].' '."  bbe ".$donnees3['BBE'].' '."  uas ".$donnees3['UAS'].' '."  ses ".$donnees3['SES'].'<br />'."  MinTSL ".$donnees3['MINTSL'].' '." MaxTSL  ".$donnees3['MAXTSL'].'<br />'."  AvgTSL ".$donnees3['AVGTSL'].' '." MinRSL  ".$donnees3['MINRSL'] .' '."  MaxRSL ".$donnees3['MAXRSL'].'< '." AvgRSL ".$donnees3['AVGRSL'];}?>
  </td>
  </tr> <?php
}
?>
 
<?php  
$reponse3->closeCursor();
}
// Termine le traitement de la requête
?><!--/td><td></td><td></td><td></td><td></td><td></td><td></td-->
</tr>
Merci d'avance pour votre aide
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Merci d'y penser dans tes prochains messages.
.
        A voir également:         
- Tableau en php
- Tableau word - Guide
- Tableau ascii - Guide
- Trier un tableau excel - Guide
- Tableau croisé dynamique - Guide
- Imprimer tableau excel sur une page - Guide
1 réponse
                        
                    Bonjour,
Tout dabord .. penses à faire des retours à la ligne dans ta requête .. et n'hésites pas à la "sortir" de son exécution.
Ainsi tu pourras en faire un ECHO si tu veux voir ce qu'elle contient
Une fois cela fait ... tu lances ta page .. puis tu récupères la requête ainsi générée .. pour la tester DIRECTEMENT DANS TA BDD.
Et regarde ce qu'elle retourne..... à mon avis ... tu as plusieurs lignes dans le résultat...
Nb : Pour tester ta requête directement dans ta BDD tu peux passer par Phpmyadmin ou (si l'accès est autorisé...) par un logiciel comme heidisql.
https://codes-sources.commentcamarche.net/faq/10778-heidisql-tester-ses-requetes-sql
 
                
                
    
                Tout dabord .. penses à faire des retours à la ligne dans ta requête .. et n'hésites pas à la "sortir" de son exécution.
Ainsi tu pourras en faire un ECHO si tu veux voir ce qu'elle contient
$sql = "SELECT p.neip 
               ,date(STR_TO_DATE(jour, '%d/%m/%Y %T')) as journee
               ,SUM(es) as ES 
               ,jour,SUM(uas) as UAS
               , SUM(bbe) as BBE
               , SUM(ses) as SES
               , MIN(MinTSL) as MINTSL
               , MIN(MinRSL) as MINRSL
               , MAX(MaxTSL) as MAXTSL
               , MAX(MaxRSL) as MAXRSL
               ,ROUND(AVG(AvgTSL)) as AVGTSL
               , ROUND(AVG(AvgRSL)) as AVGRSL 
         FROM pmmprbis p 
            , mpr m 
         WHERE STR_TO_DATE(p.jour, '%d/%m/%Y %T') between '".$date_debut."' and '".$date_fin."' 
           AND p.direction= '".$dir."' 
           AND m.name_mpr= '".$nom_mpr."' 
           AND p.neip = m.name_mpr 
         GROUP BY journee ";
//Le temps des tests :
echo " La requete est : ".$sql;
// execution de la requete :
$reponse3 = $bdd->query($sql);
 
Une fois cela fait ... tu lances ta page .. puis tu récupères la requête ainsi générée .. pour la tester DIRECTEMENT DANS TA BDD.
Et regarde ce qu'elle retourne..... à mon avis ... tu as plusieurs lignes dans le résultat...
Nb : Pour tester ta requête directement dans ta BDD tu peux passer par Phpmyadmin ou (si l'accès est autorisé...) par un logiciel comme heidisql.
https://codes-sources.commentcamarche.net/faq/10778-heidisql-tester-ses-requetes-sql
