Tableau en php
lina237
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
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