Optimisation du code
Résolu
MiWi86-33
Messages postés
142
Date d'inscription
Statut
Membre
Dernière intervention
-
MiWi86-33 Messages postés 142 Date d'inscription Statut Membre Dernière intervention -
MiWi86-33 Messages postés 142 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai comme page :
dateprecedente.php
et en faite, en fois que le code qu'il y a entre les boucle while($i>0) et while($i<$t) sont les mêmes ... je ne vois pas trop comment faire...
je pensais créer un premier tableau :
et un deuxième tableau vide que je remplirais 7 étant le aujourd'hui, 6 hier, 5 avant hier ... mais je ne vois pas trop comment le faire...
enfin, si je ne suis pas assez clair, n'hésitez pas à poser des questions...
merci d'avance
J'ai comme page :
dateprecedente.php
<?PHP include('secure.php'); include('xmlparser.php'); include('xml.php'); no_cache(); // CONNEXION MYSQL connexion(); $id = $_GET["id"]; $aDay = array(1 =>"Monday", 2 =>"Tuesday", 3 =>"Wednesday", 4 =>"Thursday", 5 =>"Friday", 6 =>"Saturday", 7 =>"Sunday"); $DDay = array(1 =>"Lundi", 2 =>"Mardi", 3 =>"Mercredi", 4 =>"Jeudi", 5 =>"Vendredi", 6 =>"Samedi", 7 =>"Dimanche"); echo "<span style='font-family : verdana; font-size : 12px;'>"; if (!empty($gfullname)) echo "Bonjour $gfullname"; else echo "Bonjour $gpseudo"; echo "</span>"; echo "<hr size=0><br>"; // On recherche tous les établissements installés pour ce client $sRequete = "select * from licence where pseudo='".$gpseudo."'"; $results=requete($sRequete); // Si aucune établissement n'est trouvé if(mysql_num_rows($results)==0) { echo "<span style='font-family : verdana; font-size : 12px;'>"; echo "Aucun établissement à afficher"; echo "</span>"; echo "<br><br>"; echo "<input type='button' onclick='javascript:document.location.reload();' value='Actualiser'>"; } else { echo "</span>"; echo "<span style='font-family : verdana; font-size : 25px;'>Votre tableau de bord de la semaine - Orchestra Web Manager</span>"; echo "<br><br>"; $nNbFichiers = 0; $i = date("w"); echo $i; while($i>0) { echo '<table border="0" cellpadding="5" cellspacing="1" bgcolor="#999999" style="font-family : verdana; font-size : 12px;">'; echo '<tr valign="top"><td style="font-weight:bold;" bgcolor="#DDDDDD">Données de gestion</td>'; $dda = $aDay[$i]; $ddate = $DDay[$i]; echo "<b>".$ddate."</b>"; // AFFICHAGE DE LA LIGNE TITRES for($r=0; $r<mysql_num_rows($results); $r++) { $sLicence = mysql_result($results,$r,"cleident"); $sNom = mysql_result($results,$r,"nom"); // Lecture des données ([licence].xml) $sFileName = "upload/".$sLicence."/".$dda.".xml"; if (file_exists($sFileName)) { $sJour = $aDay[date("w", filemtime($sFileName))]; // Ajoute la date et l'heure du fichier $sTime = $sJour.", ".date("d/m/Y H:i", filemtime($sFileName)); echo "<td align='right' bgcolor='#DDDDDD' style='padding :5px;' nowrap>"; echo "<b>$sNom</b>"; echo "<br>"; echo "<span style='font-size : 10px;'>"; echo $sTime; echo "</span>"; echo "</td>"; $nNbFichiers++; } } if ($nNbFichiers>1) echo "<td align='right' width='100' bgcolor='#DD3333' style='color: #FFFFFF; font-weight:bold; padding :5px;' nowrap>Totaux</td>"; echo "</tr>"; // MEMORISATION DES TITRES ET VALEURS $asTitres = array(); $asValeurs = array(); // On récupère les titres et les valeurs ChargeTableaux($results, $asTitres, $asValeurs, $dda); // Si aucun fichier n'a été trouvé if (empty($asTitres)) { echo "</table><br><br><span style='font-family : verdana; font-size : 12px;'>Aucunes données n'a été transmises pour le moment</span>"; echo "<br><br>"; echo "<input type='button' onclick='javascript:document.location.reload();' value='Actualiser'>"; } else { // AFFICHAGE DE CHAQUE LIGNE $nTotalLignes = count($asTitres); for ($j=0;$j<$nTotalLignes; $j++) { $sTitre = $asTitres[$j]; if ($j%2>0) $sBGColor = "#F5F5F5"; else $sBGColor = "#FFFFFF"; echo "<tr><td bgcolor='$sBGColor' style='padding :5px;' nowrap>".$sTitre."</td>"; $rTotal = 0; foreach($asValeurs[$j] as $rValue) { $rTotal += $rValue; echo "<td align='right' style='padding :5px;' bgcolor='$sBGColor'>".$rValue."</td>"; } if ($nNbFichiers > 1) { $sTotal = sprintf("%.02f", $rTotal); echo "<td align='right' style='padding :5px;' bgcolor='#FFCCCC'>".$sTotal."</td>"; } echo "</tr>"; } if ($nNbFichiers>1) $nCols = $nNbFichiers+2; else $nCols = $nNbFichiers+1; echo "<tr><td align='right' colspan=".($nCols)." bgcolor=#999999>"; echo "<input type='button' onclick='javascript:document.location.reload();' value='Actualiser'>"; echo "</td></tr>"; echo "</table><br><br>"; } $i=$i-1; } $t=7; $i = date("w"); while($i<$t) { echo '<table border="0" cellpadding="5" cellspacing="1" bgcolor="#999999" style="font-family : verdana; font-size : 12px;">'; echo '<tr valign="top"><td style="font-weight:bold;" bgcolor="#DDDDDD">Données de gestion</td>'; $dda = $aDay[$t]; $ddate = $DDay[$t]; echo "<b>".$ddate."</b>"; // AFFICHAGE DE LA LIGNE TITRES for($r=0; $r<mysql_num_rows($results); $r++) { $sLicence = mysql_result($results,$r,"cleident"); $sNom = mysql_result($results,$r,"nom"); // Lecture des données ([licence].xml) $sFileName = "upload/".$sLicence."/".$dda.".xml"; if (file_exists($sFileName)) { $sJour = $aDay[date("w", filemtime($sFileName))]; // Ajoute la date et l'heure du fichier $sTime = $sJour.", ".date("d/m/Y H:i", filemtime($sFileName)); echo "<td align='right' bgcolor='#DDDDDD' style='padding :5px;' nowrap>"; echo "<b>$sNom</b>"; echo "<br>"; echo "<span style='font-size : 10px;'>"; echo $sTime; echo "</span>"; echo "</td>"; $nNbFichiers++; } } if ($nNbFichiers>1) echo "<td align='right' width='100' bgcolor='#DD3333' style='color: #FFFFFF; font-weight:bold; padding :5px;' nowrap>Totaux</td>"; echo "</tr>"; // MEMORISATION DES TITRES ET VALEURS $asTitres = array(); $asValeurs = array(); // On récupère les titres et les valeurs ChargeTableaux($results, $asTitres, $asValeurs, $dda); // Si aucun fichier n'a été trouvé if (empty($asTitres)) { echo "</table><br><br><span style='font-family : verdana; font-size : 12px;'>Aucunes données n'a été transmises pour le moment</span>"; echo "<br><br>"; echo "<input type='button' onclick='javascript:document.location.reload();' value='Actualiser'>"; } else { // AFFICHAGE DE CHAQUE LIGNE $nTotalLignes = count($asTitres); for ($j=0;$j<$nTotalLignes; $j++) { $sTitre = $asTitres[$j]; if ($j%2>0) $sBGColor = "#F5F5F5"; else $sBGColor = "#FFFFFF"; echo "<tr><td bgcolor='$sBGColor' style='padding :5px;' nowrap>".$sTitre."</td>"; $rTotal = 0; foreach($asValeurs[$j] as $rValue) { $rTotal += $rValue; echo "<td align='right' style='padding :5px;' bgcolor='$sBGColor'>".$rValue."</td>"; } if ($nNbFichiers > 1) { $sTotal = sprintf("%.02f", $rTotal); echo "<td align='right' style='padding :5px;' bgcolor='#FFCCCC'>".$sTotal."</td>"; } echo "</tr>"; } if ($nNbFichiers>1) $nCols = $nNbFichiers+2; else $nCols = $nNbFichiers+1; echo "<tr><td align='right' colspan=".($nCols)." bgcolor=#999999>"; echo "<input type='button' onclick='javascript:document.location.reload();' value='Actualiser'>"; echo "</td></tr>"; echo "</table><br><br>"; } $t--; } } echo "<br>"; echo "<a style='font-family : verdana; font-size : 12px;' HREF=\"javascript:window.close()\">Fermer la fenêtre</a>"; echo "<br><br><hr size=0>"; function ExtraitItem($paArray, $psBlocName) { while (list($sKey, $aValue) = each($paArray)) { if (strtolower($sKey) == $psBlocName) { return $aValue; } } return null; } function ChargeTableaux($pRequest, &$pasTitres, &$pasValeurs, &$date) { $bFirst = true; // On utilise le premier fichier pour récupérer la liste des titres // Pour chaque établissement, on affiche les titres for($i=0; $i<mysql_num_rows($pRequest); $i++) { $sLicence = mysql_result($pRequest, $i,"cleident"); // Lecture des données ([licence].xml) $sFileName = "upload/".$sLicence."/".$date.".xml"; if (file_exists($sFileName)) { $bAtLeastOne = true; // On charge le contenu du fichier $sContent = file_get_contents($sFileName); $aData = XML_unserialize($sContent); // On extrait le bloc principal et les titres $aBloc = ExtraitItem($aData, "bloc"); $aTitres = ExtraitItem($aBloc, "titres"); $aValeurs = ExtraitItem($aBloc, "valeurs"); if ($bFirst) { // On récupère tous les titres et les stoque dans le tableau $pasTitres $j=1; $sTitre = ExtraitItem($aTitres, "titre".$j); while ($sTitre != null) { $pasTitres[] = $sTitre; $j++; $sTitre = ExtraitItem($aTitres, "titre".$j); } $bFirst = false; } // On récupère toutes les valeurs et les stoque dans le tableau $pasValeurs $j=1; $sValeur = ExtraitItem($aValeurs, "valeur".$j); while ($sValeur != null) { $pasValeurs[$j-1][] = str_replace(",", ".", $sValeur); $j++; $sValeur = ExtraitItem($aValeurs, "valeur".$j); } } } } ?>
et en faite, en fois que le code qu'il y a entre les boucle while($i>0) et while($i<$t) sont les mêmes ... je ne vois pas trop comment faire...
je pensais créer un premier tableau :
$DDay = array(1 =>"Lundi", 2 =>"Mardi", 3 =>"Mercredi", 4 =>"Jeudi", 5 =>"Vendredi", 6 =>"Samedi", 7 =>"Dimanche");
et un deuxième tableau vide que je remplirais 7 étant le aujourd'hui, 6 hier, 5 avant hier ... mais je ne vois pas trop comment le faire...
enfin, si je ne suis pas assez clair, n'hésitez pas à poser des questions...
merci d'avance
A voir également:
- Optimisation du code
- Code ascii - Guide
- Optimisation pc - Accueil - Utilitaires
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
1 réponse
$aDay = array(1 =>"Monday", 2 =>"Tuesday", 3 =>"Wednesday", 4 =>"Thursday", 5 =>"Friday", 6 =>"Saturday", 7 =>"Sunday"); if(mysql_num_rows($results)==0) { echo "<span style='font-family : verdana; font-size : 12px;'>"; echo "Aucun établissement à afficher"; echo "</span>"; echo "<br><br>"; echo "<input type='button' onclick='javascript:document.location.reload();' value='Actualiser'>"; } else { echo "</span>"; echo "<span style='font-family : verdana; font-size : 25px;'>Votre tableau de bord de la semaine - Orchestra Web Manager</span>"; echo "<br><br>"; $nNbFichiers = 0; $i = date("w"); echo $i; $index=1; $table=array(); while($i>0) { $table[$index]=$aDay[$i]; $index++; $i--; } $index2 = 7; $i = date("w"); while($i<$index2) { $table[$index]=$aDay[$index2]; $index2--; $index++; } for($t=1;$t<=7;$t++) { echo '<table border="0" cellpadding="5" cellspacing="1" bgcolor="#999999" style="font-family : verdana; font-size : 12px;">'; echo '<tr valign="top"><td style="font-weight:bold;" bgcolor="#DDDDDD">Données de gestion</td>'; $dda = $table[$t]; //$ddate = $DDay[$i]; echo "<b>".$dda."</b>"; echo $t; // AFFICHAGE DE LA LIGNE TITRES for($r=0; $r<mysql_num_rows($results); $r++) { $sLicence = mysql_result($results,$r,"cleident"); $sNom = mysql_result($results,$r,"nom"); // Lecture des données ([licence].xml) $sFileName = "upload/".$sLicence."/".$dda.".xml"; if (file_exists($sFileName)) { $sJour = $aDay[date("w", filemtime($sFileName))]; // Ajoute la date et l'heure du fichier $sTime = $sJour.", ".date("d/m/Y H:i", filemtime($sFileName)); echo "<td align='right' bgcolor='#DDDDDD' style='padding :5px;' nowrap>"; echo "<b>$sNom</b>"; echo "<br>"; echo "<span style='font-size : 10px;'>"; echo $sTime; echo "</span>"; echo "</td>"; $nNbFichiers++; } } if ($nNbFichiers>1) echo "<td align='right' width='100' bgcolor='#DD3333' style='color: #FFFFFF; font-weight:bold; padding :5px;' nowrap>Totaux</td>"; echo "</tr>"; // MEMORISATION DES TITRES ET VALEURS $asTitres = array(); $asValeurs = array(); // On récupère les titres et les valeurs ChargeTableaux($results, $asTitres, $asValeurs, $dda); // Si aucun fichier n'a été trouvé if (empty($asTitres)) { echo "</table><br><br><span style='font-family : verdana; font-size : 12px;'>Aucunes données n'a été transmises pour le moment</span>"; echo "<br><br>"; echo "<input type='button' onclick='javascript:document.location.reload();' value='Actualiser'>"; } else { // AFFICHAGE DE CHAQUE LIGNE $nTotalLignes = count($asTitres); for ($j=0;$j<$nTotalLignes; $j++) { $sTitre = $asTitres[$j]; if ($j%2>0) $sBGColor = "#F5F5F5"; else $sBGColor = "#FFFFFF"; echo "<tr><td bgcolor='$sBGColor' style='padding :5px;' nowrap>".$sTitre."</td>"; $rTotal = 0; foreach($asValeurs[$j] as $rValue) { $rTotal += $rValue; echo "<td align='right' style='padding :5px;' bgcolor='$sBGColor'>".$rValue."</td>"; } if ($nNbFichiers > 1) { $sTotal = sprintf("%.02f", $rTotal); echo "<td align='right' style='padding :5px;' bgcolor='#FFCCCC'>".$sTotal."</td>"; } echo "</tr>"; } if ($nNbFichiers>1) $nCols = $nNbFichiers+2; else $nCols = $nNbFichiers+1; echo "<tr><td align='right' colspan=".($nCols)." bgcolor=#999999>"; echo "<input type='button' onclick='javascript:document.location.reload();' value='Actualiser'>"; echo "</td></tr>"; echo "</table><br><br>"; } } }