IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

ShareCount avec "K" pour milliers


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2008
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 64
    Points : 23
    Points
    23
    Par défaut ShareCount avec "K" pour milliers
    Bonjour, j'ai un code php qui me permet d'afficher le nombre de partages des plus célébrés réseaux sociaux, mais je souhaiterais que ceux si soit affichés avec un "k" à la place des milliers comme ceci :

    • 900 partages donne 900 partages (ne rien faire pour les nombres de partages strictement inférieurs à 1000)
    • 1270 partages donne 1.2K partages (et non pas 1.3k)
    • 12577 partages donne 12.5k partages
    • 152555 partages donne 152k partages (et non pas 152.2k)


    Voici mon script actuel :

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    function get_shares($url) {    
      $json_string = file_get_contents("http://www.linkedin.com/countserv/count/share?url=$url&format=json");
      $json = json_decode($json_string, true);
      return intval( $json['count'] );
    }
    function get_tweets($url) {
     
        $json_string = file_get_contents('http://urls.api.twitter.com/1/urls/count.json?url=' . $url);
        $json = json_decode($json_string, true);
     
        return intval( $json['count'] );
    }
     
    function get_likes($url) {
     
        $json_string = file_get_contents('http://graph.facebook.com/?ids=' . $url);
        $json = json_decode($json_string, true);
     
        return intval( $json[$url]['shares'] );
    }
     
    function get_plusones($url) {
     
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, "https://clients6.google.com/rpc");
        curl_setopt($curl, CURLOPT_POST, 1);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($curl, CURLOPT_POSTFIELDS, '[{"method":"pos.plusones.get","id":"p","params":{"nolog":true,"id":"' . $url . '","source":"widget","userId":"@viewer","groupId":"@self"},"jsonrpc":"2.0","key":"p","apiVersion":"v1"}]');
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-type: application/json'));
        $curl_results = curl_exec ($curl);
        curl_close ($curl);
     
        $json = json_decode($curl_results, true);
     
        return intval( $json[0]['result']['metadata']['globalCounts']['count'] );
    }
    function total($url){
        return get_tweets($url) + get_shares($url) + get_likes($url) + get_plusones($url); }
    Et je place ce code pour afficher le compteur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo total(get_permalink( $post->ID )); ?>
    J'ai trouvé un morceau de réponse avec ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function kilomega( $val ) {
        if( $val < 1000 ) return $val;
        $val = (int)($val/1000);
        if( $val < 1000 ) return "${val}k";
        $val = (int)($val/1000);
        return "${val}m";
    }
    Mais je ne sais vraiment pas quoi en faire car à vrai dire je n'y connais vraiment pas grand chose en PHP.

    Merci

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Tu peux t'aider de cette discussion :
    http://www.developpez.net/forums/d14...montant-keuro/

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2008
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 64
    Points : 23
    Points
    23
    Par défaut
    Merci pour la réponse c'est vraiment sympa mais étant donné que je n'y connais rien en php je ne sais pas du tout où intégrer le code. dans mon code actuel.. :/
    Donc j'aimerais bien encore avoir un peu d'aide si possible

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo