2010-08-05 2 views
0

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

<?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); 
?> 
+2

Вам нужна помощь с SQL, PHP или обоими? – RedFilter

+0

Вы достигли этого, демо-URL выглядит нормально? –

+0

да, мне нужна помощь с обоими этими .. – phphunger

ответ

0

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

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

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

И, кстати, добавить "LIMIT 10" для "Monthly топ 10 игроков" запросов.

Смежные вопросы