1. Задавайте здесь вопросы о коде, которые не подходят в другие разделы, такие как:
    Дизайн > Верстка
    PHP > Как сделать на PHP
    Скрыть объявление

Помогите с кодом

Тема в разделе "Web Coding", создана пользователем ShmaToK, 4 окт 2007.

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

    ShmaToK Постоялец

    Регистр.:
    25 дек 2006
    Сообщения:
    91
    Симпатии:
    4
    Выручайте.
    В общем вот php-код одного файла (не полностью, а часть)
    PHP:
    function parseBlock(&$html)
        {
            global 
    $g;
            if (
    $g['options']['main_users'] == "Y")
            {
                
    $i 0;
                
    DB::query("
                        SELECT u.user_id, u.name, f.photo_id, u.orientation, floor((TO_DAYS(now())-TO_DAYS(birth))/365) AS age
                    FROM user AS u LEFT JOIN photo AS f ON u.user_id=f.user_id AND f.main='Y' " 
    $g['sql']['photo_vis'] . "
                    WHERE f.photo_id IS NOT NULL
                    ORDER BY u.register DESC, u.user_id
                    LIMIT " 
    $g['options']['main_users_number'] . "
                "
    );
                while (
    $row DB::fetch_row())
                {
                    
    $i++;
                    if (
    $i == 4)
                    {
                        
    $html->parse("newline"false);
                    }
                    else
                    {
                        
    $html->setblockvar("newline""");
                    }
                    
    $row['photo'] = $row['user_id'] . "_" $row['photo_id'] . "_" $g['options']['main_users_photo_size'] . ".jpg";
                    foreach (
    $row as $k => $v)
                    {
                        
    $html->setvar($k$v);
                    }
                    
    $html->parse("user"true);
                }
                
    $html->parse("users"true);
            }
    С помощью него выводиться в шаблоне возраст, имя, фото, если к этому - u.user_id, u.name, f.photo_id, u.orientation добавить еще u.city_id (user_id, name, orientation -находяться в таблице user, а photo_id - либо в таблице user либо в photo) - то будет выводиться id города (например выводиться Город: 2)
    Как мне правильно сделать запрос, чтобы вместо 2 выводилось название города, если он находиться в geo_city и имеет вот такие поля - city_id, state_id, country_id, city_title.
    Заранее всем спасибо. Если что-то не понятно описал или неправильно спросил - пишите, обьясню подробнее.
    Надеюсь на помощь
     
  2. Nafania

    Nafania

    Регистр.:
    24 мар 2007
    Сообщения:
    167
    Симпатии:
    46
    Код:
    DB::query("
                        SELECT u.user_id, u.name, f.photo_id, u.orientation, floor((TO_DAYS(now())-TO_DAYS(birth))/365) AS age, gc.city_title
                    FROM user AS u LEFT JOIN photo AS f ON u.user_id=f.user_id AND f.main='Y' " . $g['sql']['photo_vis'] . "
    LEFT JOIN geo_city gc ON u.city_id = gc.city_id
                    WHERE f.photo_id IS NOT NULL
                    ORDER BY u.register DESC, u.user_id
                    LIMIT " . $g['options']['main_users_number'] . "
                "); 
    Соотв. название города будет в $row['city_title']
     
  3. ShmaToK

    ShmaToK Постоялец

    Регистр.:
    25 дек 2006
    Сообщения:
    91
    Симпатии:
    4
    Не помогло, так вообще пропадает все
     
  4. Nafania

    Nafania

    Регистр.:
    24 мар 2007
    Сообщения:
    167
    Симпатии:
    46
    Что пропадет? Мускуль ошибку выдает или что?
     
  5. ShmaToK

    ShmaToK Постоялец

    Регистр.:
    25 дек 2006
    Сообщения:
    91
    Симпатии:
    4
    Нет, ошибку не выдает. Просто блок, за который отвечает эта часть кода - исчез. Если у Вас есть возможность стукните мне в аську - 6706339 - я думаю от общения через icq толку будет больше
     
  6. Nafania

    Nafania

    Регистр.:
    24 мар 2007
    Сообщения:
    167
    Симпатии:
    46
    Я не "стучу в аськи".
    Если блок исчез, то очевидно, что цикл не выполнился.
    А вот по какой причине он не выполнился можете сказать лишь вы.
    Скорее всего мускуль выдал ошибку, а у вас обработчик выдал return; и ошибка нигде не показывается.
    Сделайте тестовый запрос через пхпмайадмин, ессно заменив переменные на реальные значения и посмотрите в чем дело.
     
  7. valerka

    valerka Прохожие

    С алиасами разберись, ну, и еще почитай правила составления запросов к mysql - поможет
     
Статус темы:
Закрыта.