Rechercher : dans
Par :

Classement PHP

Dernière réponse le 1 jan 2008 à 13:07:34 alex, le 2 jan 2002 à 12:42:32 
 Signaler ce message aux modérateurs

Bonjour,

j'utilise un compteur de téléchargement sur mon site. et je voufrais créer une liste des 5 logiciels les plus téléchargés (dans l'ordre croissant)...qui peut m'aider...
merci

Meilleures réponses pour « Classement PHP » dans :
Le mot-clé static ou les attributs et méthodes de classe en POO Voir(NOTE: Cet article explique la signification du mot-clé static au sein d'une classe. La signification de "static" en C n'a par exemple rien à voir.) Vous êtes débutant en programmation orientée objet. En Java, en C++...ou que sais-je encore,...
PHP - Les classes VoirLa notion de classe Php3 intègre un soupçon de caractéristiques empruntées aux langages orientés objet, c'est-à-dire la possibilité d'utiliser des objets, entités regroupant des données et des fonctions au sein d'une structure et rendant la...
PHP - Les fonctions VoirLa notion de fonction On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel de la fonction dans le corps du programme principal. Les fonctions permettent d'exécuter dans plusieurs parties du...
Classe et instance d'objet VoirLa notion de classe On appelle classe la structure d'un objet, c'est-à-dire la déclaration de l'ensemble des entités qui composeront un objet. Un objet est donc « issu » d'une classe, c'est le produit qui sort d'un moule. En réalité on dit qu'un...

1

Bobinours, le 2 jan 2002 à 14:16:59
  • +1

Regarde le post de alphx : http://www.commentcamarche.com/forum/affich.php3?cat=3&ID=42743&page=1

-= Bobinours =- - - - - - > Bonne année ! - Comme ça c'est 

Répondre à Bobinours

2

alex, le 2 jan 2002 à 14:20:10
  • +1

Oui mais çà n'affiche pas les téléchargemtns dans l'ordre croissant. il n'y pas de classement là dedans...

Répondre à alex

3

Tittom, le 2 jan 2002 à 16:43:09
  • +1

Bonjour,

tu peux faire une requête SQL du type :

select * from telechargements order by nb_clics desc limit 1, 5

... qui aura pour effet de trier la table par nb de clics décroissants, et seuls les 5 premiers enregistrements seront retournés.

-- 
Tittom (ça c'est de la signature)

Répondre à Tittom

4

alex, le 2 jan 2002 à 17:17:16
  • +1

C'est très gentil mais là, je comprends rien...
je dois insérer quoi dans ma page web, à l'endroit où ca doit s'afficher ???

Répondre à alex

6

Bobinours, le 3 jan 2002 à 12:34:40
  • +1

As tu une base de données ?

-= Bobinours =-

Répondre à Bobinours

5

Bobinours, le 2 jan 2002 à 17:41:19
  • +1

Tittom : T'es bien parti, je te laisse continuer.
;o)

-= Bobinours =-

Répondre à Bobinours

7

bibi675, le 1 jan 2008 à 13:02:45
  • +1

Salut,
Si tu ne sais pas programmer en PHP et si tu n'a pas de base de donnée alors t'es mal barré mais si tu as une base de donnée, je vais t'expliquer comment faire :

1. Commence par aller sur le site de ton hebergeur, connecte-toi sur l'espace client, va dans la configuration de la base de données (normalement c'est MySQL) puis récupère le nom d'utilisateur, le mot de passe, l'adresse de la base et le nom de la base. Note le tout sur un petit papier.

2. Reste sur la page de configuration de MySQL puis va dans le gestionnaire (PhpMyAdmin normalement) puis dans le menu de navigation à gauche séléctionne le nom de la base (que tu as écrit sur ton papier).

3. Dans le menu en haut cette fois, va dans le module 'SQL' puis tape :

CREATE TABLE `classement` (
      `id` INT NOT NULL AUTO INCREMENT,
      `nom` VARCHAR( 100 ) NOT NULL ,
      `clique` INT NOT NULL ,
      `url` VARCHAR( 100 ) NOT NULL

) ENGINE = innodb;

4. Retourne maintenant dans le module SQL puis tape :
INSERT INTO classement 
VALUES(NULL, "nom_de_ton_logiciel", 0, "url de ton fichier à telecharger avec chemin complet : http://");

(modifie le mot 'nom de ton logiciel' par... bon je pense pas que je vais m'étendre sur ça ^^).

5. Créé une page PHP (que tu va mettre sur ton FTP et qu'on appelera classement.php) et rentre dedans :
-----------------------------------------------------------------------------------------------------
<?php
  $dbhost = "rentre_ici_l'adresse_de_ta_base";
  $dbuname = "rentre_ici_le_nom_d_utilisateur";
  $dbpass = "rentre_ici_le_mot_de_passe";
  $dbname = "rentre_ici_le_nom_de_la_base";
  mysql_connect($dbhost, $dbuname, $dbpass) or die(mysql_error());
  mysql_select_db($dbname) or die(mysql_error());
  
  if (! is_numeric($_GET['id']) = 1) {
    echo "Erreur !<br>Le paramêtre fourni (identifiant du logiciel) n'est pas un nombre.";
    exit;
  }

  switch ($_GET['action']) {
    case "clique" :
      $sql = "UPDATE classement SET clique = clique + 1 WHERE id = ".$_GET['id'];
      mysql_query($sql) or die(mysql_error());
      echo '<script type="text/javascript">';
      echo "<!--";
      echo 'window.location = "classement.php?action=download&id='.$_GET['id'].'";';
      echo "//-->";
      echo "</script>";
      break;
    case "download" :
      $sql = "SELECT url FROM classement WHERE id = ".$_GET['id'];
      $run = mysql_query($sql) or die(mysql_error());
      $result = mysql_fetch_array($run);
      echo '<script type="text/javascript">';
      echo "<!--";
      echo 'window.location = "'.$result['url'].'";';
      echo "//-->";
      echo "</script>";
      break;
    case "view" :
      $sql = "SELECT id,name,clique FROM classement ORDER BY clique ASC LIMIT 0,5";
      $run = mysql_query($sql) or die(mysql_error());
      echo "<h1>Top 5 des logiciels les plus téléchargés :</h1><br><ul>";
      $i = 0;
      while ($result = mysql_fetch_array($run)) {
        $i++;
        echo "<li><a href=\"classement.php?acion=download&id=".$result['id']."\">".$i.
        ". ".$result['name']." avec ".$result['clique']." cliques.</a></li>";
      }
      echo "</ul>";
      break;
   default :
      echo "Erreur !";
      exit;
  }
?>

-----------------------------------------------------------------------------------------------------

6. Voila maintenant quand tu veux télécharger un logiciel tu va voir dans ta base, tu récupère l'identifiant qui est associé au nom de ton logiciel et pour le télécharger tu donne aux visiteurs le lien '<a href="classement.php?action=clique&id=identifiant_de_ton_logiciel">Télécharger</a>'. Pour voir le classement tu fait '<a href="classement.php?action=view">Voir le classement</a>'.

Voila, je l'ai pas tésté mais logiquement ça devrait marcher.

@++
bibi675 (je programme en PHP, MySQL, Liberty BASIC, HTML, CSS, Delphi),
edgar.fournival@hotmail.fr

Répondre à bibi675

8

bibi675, le 1 jan 2008 à 13:04:51
  • +1

Salut,
Si tu ne sais pas programmer en PHP et si tu n'a pas de base de donnée alors t'es mal barré mais si tu as une base de donnée, je vais t'expliquer comment faire :

1. Commence par aller sur le site de ton hebergeur, connecte-toi sur l'espace client, va dans la configuration de la base de données (normalement c'est MySQL) puis récupère le nom d'utilisateur, le mot de passe, l'adresse de la base et le nom de la base. Note le tout sur un petit papier.

2. Reste sur la page de configuration de MySQL puis va dans le gestionnaire (PhpMyAdmin normalement) puis dans le menu de navigation à gauche séléctionne le nom de la base (que tu as écrit sur ton papier).

3. Dans le menu en haut cette fois, va dans le module 'SQL' puis tape :

CREATE TABLE `classement` (
      `id` INT NOT NULL AUTO INCREMENT,
      `nom` VARCHAR( 100 ) NOT NULL ,
      `clique` INT NOT NULL ,
      `url` VARCHAR( 100 ) NOT NULL
) ENGINE = innodb;


4. Retourne maintenant dans le module SQL puis tape :
INSERT INTO classement 
VALUES(NULL, "nom_de_ton_logiciel", 0, "url de ton fichier à telecharger avec chemin complet : http://");

(modifie le mot 'nom de ton logiciel' par... bon je pense pas que je vais m'étendre sur ça ^^).

5. Créé une page PHP (que tu va mettre sur ton FTP et qu'on appelera classement.php) et rentre dedans :
-----------------------------------------------------------------------------------------------------
<?php
  $dbhost = "rentre_ici_l'adresse_de_ta_base";
  $dbuname = "rentre_ici_le_nom_d_utilisateur";
  $dbpass = "rentre_ici_le_mot_de_passe";
  $dbname = "rentre_ici_le_nom_de_la_base";
  mysql_connect($dbhost, $dbuname, $dbpass) or die(mysql_error());
  mysql_select_db($dbname) or die(mysql_error());
  
  if (! is_numeric($_GET['id']) = 1) {
    echo "Erreur !<br>Le paramêtre fourni (identifiant du logiciel) n'est pas un nombre.";
    exit;
  }

  switch ($_GET['action']) {
    case "clique" :
      $sql = "UPDATE classement SET clique = clique + 1 WHERE id = ".$_GET['id'];
      mysql_query($sql) or die(mysql_error());
      echo '<script type="text/javascript">';
      echo "<!--";
      echo 'window.location = "classement.php?action=download&id='.$_GET['id'].'";';
      echo "//-->";
      echo "</script>";
      break;
    case "download" :
      $sql = "SELECT url FROM classement WHERE id = ".$_GET['id'];
      $run = mysql_query($sql) or die(mysql_error());
      $result = mysql_fetch_array($run);
      echo '<script type="text/javascript">';
      echo "<!--";
      echo 'window.location = "'.$result['url'].'";';
      echo "//-->";
      echo "</script>";
      break;
    case "view" :
      $sql = "SELECT id,name,clique FROM classement ORDER BY clique ASC LIMIT 0,5";
      $run = mysql_query($sql) or die(mysql_error());
      echo "<h1>Top 5 des logiciels les plus téléchargés :</h1><br><ul>";
      $i = 0;
      while ($result = mysql_fetch_array($run)) {
        $i++;
        echo "<li><a href=\"classement.php?acion=download&id=".$result['id']."\">".$i.
        ". ".$result['name']." avec ".$result['clique']." cliques.</a></li>";
      }
      echo "</ul>";
      break;
   default :
      echo "Erreur !";
      exit;
  }
?>

-----------------------------------------------------------------------------------------------------

6. Voila maintenant quand tu veux télécharger un logiciel tu va voir dans ta base, tu récupère l'identifiant qui est associé au nom de ton logiciel et pour le télécharger tu donne aux visiteurs le lien '<a href="classement.php?action=clique&id=identifiant_de_ton_logiciel">Télécharger</a>'. Pour voir le classement tu fait '<a href="classement.php?action=view">Voir le classement</a>'.

Voila, je l'ai pas tésté mais logiquement ça devrait marcher.

@++
bibi675 (je programme en PHP, MySQL, Liberty BASIC, HTML, CSS, Delphi),
edgar.fournival@hotmail.fr

Répondre à bibi675

9

 bibi675, le 1 jan 2008 à 13:07:34

Excusez-moi pour le triple post mais je me suis trompé, le bon mode d'emploi à suivre est le message avant celui-là.

Répondre à bibi675
Collection CommentÇaMarche.net