Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 General Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 01-23-2009, 11:05 PM
Frank H. Shaw Frank H. Shaw is offline
 
Join Date: Aug 2007
Posts: 90
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default What table is used to hold the list of users and the usergroups they belong to?

What table is used to hold the list of users and the usergroups they belong to?

I think that is the best way to ask this question

I have been able to dumo the usergroup table values into an array that I created but as i understand the way things work the usergroupid have a value this value is used as a index into a table that holds the data which will determine the user groups the user belongs to my problem is two fold what is the name of this table that holds this information and what fields are used to traverse the table to get the actaul user groups the logon user belongs to.


Here is my test script so far
PHP Code:

global $myusergroup;
$myusergroup = array();
$usergroups $vbulletin->db->query_read("SELECT usergroupid, title FROM " TABLE_PREFIX "usergroup ORDER BY title");
while (
$usergroup $vbulletin->db->fetch_array($usergroups))
{
$myusergroup["$usergroup[usergroupid]"] = $usergroup['title'];
}
ob_start();
foreach (
$myusergroup AS $myvaluegroup

          
$myusergroup["$usergroup[usergroupid]"] = $usergroup['usergroupid'];
          
$myusergroup["$usergroup[title]"] = $usergroup['title'];


     foreach (
$myusergroup AS $myvaluegroup
      { 
         echo(
$myvaluegroup "<br />");
      } 

// ob_end_flush();
ob_end_clean();
unset(
$usergroup);
$vbulletin->db->free_result($usergroups); 

THANKS

Frank H. Shaw

--------------- Added [DATE]1232766083[/DATE] at [TIME]1232766083[/TIME] ---------------

After strugleing with the following script below the membergrpoupid does not display any contact now this is because it does not contain any vaue - which means that I am nit understand how the informstion in the user table and usergroup and i must ask again - HOW IS THE USERGROUP LINKED BACK TO THE USER. WHAT FIELD IS THE USERGROUPS STORED IN AND HOW? PLEASE EXPLAN THIS RELATIONSHIP.

PHP Code:

global $myuseruser;
 
$myuseruser = array();
 
$myusers $vbulletin->db->query_read("SELECT userid, username, usergroupid, membergroupids FROM " TABLE_PREFIX "user ORDER BY userid");
 
 while (
$myuser $vbulletin->db->fetch_array($myusers))
      {
          
$myuseruser["$myuser[userid]"] = $myuser['userid'];
          
$myuseruser["$myuser[username]"] = $myuser['username'];
          
$myuseruser["$myuser[usergroupid]"] = $myuser['usergroupid'];       // No Data here and should be
          
$myuseruser["$myuser[membergrpoupid]"] = explode(','$myuser['membergroupids']); // No data here and should be

      
}

     foreach (
$myuseruser AS $myvalueuser
      { 
         echo(
$myvalueuser "<br />");
      } 

     
// print_r($myuseruser); 
THANKS

Frank H. Shaw
Reply With Quote
  #2  
Old 01-24-2009, 03:06 AM
Dismounted's Avatar
Dismounted Dismounted is offline
 
Join Date: Jun 2005
Location: Melbourne, Australia
Posts: 15,047
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Firstly, please post code in PHP/Code tags. It is much easier to read that way.

The primary usergroup is stored as the ID in usergroupid. The relation is easy - the ID corresponds with the one from the usergroup table.

The secondary usergroups are stored as a comma-separated list in membergroupids. The relation is the same as above.
Reply With Quote
  #3  
Old 01-24-2009, 08:21 AM
Frank H. Shaw Frank H. Shaw is offline
 
Join Date: Aug 2007
Posts: 90
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I modifyed the above script so that the primary usergroup will be displayed from the table in the query above.

This is the modification

PHP Code:

          $myuseruser
["$myuser[userid]"] = $myuser['userid'];
          
$myuseruser["$myuser[username]"] = $myuser['username'];
          
$myuseruser["$myuser[usergroupid]"] = $myuser['usergroupid'];    // No data here and should be

          
$myuseruser["$myuser[membergrpoupid]"] = $myuser['membergroupids'];    // No data here and should be 
Looking at the script above the does not seem to contain any date ?

That is this line:

PHP Code:

$myuseruser
["$myuser[membergrpoupid]"] = $myuser['membergroupids']; 
To this line:

PHP Code:

 $myuseruser
["$myuser[membergrpoupid]"] = explode(','$myuser['membergroupids']);     // No data here and should be 
What could be the problem you say the stored as a comma-separated list?

I am only getting the first two userid, username, and nothing else but i do get all the user!

Look at the // No data here and should be in both postings

In the user table the fields are defined as follows

PHP Code:

    usergroupid SMALLINT UNSIGNED NOT NULL 
DEFAULT '0',
    
membergroupids CHAR(250NOT NULL DEFAULT ''

THANKS

Frank H. Shaw

PS sorry about not including the PHP tags but it was not the whole script!
Reply With Quote
  #4  
Old 01-24-2009, 09:26 AM
Dismounted's Avatar
Dismounted Dismounted is offline
 
Join Date: Jun 2005
Location: Melbourne, Australia
Posts: 15,047
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Please use the PHP tags regardless if it is the whole script or not. From now on, I will not read any of your code without those tags.

Why are you assigning the value into the key of the array element? Your code does not make any sense. Just use the $myuser array, you don't need to assign it into another array...

BTW, check your spelling in your code.
Reply With Quote
  #5  
Old 01-24-2009, 03:12 PM
Marco van Herwaarden Marco van Herwaarden is offline
 
Join Date: Jul 2004
Posts: 25,415
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

If you would include global.php, all those values are already available.
Reply With Quote
  #6  
Old 01-25-2009, 12:26 AM
Frank H. Shaw Frank H. Shaw is offline
 
Join Date: Aug 2007
Posts: 90
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I will from this point forward use the PHP start and ending tags on all PHP sniplets of PHP.

The following script below produces the following out put which is not really what i want

1
fshaw
6
9,10,11,12,13

This is for the first record and is correct now - but I want to take the comma-separated list of numbers and it is only for the membergroupids' which produced the last line above 9,10,11,12,13 and parse that comma-separated list so that if i was going to print ir out with a echo it would be unstead like this

9
10
11
12
13

The other values are stored just fine.

Once i have that figured out I need to store the elements in a array so that I can manage the data later on easly.


Here is my script below that craeted the output above.

PHP Code:

 
global $myuser;

 
$myuser = array();

 
$myusers $vbulletin->db->query_read("SELECT userid, username, usergroupid, membergroupids FROM " TABLE_PREFIX "user ORDER BY userid");
 
 while (
$myuser $vbulletin->db->fetch_array($myusers))
      {

          echo(
$myuser['userid'] . "<br />");
          echo(
$myuser['username'] . "<br />");
          echo(
$myuser['usergroupid'] . "<br />");
          echo(
$myuser['membergroupids'] . "<br />");

      } 

THANKS

Frank H. Shaw
Reply With Quote
  #7  
Old 01-25-2009, 01:05 AM
BlackJacket's Avatar
BlackJacket BlackJacket is offline
 
Join Date: Nov 2008
Location: 070108111114105100100
Posts: 364
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

forgot your php tags
Reply With Quote
  #8  
Old 01-25-2009, 03:29 AM
Dismounted's Avatar
Dismounted Dismounted is offline
 
Join Date: Jun 2005
Location: Melbourne, Australia
Posts: 15,047
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Frank H. Shaw View Post
I will from this point forward use the PHP start and ending tags on all PHP sniplets of PHP.
Not those PHP tags. These ones:
[PHP]some code here[/PHP]
Reply With Quote
  #9  
Old 01-25-2009, 12:30 PM
Frank H. Shaw Frank H. Shaw is offline
 
Join Date: Aug 2007
Posts: 90
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

The comma-separated list of numbers coming from the mysql query and parseing the results as a array = what is the best way to parse the resut array so that in the end i can load the comma-separated list of numbers contained in to my own data structire.

Looking at my last posting in this thread you will see i spelled out how am seeing the data now and how i need to see the data.

The following script below produces the following out put which is not really what i want

1
fshaw
6
9,10,11,12,13

This is for the first record and is correct now - but I want to take the comma-separated list of numbers and it is only for the membergroupids' which produced the last line above 9,10,11,12,13 and parse that comma-separated list so that if i was going to print ir out with a echo it would be unstead like this

9
10
11
12
13

The other values are stored and retrieved from my resluts set just fine.

While I have you attension there is one other question beside this one to ask that is how would the best way to find out who is currently logon the system.

I think I have this question answered some where in my notes: But due to my health situation it is some times hard for me to remmber where that informtion is at the monment.

I WILL FROM NOW ON USE THE NEWER FORMAT FOR THE PHP TAGS - WHEN DID THEY CHANGE BY THE WAY?

THANKS

Frank H. Shaw

--------------- Added [DATE]1232906568[/DATE] at [TIME]1232906568[/TIME] ---------------

I still have one question not answered that is the user.userid - That is how to find the currently logon user and if not one logon then he is guest so how do I tell that.

{Please note: I do not need to know who this person is just the fact of being a guest is good enough}.


Here is my script below that created the output I wanted is now correct.

PHP Code:

global $myuser;
$myuser = array();
$myusers $vbulletin->db->query_read("SELECT userid, username, usergroupid, membergroupids FROM " TABLE_PREFIX "user ORDER BY userid");

while (
$myuser $vbulletin->db->fetch_array($myusers))
{

  echo(
$myuser['userid'] . "<br />");
  echo(
$myuser['username'] . "<br />");
  echo(
$myuser['usergroupid'] . "<br />");

  
$tags explode','$myuser['membergroupids'] );
            foreach( 
$tags as $tag ) {
                  
$tag trim$tag );
                  echo 
$tag '<br />';

            }
 

The script above creates this output below for all the users {Please note: I only show the output for one user.

1
fshaw
6
9
10
11
12
13

From here i can take it from this point.

THANKS
Frank H. Shaw

PS - I still need to know how to find the curent logon user just the user.userid and then I can search the user table and get the rest of the users.
Reply With Quote
  #10  
Old 01-26-2009, 05:02 AM
Dismounted's Avatar
Dismounted Dismounted is offline
 
Join Date: Jun 2005
Location: Melbourne, Australia
Posts: 15,047
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

PHP Code:
echo $myuser['usergroupid'] . '<br />';

$membergroupids explode(',' $myuser['membergroupids']);
foreach (
$membergroupids AS $groupid)
{
    echo 
$groupid '<br />';

Quote:
Originally Posted by Frank H. Shaw View Post
I WILL FROM NOW ON USE THE NEWER FORMAT FOR THE PHP TAGS - WHEN DID THEY CHANGE BY THE WAY?
I think you are confusing yourself. The PHP start/end tags <?php and ?> have not changed. However, when posting on the forum, you should use the PHP "BB Code" tags, and put all your code in there, it is easier to work through and read that way. Look at your code in PHP BB code tags:
PHP Code:
global $myuser;
$myuser = array();
$myusers $vbulletin->db->query_read("SELECT userid, username, usergroupid, membergroupids FROM " TABLE_PREFIX "user ORDER BY userid");

while (
$myuser $vbulletin->db->fetch_array($myusers))
{

echo(
$myuser['userid'] . "<br />");
echo(
$myuser['username'] . "<br />");
echo(
$myuser['usergroupid'] . "<br />");

$tags explode','$myuser['membergroupids'] );
foreach( 
$tags as $tag ) {
$tag trim$tag );
echo 
$tag '<br />';

}


See how much more readable that is? And how you don't have to scroll through a heap of text to get to the end of your post?
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 06:04 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04140 seconds
  • Memory Usage 2,319KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (10)bbcode_php
  • (2)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (10)postbit
  • (10)postbit_onlinestatus
  • (10)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete