отображение 10 лучших игроков и 10 лучших игроков в месяц с помощью php mysql - PullRequest
0 голосов
/ 05 августа 2010

В настоящее время я работаю на систему рекордов для моего сайта игр.и я написал код для этого.он отображает только 1 игроков.Я хочу отобразить список лучших игроков, когда нажимаю на URL лучших игроков, и хочу отображать ежемесячные топ-10 игроков, когда нажимаю на URL лучших игроков за месяц. Как это сделать.Я пытаюсь с 2 дней.Я поражен в этой точке.пожалуйста, посмотрите на это.код следующим образом.Для справки любезно смотрите в этом.Мне нужно это.любые идеи .. http://www.gamesheep.com/highscores.php?id=the-champions-3d-game&table=w

<?php
include_once("_data.php");

$game_name = "test";
$db_table = "newhs_" . $game_name;

$conn = mysql_connect($db_host, $db_user, $db_pass);
mysql_select_db($db_name, $conn);

// Alltime  records...

if ($order=="name") {
 $sql1 = "SELECT id FROM $db_table ORDER BY name ASC";
} else {
 $sql1 = "SELECT id FROM $db_table ORDER BY score DESC";
}
$result1 = mysql_query($sql1);

// Top 10 players....

if($top10 == "name"){
 $sql2 = "SELECT name,score FROM $db_table ORDER BY score DESC LIMIT 10";
} else {
 $sql2 = "SELECT id FROM $db_table ORDER BY score DESC";
}
$result2 = mysql_query($sql2);

// Monthly top 10 players.....

if($mtop10 == "name"){
 $sql3 = "SELECT name, score FROM $db_table WHERE date(dateinfo) = CURdate()";
} else{
 $sql3 = "SELECT id FROM $db_table ORDER BY score DESC";
}
$result3 = mysql_query($sql3);


if (!$flash) {
 if ($order == "name") {
  $HTM_1 = "<table cellpadding='0' cellspacing='0' border='0' width=" . $table_width . ">
    <tbody>

    <tr align=center><td>" . $table_prop . "<tr align=center> 
  <th bgcolor='" . $t_color . "'>" . $t_font . "Pos</font></th>
  <th bgcolor='" . $t_color . "'>" . $t_font . "Name</a></font></th>
  <th bgcolor='" . $t_color . "'>" . $t_font . "'>Score</font></th>
  </tr>";
 } else {
  $HTM_1 = "<table cellpadding='0' cellspacing='0' border='0' width=" . $table_width . ">
    <tbody>
  <tr align=center><td>" . $table_prop . "<tr align=center> 
   <th bgcolor='" . $t_color . "'>" . $t_font . "Pos</font></th>
   <th bgcolor='" . $t_color . "'>" . $t_font . "Name</a></font></th>
   <th bgcolor='" . $t_color . "'>" . $t_font . "Score</font></th>
  </tr>";
 }
 echo "$HTM_1";
}

$num = 1;

while($r = mysql_fetch_object($result1))
{
 $result = mysql_db_query($db_name, "SELECT name, score from $db_table WHERE id='{$r->id}'");
 $resultArray = mysql_fetch_array($result);
 $id = $resultArray["id"];
 $name = $resultArray["name"];
 $score = $resultArray["score"];
 if ($sec==1) {
  if ($num <= $sec_size) {
   $HTML = "
   <tr bgcolor='" . $m_color . "' align='center'><td>" . $m_font . $num . "</td>
   <td>" . $m_font . $name . "</font></td>
   <td>" . $m_font . $score . "</font></td>
   </tr>";
  echo "$HTML";
  }
 } else {
  if ($num <= $st_size) {
  //echo "&name$num=$name&score$num=$score";
   if ($flash == 1) {
    echo "&name$num=$name&score$num=$score";
   } else {
       echo "&name$num=$name&score$num=$score&num$num=$num&gamename=$game_name";
    $HTML = "
   <tr bgcolor='" . $m_color . "' align='center'><td>" . $m_font . $num . "</td>
    <td>" . $m_font . $name . "</font></td>
    <td>" . $m_font . $score . "</font></td>
    </tr>";
    echo "$HTML";
   }
   $num++;
  }
 }
}

mysql_close ($conn);
?>

1 Ответ

0 голосов
/ 16 января 2012

Пожалуйста, рассмотрите возможность предварительного просмотра содержимого таблицы базы данных. Может быть, в таблице только 1 строка?

При быстром взгляде проблема может быть в условии, которое у вас есть в запросе, потому что в конце концов запрос работает и извлекает контент из базы данных.

ГДЕ дата (dateinfo) = CURdate ()

И, кстати, добавьте «LIMIT 10» для запросов «10 лучших игроков в месяц».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...