Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Запрос на выборку для Форума
 
 автор: inity   (20.04.2010 в 12:08)   письмо автору
 
 

Во общем есть такой запрос к форуму:
$result = $db->sql_query("SELECT a.uid, a.id, u.uid, u.user_name, g.gid, g.color FROM {$prefix}_acc AS a LEFT JOIN {$prefix}_users AS u ON(u.uid=a.uid) LEFT JOIN {$prefix}_groups AS g ON (g.gid=u.user_group) WHERE a.id='".intval($_GET['id'])."'");

При обращение к определенному разделу (раздел = ($_GET['id']) ) показывает кто в данном разделе модератор.
Проблема, в то что я не могу понять, почему не работает запрос вида
$result = $db->sql_query("SELECT a.uid, a.id AS forum_id,u.uid, u.user_name, g.gid, g.color FROM {$prefix}_acc AS a LEFT JOIN {$prefix}_users AS u ON(u.uid=a.uid) LEFT JOIN {$prefix}_groups AS g ON (g.gid=u.user_group)

здесь я пытаюсь вывести список модератор в определенном разделе на главной страницы форума.

  Ответить  
 
 автор: cheops   (21.04.2010 в 12:36)   письмо автору
 
   для: inity   (20.04.2010 в 12:08)
 

Таблица {$prefix}_acc что содержит?

  Ответить  
 
 автор: inity   (21.04.2010 в 23:29)   письмо автору
 
   для: cheops   (21.04.2010 в 12:36)
 

таблица _acc:
    uid     id
     2     1
     2     2
     2     3
     1     1
     1     2

то есть id - это разделы форума
uid - это id пользователя из таблицы users

  Ответить  
 
 автор: Trianon   (21.04.2010 в 23:59)   письмо автору
 
   для: inity   (20.04.2010 в 12:08)
 

а не работет-то что именно?
И где Вы в этом запросе определяете конкретный раздел?

  Ответить  
 
 автор: inity   (22.04.2010 в 20:41)   письмо автору
 
   для: Trianon   (21.04.2010 в 23:59)
 

>а не работет-то что именно?
не работает 2 запрос - не выводит список модераторов по конкретному разделу на форуме.

>И где Вы в этом запросе определяете конкретный раздел?

Если я Вас правильно понял то - forum_id.

Сам список модераторов я получаю так:
$count = $db->sql_numrows($result);
   $i=1;
    while(list($auid, $aid, $uuid, $uuser_name, $ggid, $gcolor) = $db->sql_fetchrow($result)){
       @$forum_moder .= "<a href='index.php?module=Account&do=UserInfo&uname=".urlencode($uuser_name)."'><span style='color: #{$gcolor}'>".$uuser_name."</span></a>";
      @$forum_moder .= ($count>$i) ? ", " : "";
        $i++;
    }

в переменной $forum_moder . = модераторы.

  Ответить  
 
 автор: Trianon   (22.04.2010 в 22:17)   письмо автору
 
   для: inity   (22.04.2010 в 20:41)
 

Вы намеренно что ли пытаетесь большой код в единственную строку растянуть?
Читать же неудобно!

  Ответить  
 
 автор: Лена   (22.04.2010 в 21:31)   письмо автору
 
   для: inity   (20.04.2010 в 12:08)
 

У вас две таблицы объединены по полям u.uid=a.uid. Зачем вы выбираете из базы одно и то же - и u.uid, и a.uid?
После запроса сделайте print $result; и посмотрите сам запрос.

  Ответить  
 
 автор: inity   (25.04.2010 в 19:50)   письмо автору
 
   для: Лена   (22.04.2010 в 21:31)
 

>У вас две таблицы объединены по полям u.uid=a.uid. Зачем вы выбираете из базы одно и то же - и u.uid, и a.uid?

Чтобы сопоставить значения - определенному разделу соответствует свой модератор.
>После запроса сделайте print $result; и посмотрите сам запрос.

Resource id #44Resource id #46Resource id #48Resource id #50Resource 
id #52Resource id #55Resource id #57Resource id #59Resource id #61Resource id #63Resource id 
#66Resource id #68Resource id #70Resource id #72Resource id #75Resource id #77Resource 
id #80Resource id #82Resource id #84Resource id #86Resource id #89Resource id #92Resource 
id #94Resource id #96Resource id #99

Это то что мне показывает print $result.

После обработки кода (который выше) мне выводит ВСЕХ модераторов в каждом разделе.

  Ответить  
 
 автор: inity   (27.04.2010 в 23:18)   письмо автору
 
   для: inity   (25.04.2010 в 19:50)
 

Будут какие варианты?

  Ответить  
 
 автор: Trianon   (27.04.2010 в 23:33)   письмо автору
 
   для: inity   (27.04.2010 в 23:18)
 

SQL-запрос покажите что ли...

  Ответить  
 
 автор: inity   (04.05.2010 в 14:15)   письмо автору
 
   для: Trianon   (27.04.2010 в 23:33)
 

>SQL-запрос покажите что ли...
Повторюсь...

Во общем есть такой запрос к форуму:
$result = $db->sql_query("SELECT a.uid, a.id, u.uid, u.user_name, g.gid, g.color 
FROM {$prefix}_acc AS a LEFT JOIN {$prefix}_users AS u ON(u.uid=a.uid) LEFT 
JOIN {$prefix}_groups AS g ON (g.gid=u.user_group) WHERE 
a.id='".intval($_GET['id'])."'");


При обращение к определенному разделу (раздел = ($_GET['id']) ) показывает кто в данном разделе модератор.
Проблема, в то что я не могу понять, почему не работает запрос вида
$result = $db->sql_query("SELECT a.uid, a.id AS forum_id,u.uid, u.user_name, 
g.gid, g.color FROM {$prefix}_acc AS a LEFT JOIN {$prefix}_users AS u 
ON(u.uid=a.uid) LEFT JOIN {$prefix}_groups AS g ON 
(g.gid=u.user_group)");


здесь я пытаюсь вывести список модератор в определенном разделе на главной страницы форума.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования