Mammouth du PHP |
1339 Messages
13 juil. 2014, 23:20
Hello bon bah pour simplifier un peu le truc ... J'ai rajouté du COUNT, SUM, MIN et MAX pour obtenir plus que 3 array beaucoup légers.
// On recupere les points, les nb d'upload de chaque membres
$classement = array();
$sql = "SELECT COUNT(`id_fichier`) as `nb_upload`, MIN(`id_fichier`) as `premier`, MAX(`id_fichier`) as `dernier`, `membre_id`, SUM(`pour`) as `total_pour`, SUM(`contre`) as `total_contre` FROM `tbl_fichier` WHERE `afficher` = 1 GROUP BY `membre_id` ORDER BY `membre_id` ASC";
$req = $connexion->query($sql);
while($info = $req->fetch(PDO::FETCH_ASSOC)) {
$classement['fichiers'][$info['membre_id']] = $info['nb_upload'];
$classement['pour'][$info['membre_id']] = $info['total_pour'];
$classement['contre'][$info['membre_id']] = $info['total_contre'];
if($info['membre_id'] == $row['id_membre']) $minMax = array($info['premier'], $info['dernier']);
}
J'ai aussi simplifié le fait fait de retrouver la place du membre grace à keys() et array_search();
// On fait les cumuls
foreach($classement as $k => $v) {
arsort($classement[$k]);
$keys[$k] = array_keys($classement[$k]);
$sakey[$k] = array_search($row['id_membre'], $keys[$k]);
}
Et du coup avec mon MIN, MAX, je peux faire une seule requete avec un IN ($min, $max) ...
Je pense avoir réussi mon coup pour simplifier le chargement de la page !
http://www.subsynchro.com/voir-membre-subsynchro.html
La page c'est chargé en 0.289 secondes // PHP
La page c'est chargé en 24.813 secondes // JavaScript
Merci le temps de chargement des images ...
Bon sinon tu me fais un message privé et on se fait un TeamViewer