JeuWeb - Crée ton jeu par navigateur
Classement en plusieurs pages[réglé] - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Classement en plusieurs pages[réglé] (/showthread.php?tid=1119)



Classement en plusieurs pages[réglé] - oualala - 26-04-2007




RE: Classement en plusieurs pages. - Kassak - 26-04-2007

Voila mon classement, avec 20 noms par pageWink


Code PHP :
<?php
$pseudo_joueur
= $_SESSION['pseudo'];

$nombrepseudo = 20; // Essayez de changer ce nombre pour voir :o)

// On récupère le nombre total de messages
$retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM membre');
$donnees = mysql_fetch_array($retour);
$totalDesMessages = $donnees['nbre_entrees'];

// On calcule le nombre de pages à créer
$nombreDePages = ceil($totalDesMessages / $nombrepseudo);

// Puis on fait une boucle pour écrire les liens vers chacune des pages
echo 'Page : ';
for (
$i = 1 ; $i <= $nombreDePages ; $i++)
{
echo
'<a href="classement.php?page=' . $i . '">' . $i . '</a> ';
}
?>
<br />
<br />
<?php

if (isset($_GET['page']))
{
$page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4)
}
else
// La variable n'existe pas, c'est la première fois qu'on charge la page
{
$page = 1; // On se met sur la page 1 (par défaut)
}
$premierMessageAafficher = ($page - 1) * $nombrepseudo;

$reponse = mysql_query('SELECT * FROM membre ORDER BY experience DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombrepseudo) or die(mysql_error());
echo
'<u>Classement Général</u><br />';
echo
'<br />';
while (
$donnees = mysql_fetch_array($reponse) )
{
echo
' '.$donnees['pseudo'].' : XP='.$donnees['experience'].' / PK='.$donnees['pk'].' / MORT='.$donnees['mort'].' /
PO='
.$donnees['po'].' / Alignement='.$donnees['avatar_joueur'].'<br />';
}
?>


Inspire toi enWink


RE: Classement en plusieurs pages. - oualala - 26-04-2007

Euh juste une question, c'est quoi sa?
// On récupère le nombre total de messages
Code PHP :
<?php 
$retour
= mysql_query('SELECT COUNT(*) AS nbre_entrees FROM membres');
$donnees = mysql_fetch_array($retour);
$totalDesMessages = $donnees['nbre_entrees'];

Car je ne vois pas se que c'est vu que je ne fais pas un chat, merci de ta réponse Wink


RE: Classement en plusieurs pages. - Kassak - 26-04-2007

Fait aps gaffe aux noms des variables, j'ia repris le code de mon livre d'or, sans modifier les noms, mais ca cange rien du tout^^

Sinon va sur le site du zero, et matte le tuto sur le livre d'or, tu y verras pareil que ce que j'ai faisWink


RE: Classement en plusieurs pages. - Plume - 26-04-2007

En effet, le principe est le même. A toi d'adapter à tes besoins.


RE: Classement en plusieurs pages. - oualala - 27-04-2007

Voilà mon code:
Code PHP :
<?php 
//Inclusion du fichier contenant les identifiants de connexion à la base de
require("config.inc.php");
//Connexion à la base de données.
mysql_connect($host, $username, $password);
mysql_select_db($bdd_name);

$pseudo_joueur = $_SESSION['pseudo'];

$nombrepseudo = 100; // Essayez de changer ce nombre pour voir :o)

// On récupère le nombre total de membres
$retour = mysql_query('SELECT COUNT(*) AS pseudo FROM membres');
$donnee = mysql_fetch_array($retour);
$totalDesMessages = $donnee['pseudo'];

// On calcule le nombre de pages à créer
$nombreDePages = ceil($totalDesMessages / $nombrepseudo);

// Puis on fait une boucle pour écrire les liens vers chacune des pages
echo 'Page : ';
for (
$i = 1 ; $i <= $nombreDePages ; $i++)
{
echo
'<a href="classement.php?page=' . $i . '" class="menu1">' . $i . '</a> ';
}
?>
<br />
<br />
<?php

if (isset($_GET['page']))
{
$page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4)
}
else
// La variable n'existe pas, c'est la première fois qu'on charge la page
{
$page = 1; // On se met sur la page 1 (par défaut)
}
$premierMessageAafficher = ($page - 1) * $nombrepseudo;

$reponse = mysql_query('SELECT * FROM membres ORDER BY xp DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombrepseudo) or die(mysql_error());

echo
'<u>Classement Général</u><br />';
echo
'<br />';
$place=1;
while (
$membre = mysql_fetch_array($reponse) )
{
echo
'Classement: '.$place.' Seigneur: <b><a href="voirseigneur.php?pseudo='.$membre['pseudo'].'" class="menu1">'.$membre['pseudo'].'</a></b> Glads: <b>'.$membre['gald'].'</b> Race: <b>'.$membre['race'].'</b><br />';
$place++;
}

le problème c'est que quand on fait page 2 exemple ben sa reaffiche 1,2 alors que sa devrait être ici 101, comment faire?


RE: Classement en plusieurs pages. - Roworll - 27-04-2007

Code PHP :
<?php 
echo '<br />';
$place=1; // Pas bon ça ici. on repart a 1 a chaque fois...
while ($membre = mysql_fetch_array($reponse) )

je mettrais plutôt:
Code PHP :
<?php 
$place
= ($page - 1) * $nombrepseudo +1 ;



RE: Classement en plusieurs pages. - oualala - 27-04-2007

Merci beaucoup!!!


RE: Classement en plusieurs pages[réglé] - Plume - 27-04-2007

T'es un bon membre, t'as bien mis la mention [Réglé] ^^