[RESOLU] Classer des résultats du plus grand au plus petit

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Classer des résultats du plus grand au plus petit

Re: Classer des résultats du plus grand au plus petit

par racacax » 26 août 2015, 11:00

Bonjour,
Merci, déjà, le grand pas a été fait. Les résultats sont classés dans le bon ordre : http://koditv.ga/PHP/testarray.php?my=08-2015
Maintenant, il faudrait sortir le résultat dans un tableau ou un code HTMl comme ici : http://www.djbuzz.com/mycharts/buzzchart.asp où il y aurait marqué n°1, n°2, n°3 et si possible, le nombre de place gagnées (ça il faudrait faire par jour car il n'y a que le mois d'août pour l'instant).

Le code pour l'instant :
<?php @$oo = file_get_contents('http://site1/visiteurs/'.$_GET['my']); ?>
<?php @$oo2 = file_get_contents('http://site2/visiteurs/'.$_GET['my']); ?>
<?php @$oo3 = file_get_contents('http://site3/visiteurs/'.$_GET['my']); ?>
<?php @$oo4 = file_get_contents('http://site4/zedtv/'.$_GET['my']); ?>
<?php

function array_sort($array, $on, $order=SORT_ASC)
{
    $new_array = array();
    $sortable_array = array();

    if (count($array) > 0) {
        foreach ($array as $k => $v) {
            if (is_array($v)) {
                foreach ($v as $k2 => $v2) {
                    if ($k2 == $on) {
                        $sortable_array[$k] = $v2;
                    }
                }
            } else {
                $sortable_array[$k] = $v;
            }
        }

        switch ($order) {
            case SORT_ASC:
                asort($sortable_array);
            break;
            case SORT_DESC:
                arsort($sortable_array);
            break;
        }

        foreach ($sortable_array as $k => $v) {
            $new_array[$k] = $array[$k];
        }
    }

    return $new_array;
}

$people = array(
    1 => array(
        'ID' => 1,
        'Nom' => 'Racacax TV Android',
        'Visiteurs' => $oo,
    ),
	    2 => array(
        'ID' => 2,
        'Nom' => 'Kodi TV Fr',
        'Visiteurs' => $oo2,
    ),
	    3 => array(
        'ID' => 3,
        'Nom' => 'Racacax TV PC',
        'Visiteurs' => $oo3,
    ),
	    4 => array(
        'ID' => 4,
        'Nom' => 'ZedTV',
        'Visiteurs' => $oo4,
    ),
);

print_r(array_sort($people, 'Visiteurs', SORT_DESC)); // Sort by oldest first


?>

Re: Classer des résultats du plus grand au plus petit

par visualjack » 26 août 2015, 10:31

Bonjour,

Si le résultats obtenus sont dans un tableau.

Tu peux regarder du côté de http://php.net/manual/fr/function.sort.php pour trier par ordre décroissant.

Si cela ne te convient pas tu peux effectuer ton propre trier avec une fonction avec http://php.net/manual/fr/function.uasort.php

Classer des résultats du plus grand au plus petit

par racacax » 25 août 2015, 22:24

Bonjour,
Suite au compteur de visite en graphique, j'aurai aimé faire une sorte de classement par mois / par jour avec les résultats obtenus ici : http://koditv.ga/graph/koditvfrracacaxt ... php?y=2015. J'ai bien sûr les fichiers qui contiennent uniquement le résultat de chaque site. Il faudrait en fait que le site qui a le plus de visite soit noté n°1 et celui qui a moins de visites dernier. Y a t-il une méthode ? Il faudrait que ça ressemble genre à ça : http://www.djbuzz.com/mycharts/buzzchart.asp .

Le nombre de places gagnées c'est optionnel mais ce serait pas mal :D .