Bonjour à tous,
Je suis en quête d'aide pour transformer ces 3 tableaux php en fichier Excel via un bouton d'export pour chaque. Est-ce que vous pensez que cela est possible facilement ?
1er Tableau :
Le deuxieme:
Et donc le dernier:
En vous remerciant par avance.
maxredphenix
Modifié par maxredphenix (01 Apr 2014 - 22:33)
Je suis en quête d'aide pour transformer ces 3 tableaux php en fichier Excel via un bouton d'export pour chaque. Est-ce que vous pensez que cela est possible facilement ?
1er Tableau :
<?php
// On fait une requête sur le nombre de batiment afin de créer le bon colspan dans le tableau
$nbrebatiment=mysql_query("SELECT nom_batiment AS BATIMENT FROM inventaire GROUP BY nom_batiment") or die(mysql_error());$nbre= mysql_num_rows($nbrebatiment);
echo '<table align="center" style="border: 1px solid black;-moz-border-radius:8px;-webkit-border-radius:8px;border-radius:8px;">';
echo '<tr style="vertical-align: middle; text-align: center; ">
<th style="background-color:#8CC6D7;">Matériel</th>
<th colspan="'.$nbre.'" style="color: RGB(0, 0, 100%); background-color:#8CC6D7;">Nbre par Bâtiment</th>
</tr>';
$Q = "SELECT type_ensemble AS TYP FROM inventaire GROUP BY TYP";
$R = mysql_query($Q)or die(mysql_error());
// Boucle 1 : les ensembles
while($A = mysql_fetch_assoc($R)) {
// On affiche la ligne avec les ensembles
echo '<tr style="background-color: #EDF7F2; color: blue;"><td align="center" style="background-color: #C4FCCA">'.$A['TYP'].'</td>';
$Q1 = "SELECT nom_batiment AS BAT FROM inventaire GROUP BY BAT";
$R1 = mysql_query($Q1)or die(mysql_error());
// Boucle 2: Affichage des Batiments par ensembles
while($A1 = mysql_fetch_assoc($R1)) {echo '<td align="center" style="background-color: #C4FCCA">'.$A1['BAT'].'</td>';}
echo '</tr><tr>';
$Q2 = "SELECT element AS ELE FROM inventaire WHERE type_ensemble='".$A['TYP']."' GROUP BY ELE";
$R2 = mysql_query($Q2)or die(mysql_error());
// Boucle 3: Affichage des elements correspondant à leurs ensembles
while ($A2 = mysql_fetch_assoc($R2)) {
echo '<td style="font-size:12px; text-align:right">'.$A2['ELE'].'</td>';
$R3 = mysql_query($Q1)or die(mysql_error());
// Boucle 4: Affichage du nombre d'éléments par bâtiments
while($A3 = mysql_fetch_assoc($R3)) {
$Q4 = "SELECT SUM(nombre) AS NB FROM inventaire WHERE nom_batiment='".$A3['BAT']."' AND element='".$A2['ELE']."' AND type_ensemble='".$A['TYP']."'";
$R4 = mysql_query($Q4)or die(mysql_error());
// Boucle 5: Requête sur les noms de bâtiments
while($A4 = mysql_fetch_assoc($R4)) {
// On affiche le nombre si la requête est non nulle
if(isset($A4['NB'])) {echo '<td align="center" style="font-size:0.9em;color: red">'.$A4['NB'].'</td>';}
// Sinon on affiche rien
else {echo '<td align="center"></td>';}
}
}
echo '</tr>';
}
}
echo '</table>';
?>
Le deuxieme:
<?php
$nbreensemble=mysql_query("SELECT type_ensemble AS ensemble FROM inventaire GROUP BY ensemble ORDER BY ensemble") or die(mysql_error());
$nbre= mysql_num_rows($nbreensemble);
echo '<table align="center" style="border: 1px solid black;-moz-border-radius:8px;-webkit-border-radius:8px;border-radius:8px;">';
// Création de l'en-tête
echo '<tr style="vertical-align: middle; text-align: center;">
<th rowspan="2" style="background-color:#8CC6D7;">Bâtiments</th>
<th colspan="'.$nbre.'" style="color: RGB(0, 0, 100%); background-color:#8CC6D7;">Ensembles</th></tr><tr>';
$mes_ensembles="SELECT type_ensemble AS ensemble FROM inventaire GROUP BY ensemble ORDER BY ensemble";
$ensemble=mysql_query($mes_ensembles)or die(mysql_error());
// Boucle 1: Affichage des colonnes ensembles
while($ens = mysql_fetch_assoc($ensemble)) {echo '<th align="center" style="background-color: #C4FCCA; padding:0 10px 0 10px;">'.$ens['ensemble'].'</th>';}
echo '</tr>';
$Q = "SELECT nom_batiment AS BAT FROM inventaire GROUP BY BAT";
$R = mysql_query($Q)or die(mysql_error());
// Boucle 2 : Affichage des lignes avec le nombre d'ensembles par bâtiments
while($A = mysql_fetch_assoc($R)) {
// On affiche le bâtiment dans la première colonne
echo '<tr class="<?php echo $classe;?>" style="background-color: #EDF7F2; color: blue;">
<td align="center" style="background-color: #C4FCCA">'.$A['BAT'].'</td>';
// Boucle 3: Affichage du nombre d'ensembles par bâtiments et par ensembles
$R3 = mysql_query($mes_ensembles)or die(mysql_error());
while($A1 = mysql_fetch_assoc($R3)) {
$Q2 = "SELECT SUM(nombre) AS NB FROM inventaire WHERE nom_batiment='".$A['BAT']."' AND type_ensemble='".$A1['ensemble']."'";
$R2 = mysql_query($Q2)or die(mysql_error());
// Boucle 4: Affichage du nombre pour un ensemble
while($A2 = mysql_fetch_assoc($R2)) {
// On affiche le nombre si la requete est non nulle
if(isset($A2['NB'])) {echo '<td align="center" style="font-size:0.9em;color: red">'.$A2['NB'].'</td>';}
// Sinon on affiche 0
else {echo '<td align="center">0</td>';}
}
}
echo '</tr>';
}
echo '</table>';
?>
Et donc le dernier:
<table border="1" cellspacing="0" style="width:35%;-moz-border-radius:8px;-webkit-border-radius:8px;border-radius:8px;" align="center" charset="utf-8">
<col style="width:70%"><col style="width:30%">
<tr style="vertical-align: middle; text-align: center;">
<th style="background-color:#8CC6D7;">Matériel</th>
<th style="color: RGB(0, 0, 100%); background-color:#8CC6D7;">Nbre Total</th>
</tr>
<?php
$reqEnsemble=mysql_query("SELECT type_ensemble AS ENSEMBLE, SUM(nombre) AS NBRE_ELEMENT
FROM inventaire
GROUP BY ENSEMBLE ORDER BY ENSEMBLE") or die(mysql_error());
while ($req1 = mysql_fetch_assoc($reqEnsemble)) {
echo '<tr style="background-color: #EDF7F2; color: blue;">';
echo '<td align="center" style="background-color: #C4FCCA">'.htmlentities($req1['ENSEMBLE']).'</td>';
echo '<td align="center" style="background-color: #C4FCCA">'.htmlentities($req1['NBRE_ELEMENT']).'</td>';
echo '</tr>';
$ensemble = mysql_real_escape_string($req1['ENSEMBLE']);
$reqElement=mysql_query("SELECT type_ensemble AS ENSEMBLE, SUM(nombre) AS NBRE_ELEMENT, element AS ELEMENT
FROM inventaire
WHERE type_ensemble = '$ensemble'
GROUP BY ELEMENT ORDER BY ELEMENT");
while ($req2 = mysql_fetch_assoc($reqElement)) {
echo '<tr>';
echo '<td style="font-size:12px; text-align:right">'.htmlentities($req2['ELEMENT']).'</td>';
echo '<td align=center>'.htmlentities($req2['NBRE_ELEMENT']).'</td>';
echo '</tr>';
}
}
?>
</table>
En vous remerciant par avance.
maxredphenix
Modifié par maxredphenix (01 Apr 2014 - 22:33)