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