Обработка запроса

Статус
В этой теме нельзя размещать новые ответы.

Hafner

Постоялец
Регистрация
9 Июл 2008
Сообщения
79
Реакции
30
Не думал, что придется тут писать о казалось бы банальном, но уже который час бьюсь и не могу победить, бред какой-то...
Вобщем есть код:
PHP:
<body bgcolor=#000000>
<?php

define("DB_HOST", "");
define("DB_USER", "");
define("DB_PASS", "");
define("DB_NAME", "");

$mode = $_GET['mode'];
$map = $_GET['map'];

$sql = mysql_connect(DB_HOST, DB_USER, DB_PASS) or die("Unable to connect to MySQL.");
mysql_select_db(DB_NAME, $sql) or die ("Unable to select database.");

echo "<table align=center width=90% cellpadding=0 cellspacing=2 border=0>";

function top_climb($tbl_climb,$m) {
        global $sql;

	$check_top = mysql_query("SELECT time FROM $tbl_climb WHERE mapname = '$m' ORDER BY time LIMIT 1",$sql);
        if (mysql_num_rows($check_top))
        {
              while($j = mysql_fetch_array($check_top)) 
	      {
              $tJ = $j['time'];
              }
        }
        else 
        {
              $tJ = '-';
        }       

return $tJ;
}

if( isset($mode) )
{
print "eto ne imeet otnoshenija k probleme";
}
else
{
	echo "<tr align=center bgcolor=#999999><td width=70% align=left>MapName</td><td width=10% align=center>ProRecord</td><td width=10% align=center>NubRecord</td></tr>";
	$data = mysql_query("SELECT * FROM kz_maps ORDER BY map", $sql);
        $tbl_climb1 = 'kz_pro15';
        $tbl_climb2 = 'kz_top15';
        while($ms = mysql_fetch_array($data)) 
	{
	       echo "<tr align=center bgcolor=#999999><td width=70% align=left>".$ms['map']."</td><td width=10% align=center><a href='top15.php?mode=pro15'>".top_climb($tbl_climb1,$ms['map'])."</a></td><td width=10% align=center><a href='top15.php?mode=nub15'>".top_climb($tbl_climb2,$ms['map'])."</a></td></tr>";
        }

}

echo "</table>";
mysql_close($sql);

?>

Функция top_climb не пашет, то есть, проблема в запросе, в этой строчке:
PHP:
$check_top = mysql_query("SELECT time FROM $tbl_climb WHERE mapname = '$m' ORDER BY time LIMIT 1",$sql);

Как только ставлю вместо $m определенное значение, то всё робит, но если оставляем перменную, то пусто.

Нид хэлп!
 
PHP:
$check_top = mysql_query("SELECT `time` FROM `".$tbl_climb."` WHERE `mapname` = \"".$m."\" ORDER BY `time` LIMIT 1",$sql);
 
Нет, не в этом дело.

Переменная $tbl_climb задана явно, а $m получает значение после запроса и передает его в функцию уже для другого запроса. Я проверил всё, значение передается нормально, но не пашет, как только ставлю конкретное значение для $m сразу виден результат.
 
На mysql_query желательно всегда вешать какой нить обработчик ошибок напр or die(mysql_error());. Возможно всё таки переменная не так передаётся. :nezn:
 
Спасибо всем за желание помочь, проблему решил.
В базе данных значения были с пробелами в конце...
А ведь зарекался всегда, что буду проверять входящие данные :)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху