echo $id

Discussion in 'Программирование' started by vectorserver22, Oct 7, 2009.

  1. Offline

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

    Joined:
    Apr 12, 2009
    Messages:
    73
    Likes Received:
    2
    Gender:
    Male
    Всем привет, подскажите пожалуйста как мне вывести в модуле ИД опредеоенных пользователей точнее 10-и пишу <?php echo $44; ?> не пашет, только не смейтесь, новичек в этом деле

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

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

    omfgpanda Недавно здесь => Cпециалист <=

    Joined:
    Jan 22, 2008
    Messages:
    673
    Likes Received:
    53
    Gender:
    Male
    версия джумлы ? хотите видеть ИД всех пользователей на сайте ?
     
    Dead Krolik likes this.
  4. mike84
    Offline

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

    Joined:
    Nov 25, 2007
    Messages:
    210
    Likes Received:
    15
    Gender:
    Male
    писать для вывода id текщего пользователя (того, который смотрит эту страницу, если он залогинен)
    надо так:
    Код (PHP):
    1. <?php echo $id; ?>

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

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

    Joined:
    Apr 12, 2009
    Messages:
    73
    Likes Received:
    2
    Gender:
    Male
    Нет вы меня не поняли, Есть к примеру 5 ведущих на радио, садятся на свой пост заходит под своим лигином и __> В эфире: Бла бла бла, типо модуля mod_comprofileronline, но только для питерых _http://ekoradio.ru/
     
    Last edited: Oct 8, 2009
  6. Dead Krolik
    Offline

    Dead Krolik Недавно здесь => Cпециалист <=

    Joined:
    Apr 13, 2007
    Messages:
    3,685
    Likes Received:
    101
    Gender:
    Male
    omfgpanda, задал конкретный вопрос, или мне показалось?

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

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

    Joined:
    Apr 12, 2009
    Messages:
    73
    Likes Received:
    2
    Gender:
    Male
    Ну вот как мне вывести эхом мой ИД, неподскжите "Hi $id"
     
  8. omfgpanda
    Offline

    omfgpanda Недавно здесь => Cпециалист <=

    Joined:
    Jan 22, 2008
    Messages:
    673
    Likes Received:
    53
    Gender:
    Male
    если ничего не путаю, для джумлы 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 Недавно здесь

    Joined:
    Apr 12, 2009
    Messages:
    73
    Likes Received:
    2
    Gender:
    Male
    Спасибо большое, очень!!!!!!!

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

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

    Joined:
    Apr 12, 2009
    Messages:
    73
    Likes Received:
    2
    Gender:
    Male
    И ещо вопрос, как вывести настоящее имя, а не admin
     
  11. Offline

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

    Joined:
    Apr 12, 2009
    Messages:
    73
    Likes Received:
    2
    Gender:
    Male
    Блин ппц но пользователь выводиться даже если он офлайн как сделать когда он только онлайн
     
  12. omfgpanda
    Offline

    omfgpanda Недавно здесь => Cпециалист <=

    Joined:
    Jan 22, 2008
    Messages:
    673
    Likes Received:
    53
    Gender:
    Male
    Добрый день, что нибудь слышали о сессиях? оО

    Код (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 and Fanamura like this.
  13. mike84
    Offline

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

    Joined:
    Nov 25, 2007
    Messages:
    210
    Likes Received:
    15
    Gender:
    Male
  14. Offline

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

    Joined:
    Apr 12, 2009
    Messages:
    73
    Likes Received:
    2
    Gender:
    Male
    omfgpanda спасибо большое но как мне добавить 7х диджеев по ид или как орпеделить ид группы
     
  15. omfgpanda
    Offline

    omfgpanda Недавно здесь => Cпециалист <=

    Joined:
    Jan 22, 2008
    Messages:
    673
    Likes Received:
    53
    Gender:
    Male
    Итак, если вы решили добавить своих диджеев в стандартные группы джумлы, то не вижу никак проблемм:
    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 likes this.
  16. Fanamura
    Offline

    Fanamura Доброта

    Joined:
    Mar 12, 2007
    Messages:
    5,094
    Likes Received:
    158
    Gender:
    Male
    omfgpanda, очень занимательно :) Жаль не могу еще + поставить
     
  17. omfgpanda
    Offline

    omfgpanda Недавно здесь => Cпециалист <=

    Joined:
    Jan 22, 2008
    Messages:
    673
    Likes Received:
    53
    Gender:
    Male
    спасибо )
     
  18. Offline

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

    Joined:
    Apr 12, 2009
    Messages:
    73
    Likes Received:
    2
    Gender:
    Male
    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, и т.д;
     
    Last edited: Oct 31, 2009
  19. omfgpanda
    Offline

    omfgpanda Недавно здесь => Cпециалист <=

    Joined:
    Jan 22, 2008
    Messages:
    673
    Likes Received:
    53
    Gender:
    Male
    Если вы используете запрос для получения списка пользователей группы, то на выходе вы получаете массив :
    Код (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 likes this.
  20. Offline

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

    Joined:
    Apr 12, 2009
    Messages:
    73
    Likes Received:
    2
    Gender:
    Male
    Блин а другие пользователи не видят диджеев, видит только диджей сам себя, а др нет
     
  21. Offline

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

    Joined:
    Apr 12, 2009
    Messages:
    73
    Likes Received:
    2
    Gender:
    Male
    А можно просто ввести ID нескольких людей, чтобы постоянно не вписывать ID чтобы из разных групп ?
     

Share This Page

Loading...