JeuWeb - Crée ton jeu par navigateur
Classement - 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 (/showthread.php?tid=5308)



Classement - vulcain - 12-03-2011

Bonsoir,

Je rencontre un petit soucis avec mon code.
Je voudrai afficher les mêmes civilisations du joueur en rouge, mais celà ne fonctionne pas, voici mon code :

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

$nombrepseudo = 30; // 30 pseudo par page

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

// On calcule le nombre de pages à créer
$nombreDePages = ceil($totalDeMembres / $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> ';
}
?></th>
</tr>
</table>
<table class="table">
<tr>
<th style="text-align:center;">Place</th>
<th style="text-align:center;">Pseudo</th>
<th style="text-align:center;">Civilisation</th>
<th style="text-align:center;">Clan</th>
<th style="text-align:center;">Points</th>
</tr>
<?php if (isset($_GET['page']))
{
$page = $_GET['page'];}
else
{
$page = 1;}
$premierPseudoAafficher = ($page - 1) * $nombrepseudo;

$reponse = mysql_query('SELECT * FROM cw_user ORDER BY xp DESC LIMIT ' . $premierPseudoAafficher .

', ' . $nombrepseudo) or die(mysql_error());

$place = ($page - 1) * $nombrepseudo +1 ;
while (
$membre = mysql_fetch_array($reponse) )
{
?>
<tr>
<td><?php echo $place; ?></td>
<td><a href="profil_membre.php?pseudo=<?php echo $membre['login']; ?>">
<?php
if($_SESSION['cw_user']['login'] == $membre['login'])
{echo
'<p style="color:green">' . $membre['login'] . '</p>';}
else
{
echo
$membre['login'];
}
?>
</a></td>
<?php
var_dump
($_SESSION['cw_user']['civilisation']);
var_dump($membre['civilisation']);
?>
<td><?php

if ($membre['civilisation'] == $civilisation_joueur['civilisation'])
{
echo
'<font color="red">'.$membre['civilisation'].'</font></td></tr>';
}
else
{
echo
''.$membre['civilisation'].'</td></tr>';
}


?></td>
<td><?php echo $membre['clan']; ?></td>
<td><?php echo $membre['xp']; ?></td>
</tr>
<?php $place++;} ?>

Merci à vous


RE: Classement - Globe - 12-03-2011

Ton HTML est assez dégoûtant dis donc !

Sinon pas vraiment le temps de me pencher sur ton code, mais sinon j'ai une question, quelqu'un saura sans doute m'éclairer :
$reponse = mysql_query('SELECT * FROM cw_user ORDER BY xp DESC LIMIT ' . $premierPseudoAafficher . ', ' . $nombrepseudo) or die(mysql_error());

La concaténation fonctionne avec des espaces ?


RE: Classement - atra27 - 12-03-2011

Php est pas case sensitive au niveau des espaces il me semble (et si j'ai bien compris la question)

Pour ton probléme, la flemme de lire le code... désolé


RE: Classement - djidi - 13-03-2011

Pourquoi utilises-tu $civilisation_joueur['civilisation'] ? D'où sort cette variable ?
Ce n'est pas plutot $_SESSION['cw_user']['civilisation'] ?


RE: Classement - vulcain - 16-03-2011

Cela ne change rien.

Voilà la partie du code qui bug :

Code PHP :
<?php 

if ($membre['civilisation'] == $_SESSION['cw_user']['civilisation'])
{
echo
'<font color="red">'.$membre['civilisation'].'</font></td></tr>';
}
else
{
echo
''.$membre['civilisation'].'</td></tr>';
}


?>



RE: Classement - djidi - 16-03-2011

On l'avait compris, mais sans savoir ce que contiennent les variables $membre et $_SESSION['cw_user'] on ne pourra pas t'aider...

Et il semblerait que tu ais des "</td></tr>" en trop :
"echo ''.$membre['civilisation'].'</td></tr>';"

PS : Il faudrait que tu fasse un grand nettoyage dans ton HTML car comme l'a indiqué Globe, celui-ci est horrible et difficilement lisible (sans compter le fait que le code PHP y soit intégré...)