Salutations,
Pour une asso. bénévole que je gère depuis 30 ans, je mets en place régulièrement de nouvelles options dans le Back-Office, dédiées aux bénévoles.
Des "clients" proposent à notre asso. de récupérer gratuitement leur matériel info. pour leur redonner une seconde vie.
Les demandes d'enlèvements sont enregistrées dans une BDD MySQLi.
Pour avoir une vision sur l'avancement des demandes, je développe des petits "plugins", dont, dans le cas présent, un tableau de stats mensuelles.
Actuellement, le code est TREEEES fastidieux et redondant, et certainement pas optimisé.
De plus, je suis obligé de mettre à jour le moteur chaque année.
Mais cela fonctionne.
Voila des bouts de ce code horrible :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 (...) // Requetes SQL // ---------- Mensuels // -------------------- 2015 $quinze = $connexion->query ("SELECT * FROM $table WHERE `Date` LIKE '2015-%'"); $quinze01 = $connexion->query ("SELECT * FROM $table WHERE `Date` LIKE '2015-01%'"); $quinze02 = $connexion->query ("SELECT * FROM $table WHERE `Date` LIKE '2015-02%'"); $quinze03 = $connexion->query ("SELECT * FROM $table WHERE `Date` LIKE '2015-03%'"); $quinze04 = $connexion->query ("SELECT * FROM $table WHERE `Date` LIKE '2015-04%'"); $quinze05 = $connexion->query ("SELECT * FROM $table WHERE `Date` LIKE '2015-05%'"); $quinze06 = $connexion->query ("SELECT * FROM $table WHERE `Date` LIKE '2015-06%'"); $quinze07 = $connexion->query ("SELECT * FROM $table WHERE `Date` LIKE '2015-07%'"); $quinze08 = $connexion->query ("SELECT * FROM $table WHERE `Date` LIKE '2015-08%'"); $quinze09 = $connexion->query ("SELECT * FROM $table WHERE `Date` LIKE '2015-09%'"); $quinze10 = $connexion->query ("SELECT * FROM $table WHERE `Date` LIKE '2015-10%'"); $quinze11 = $connexion->query ("SELECT * FROM $table WHERE `Date` LIKE '2015-11%'"); $quinze12 = $connexion->query ("SELECT * FROM $table WHERE `Date` LIKE '2015-12%'"); // -------------------- 2016 $seize = $connexion->query ("SELECT * FROM $table WHERE `Date` LIKE '2016-%'"); $seize01 = $connexion->query ("SELECT * FROM $table WHERE `Date` LIKE '2016-01%'"); $seize02 = $connexion->query ("SELECT * FROM $table WHERE `Date` LIKE '2016-02%'"); $seize03 = $connexion->query ("SELECT * FROM $table WHERE `Date` LIKE '2016-03%'"); (...)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 (...) // Compter les lignes // -------------------- 2015 $deuxmillequinze = $quinze->num_rows; $deuxmillequinze01 = $quinze01->num_rows; $deuxmillequinze02 = $quinze02->num_rows; $deuxmillequinze03 = $quinze03->num_rows; $deuxmillequinze04 = $quinze04->num_rows; $deuxmillequinze05 = $quinze05->num_rows; (...)(...)
// -------------------- Totaux mensuels
$tt01 = $deuxmillequinze01 + $deuxmilleseize01 + $deuxmilledixsept01 + $deuxmilledixhuit01 + $deuxmilledixneuf01 + $deuxmillevingt01;
$tt02 = $deuxmillequinze02 + $deuxmilleseize02 + $deuxmilledixsept02 + $deuxmilledixhuit02 + $deuxmilledixneuf02 + $deuxmillevingt02;
$tt03 = $deuxmillequinze03 + $deuxmilleseize03 + $deuxmilledixsept03 + $deuxmilledixhuit03 + $deuxmilledixneuf03 + $deuxmillevingt03;
$tt04 = $deuxmillequinze04 + $deuxmilleseize04 + $deuxmilledixsept04 + $deuxmilledixhuit04 + $deuxmilledixneuf04 + $deuxmillevingt04;
(...)Comment puis-je optimiser cela ? Je suis sur qu'il existe un moyen magique de concatener ces requêtes en d'autres plus globales.(...)
<tr> <!-- 2019 !-->
<td align="right" bgcolor="#EAEAEA"><strong>2019</strong></td>
<td align="center"><? echo $deuxmilledixneuf01; ?></td>
<td align="center"><? echo $deuxmilledixneuf02; ?></td>
<td align="center"><? echo $deuxmilledixneuf03; ?></td>
<td align="center"><? echo $deuxmilledixneuf04; ?></td>
<td align="center"><strong><? echo $deuxmilledixneuf05; ?></strong></td>
<td align="center"><? echo $deuxmilledixneuf06; ?></td>
<td align="center"><? echo $deuxmilledixneuf07; ?></td>
<td align="center"><? echo $deuxmilledixneuf08; ?></td>
<td align="center"><strong><? echo $deuxmilledixneuf09; ?></strong></td>
<td align="center"><? echo $deuxmilledixneuf10; ?></td>
<td align="center"><? echo $deuxmilledixneuf11; ?></td>
<td align="center"><? echo $deuxmilledixneuf12; ?></td>
<td align="center"><font color="#FF0000"><? echo $deuxmilledixneuf; ?></font></td>
</tr>
(...)
Merci de m'avoir lu, et de votre aide ...
Partager