Форум русской поддержки Joomla!® CMS
10.12.2016, 12:58:24 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Сортировка пользователей в SQL запросе по собственному полю

 (Прочитано 128 раз)
0 Пользователей и 1 Гость смотрят эту тему.
voron121
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 174


Метод тыка и мата помогает в кодинге


« : 01.06.2016, 15:51:34 »

Доброго времени суток, уважаемые форумчане. Пробую вывести список пользователей из БД используя сл конструкцию запроса:

Код
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('*');
$query->from($db->quoteName('#__users'));
$query->where($db->quoteName('categ'). ' = '.$this->category->id ." AND ". $db->quoteName('block'). ' = 0 AND ' .$db->quoteName('day_rate'). ' > 0' );
$query->order($db->quoteName('day_rate'). 'ASC');
$query->setLimit('20');
$db->setQuery($query);
$results = $db->loadObjectList();
 

Столбец day_rate   - это дневной рейтинг пользователя. Данный столбец мне нужен был в проекте и я его создал вручную в БД. Собственно в чем трабла - сортировка по ид к примеру работает на ура, а вот по столбцу day_rate нет (проверил - сортирует как если бы стоял ид вместо day_rate).

Подскажите, возможно кто то сталкивался: как сделать сортировку именно по полю day_rate ?

И, хоть и не совсем в тему, но да бы не создавать еще один топик: как подтянуть ссылку на контакт пользователя на рандомной странице ? То есть я вывожу список пользователей и мне нужно сделать ссылку на их контакт (страница пользователя, реализовывал стандартными методами Joomla через компонент контактов и плагины Joomla). Я так пониимаю мне нужно подгрузить какой-то хелпер и через него вызвать генерацию арла, но вот какой и как - этого я так и не нашел в сети. С таким еще не сталкивался, по этому прошу помощи.
Записан
SmokerMan
Профи
********

Репутация: +694/-25
Offline Offline

Пол: Мужской
Сообщений: 5225



« Ответ #1 : 01.06.2016, 16:43:52 »

Ну как минимум
Цитировать
$query->order($db->quoteName('day_rate'). 'ASC');
тут уже ошибка, т.к. нет пробела
Цитировать
$query->order($db->quoteName('day_rate'). ' ASC');

Цитировать
как подтянуть ссылку на контакт пользователя на рандомной странице ?
как-то так
Код:
$query->leftJoin('#__contact_details AS c ON c.user_id = id');
узнаете id контакта, формируете ссылку

правда это может вызвать ambiguous
желательно переименовать
Код:
$query->from($db->quoteName('#__users'). ' AS u');
и к соответсвущем полям таблицы добавить u

и проверяете запросы на ошибки после $results = $db->loadObjectList();
Код:
if ($err = $db->getErrorMsg()) {
    echo $err;
}
Записан
voron121
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 174


Метод тыка и мата помогает в кодинге


« Ответ #2 : 01.06.2016, 18:26:23 »

спс, буду пробовать. на счет джоина - чет сразу не подумал )
Записан
voron121
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 174


Метод тыка и мата помогает в кодинге


« Ответ #3 : 01.06.2016, 19:04:55 »

не сработало  )) отходил от пк и когда сел тестить понял что ид пользователя я получаю только после запроса в таблицу с пользователями. То есть запрос то у меня выбирает всех пользователей  у которых categ = ид категории  (чуть сложно объяснить все но суть в том что у каждого пользователя есть своя категория)
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet