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

Тема в разделе "PHP", создана пользователем Hafner, 11 авг 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Hafner

    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_HOSTDB_USERDB_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 определенное значение, то всё робит, но если оставляем перменную, то пусто.

    Нид хэлп!
     
  2. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    PHP:
    $check_top mysql_query("SELECT `time` FROM `".$tbl_climb."` WHERE `mapname` = \"".$m."\" ORDER BY `time` LIMIT 1",$sql);
     
  3. Hafner

    Hafner Постоялец

    Регистр.:
    9 июл 2008
    Сообщения:
    79
    Симпатии:
    30
    Нет, не в этом дело.

    Переменная $tbl_climb задана явно, а $m получает значение после запроса и передает его в функцию уже для другого запроса. Я проверил всё, значение передается нормально, но не пашет, как только ставлю конкретное значение для $m сразу виден результат.
     
  4. antidote

    antidote

    Регистр.:
    21 янв 2008
    Сообщения:
    167
    Симпатии:
    42
  5. KillDead

    KillDead

    Регистр.:
    11 авг 2006
    Сообщения:
    883
    Симпатии:
    540
    На mysql_query желательно всегда вешать какой нить обработчик ошибок напр or die(mysql_error());. Возможно всё таки переменная не так передаётся. :nezn:
     
  6. Hafner

    Hafner Постоялец

    Регистр.:
    9 июл 2008
    Сообщения:
    79
    Симпатии:
    30
    Спасибо всем за желание помочь, проблему решил.
    В базе данных значения были с пробелами в конце...
    А ведь зарекался всегда, что буду проверять входящие данные :)
     
Статус темы:
Закрыта.