Optimisation du code
Résolu
MiWi86-33
Messages postés
149
Statut
Membre
-
MiWi86-33 Messages postés 149 Statut Membre -
MiWi86-33 Messages postés 149 Statut Membre -
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
- Optimisation pc - Accueil - Utilitaires
- Code ascii - Guide
- 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>";
}
}
}