echo $id

Тема в разделе "Программирование", создана пользователем vectorserver22, 07.10.2009.

  1. Offline

    vectorserver22 Недавно здесь

    Регистрация:
    12.04.2009
    Сообщения:
    73
    Симпатии:
    2
    Пол:
    Мужской
    Всем привет, подскажите пожалуйста как мне вывести в модуле ИД опредеоенных пользователей точнее 10-и пишу <?php echo $44; ?> не пашет, только не смейтесь, новичек в этом деле

    Пример:
    Сейчас в эфире $id

    Заранее ьольшое спасибо))!!!!!!!
     
  2.  
  3. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    версия джумлы ? хотите видеть ИД всех пользователей на сайте ?
     
    Dead Krolik нравится это.
  4. mike84
    Offline

    mike84 Недавно здесь

    Регистрация:
    25.11.2007
    Сообщения:
    210
    Симпатии:
    15
    Пол:
    Мужской
    писать для вывода id текщего пользователя (того, который смотрит эту страницу, если он залогинен)
    надо так:
    Код (PHP):
    1. <?php echo $id; ?>

    а чтобы выводить id пользователя который написал (материал,комментарий итд) либо смотреть в переменной $row, либо делать запрос в соответствующую таблицу.
     
  5. Offline

    vectorserver22 Недавно здесь

    Регистрация:
    12.04.2009
    Сообщения:
    73
    Симпатии:
    2
    Пол:
    Мужской
    Нет вы меня не поняли, Есть к примеру 5 ведущих на радио, садятся на свой пост заходит под своим лигином и __> В эфире: Бла бла бла, типо модуля mod_comprofileronline, но только для питерых _http://ekoradio.ru/
     
    Последнее редактирование: 08.10.2009
  6. Dead Krolik
    Offline

    Dead Krolik специалист

    Регистрация:
    13.04.2007
    Сообщения:
    3 688
    Симпатии:
    101
    Пол:
    Мужской
    omfgpanda, задал конкретный вопрос, или мне показалось?

    Я бы посоветовал ответить ему, а не на странные речи mike84 :slow:
     
  7. Offline

    vectorserver22 Недавно здесь

    Регистрация:
    12.04.2009
    Сообщения:
    73
    Симпатии:
    2
    Пол:
    Мужской
    Ну вот как мне вывести эхом мой ИД, неподскжите "Hi $id"
     
  8. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    если ничего не путаю, для джумлы 1.0.х
    Код (PHP):
    1. global $my;
    2. echo $my->id //получите ид текущего пользователя
    3. echo $my->username //имя и т.д.

    для джумлы 1.5.х
    Код (PHP):
    1. $user =& JFactory::getUser();
    2. echo $user->username;

    фак по объекту JUser тут
     
  9. Offline

    vectorserver22 Недавно здесь

    Регистрация:
    12.04.2009
    Сообщения:
    73
    Симпатии:
    2
    Пол:
    Мужской
    Спасибо большое, очень!!!!!!!

    я так понял чтоб определенные пользователи показывались нужно в JFactory::getUser(60,62,63 и т.д); ,???
     
  10. Offline

    vectorserver22 Недавно здесь

    Регистрация:
    12.04.2009
    Сообщения:
    73
    Симпатии:
    2
    Пол:
    Мужской
    И ещо вопрос, как вывести настоящее имя, а не admin
     
  11. Offline

    vectorserver22 Недавно здесь

    Регистрация:
    12.04.2009
    Сообщения:
    73
    Симпатии:
    2
    Пол:
    Мужской
    Блин ппц но пользователь выводиться даже если он офлайн как сделать когда он только онлайн
     
  12. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    Добрый день, что нибудь слышали о сессиях? оО

    Код (PHP):
    1. $db =& JFactory::getDBO();
    2. $result = null;
    3. $usr_id = 62;
    4.  
    5. $query = "SELECT DISTINCT username FROM jos_session WHERE client_id = 0 AND guest = 0 and
    6.               userid = {$usr_id}";
    7.  
    8.     $db->setQuery($query);
    9.     $result = $db->loadObjectList();
    10.         if(count($result) > 0)
    11.         {
    12.             $user =& JFactory::getUser($usr_id);
    13.             echo "На проводе: {$user->name}";
    14.         }
    15.         else echo "Achtung";


    Данная конструкция позволит Вам узнать, находится ли пользователь с ИД = $usr_id в данный момент на сайте или нет. Для решения Вашей задачи Вам нужно создать отдельную группу пользователей, где будут находится только диджеи Ващей радиостанции и немного изменить запрос на

    Код (PHP):
    1. SELECT DISTINCT * FROM jos_session WHERE client_id = 0 AND guest = 0 and gid = {$group_id}


    где $group_id - ид группы с диджеями. Т.о. вы получите массив записей, из каждой записи Вам понадобиться только поле 'userid', с помощью которого Вы сможете получить все данные о пользователе через JFactory::getUser($usr_id).

    Надеюсь, что помог.
     
    lucifer и Fanamura нравится это.
  13. mike84
    Offline

    mike84 Недавно здесь

    Регистрация:
    25.11.2007
    Сообщения:
    210
    Симпатии:
    15
    Пол:
    Мужской
  14. Offline

    vectorserver22 Недавно здесь

    Регистрация:
    12.04.2009
    Сообщения:
    73
    Симпатии:
    2
    Пол:
    Мужской
    omfgpanda спасибо большое но как мне добавить 7х диджеев по ид или как орпеделить ид группы
     
  15. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    Итак, если вы решили добавить своих диджеев в стандартные группы джумлы, то не вижу никак проблемм:
    1. Пользователи
    2. Новый
    3. Заполняете все поля и выбираете группу пользователей.

    ID пользователя можно посмотреть в таблице пользователей, самый последний столбец.
    ID групп :
    Код (CODE):
    1. 17  ROOT
    2. 28  USERS
    3. 29  Public Frontend
    4. 18  Registered
    5. 19  Author
    6. 20  Editor
    7. 21  Publisher
    8. 30  Public Backend
    9. 23  Manager
    10. 24  Administrator
    11. 25  Super Administrator


    Если вдруг Вам понадобилась собственная группа, т.е. не стандартная, то :

    1. Топаем в phpMyAdmin (или ваша СУБД)
    2. Ищем таблицу jos_core_acl_aro_groups
    3. Вставляем новую запись:
    id - инкремент, его трогать не нужно
    parent_id - это id родительского элемента, фактически вы тут определяете уровень доступа группы
    (например для зарегистрированных пользователей = 18)
    name - Имя гурппы (например - Djs)
    lft,rgt - заполнять не нужно (с ними мы разберемся позднее)
    value - отображаемое имя (например - Djs)
    4. Топаем в \administrator\components\com_users\views\user\view.html.php (Joomla 1.5.11++)
    5. Находим 113 строку
    Код (PHP):
    1. $gtree = $acl->get_group_children_tree( null, 'USERS', false);

    и меняем ее на
    Код (PHP):
    1. $gtree = $acl->get_group_children_tree( null, 'USERS', true );

    6. Теперь Вам нужно настроить связи в таблице jos_core_acl_aro_groups, я говорю про поля lft И rgt.
    Код (PHP):
    1. $user="user" ;
    2. $password="pass" ;
    3. $db="database" ;
    4.  
    5. $host="localhost" ;
    6.  
    7.     mysql_connect("$host", "$user", "$password") or
    8.         die("Could not connect: " . mysql_error());
    9.        mysql_select_db("$db");
    10.  
    11.     rebuild_tree ( 0 , 1);
    12.  
    13.  
    14.     function rebuild_tree($parent_id, $left) {
    15.        $right = $left+1;
    16.        $result = mysql_query('SELECT id FROM jos_core_acl_aro_groups '.'WHERE parent_id="'.$parent_id.'";')
    17.           or die(mysql_error());
    18.  
    19.        while ($row = mysql_fetch_array($result))
    20.        {
    21.            $right = rebuild_tree($row['id'], $right);
    22.          }
    23.  
    24.        mysql_query('UPDATE jos_core_acl_aro_groups SET lft='.$left.', rgt='.
    25.                     $right.' WHERE id="'.$parent_id.'";');
    26.  
    27.        return $right+1;
    28.     }
    29. echo 'gg wp';

    Код, приведенный выше, сохраняете на вашем веб-сервере с джумлой в файлик, скажем rebiuld.php и потом запускаете его (не забудьте настроить подключение).
    З.Ы,: если кому нужно - можете переписать ег ос использованием Joomla API.
    7. После успешного выполнения загляните в таблицу jos_core_acl_aro_groups, поля lft и rgt должны быть заполнены целыми числами.
    8. Далее топаем в таблицу jos_groups. Вы увидите там 3 записи:
    Код (CODE):
    1. 0   Общий
    2. 1   Участники
    3. 2   Специальный

    9. Добавляем еще одну: id = 3, name = Djs (значение поля jos_groups.name должно совпадать с jos_core_acl_aro_groups.name вашей новой группы). После этого вы сможете в меню, статьях и т.д. выбирать уровень доступа - Общий, Участники, Специальный, Djs.

    После всего проделанного смело топаем в админку - пользователи - новый - и в списке групп выбираем нашу новую группу. :pleasant:
     
    Asylum нравится это.
  16. Fanamura
    Offline

    Fanamura Доброта

    Регистрация:
    12.03.2007
    Сообщения:
    5 108
    Симпатии:
    159
    Пол:
    Мужской
    omfgpanda, очень занимательно :) Жаль не могу еще + поставить
     
  17. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    спасибо )
     
  18. Offline

    vectorserver22 Недавно здесь

    Регистрация:
    12.04.2009
    Сообщения:
    73
    Симпатии:
    2
    Пол:
    Мужской
    omfgpanda, ещо раз очень благодарен, здал всё по вашей интрукции (ОгРоМНыЙ +), но списки пользователей не выводятся
    Код (PHP):
    1. $db    =& JFactory::getDBO();
    2. $result    = null;
    3. $group_id = 9;
    4.  
    5. $query = "SELECT DISTINCT * FROM jos_session WHERE client_id = 0 AND guest = 0 and gid = 9 ";
    6.  
    7.     $db->setQuery($query);
    8.     $result = $db->loadObjectList();
    9.         if(count($result) > 0)
    10.         {
    11.             $user =& JFactory::getUser($usr_id);
    12.             echo "На проводе: {$user->name}";
    13.         }
    14.         else echo "Achtung";

    Или как мне можно зделать, просто по ИД, ну типо (не смейся)
    Код (PHP):
    1. $usr_id = 62, 66, 72, и т.д;
     
    Последнее редактирование: 31.10.2009
  19. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    Если вы используете запрос для получения списка пользователей группы, то на выходе вы получаете массив :
    Код (PHP):
    1. $db    =& JFactory::getDBO();
    2. $result    = null;
    3. $group_id = 32; //ид вашей группы
    4.  
    5. $query = "SELECT DISTINCT * FROM jos_session WHERE client_id = 0 AND guest = 0 and gid = {$group_id} ";
    6.  
    7.     $db->setQuery($query);
    8.     $result = $db->loadObjectList();
    9.         if(count($result) > 0)
    10.         {
    11.                foreach($result as $item)
    12.                {
    13.                           echo "Dj: {$item['username']}<br>";
    14.                 }            
    15.         }
    16.         else echo "Achtung";
     
    vectorserver22 нравится это.
  20. Offline

    vectorserver22 Недавно здесь

    Регистрация:
    12.04.2009
    Сообщения:
    73
    Симпатии:
    2
    Пол:
    Мужской
    Блин а другие пользователи не видят диджеев, видит только диджей сам себя, а др нет
     
  21. Offline

    vectorserver22 Недавно здесь

    Регистрация:
    12.04.2009
    Сообщения:
    73
    Симпатии:
    2
    Пол:
    Мужской
    А можно просто ввести ID нескольких людей, чтобы постоянно не вписывать ID чтобы из разных групп ?
     

Поделиться этой страницей

Загрузка...