vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 General Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=111)
-   -   What table is used to hold the list of users and the usergroups they belong to? (https://vborg.vbsupport.ru/showthread.php?t=202868)

Frank H. Shaw 01-23-2009 11:05 PM

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

Dismounted 01-24-2009 03:06 AM

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.

Frank H. Shaw 01-24-2009 08:21 AM

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!

Dismounted 01-24-2009 09:26 AM

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. ;)

Marco van Herwaarden 01-24-2009 03:12 PM

If you would include global.php, all those values are already available.

Frank H. Shaw 01-25-2009 12:26 AM

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

BlackJacket 01-25-2009 01:05 AM

forgot your php tags :D:D

Dismounted 01-25-2009 03:29 AM

Quote:

Originally Posted by Frank H. Shaw (Post 1723814)
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]

Frank H. Shaw 01-25-2009 12:30 PM

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.

Dismounted 01-26-2009 05:02 AM

PHP Code:

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

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


Quote:

Originally Posted by Frank H. Shaw (Post 1724195)
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?


All times are GMT. The time now is 01:01 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.01354 seconds
  • Memory Usage 1,827KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (10)bbcode_php_printable
  • (2)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.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
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete