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 ...
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.
[php] // 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']);
}[/php]
J'ai aussi simplifié le fait fait de retrouver la place du membre grace à keys() et array_search();
[php] // 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]);
}[/php]
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 ...