Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
  #1  
Old 12-14-2007, 04:11 PM
induslady induslady is offline
 
Join Date: Jul 2006
Posts: 224
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default SQL Query help on Moderator user group

Hello

The code from the file functions_forumlist.php that gets the moderators for a forum and displays it in the Moderator column in forum home page:

$forummoderators = $vbulletin->db->query_read_slave("
SELECT moderator.*, user.username,
IF(user.displaygroupid = 0, user.usergroupid, user.displaygroupid) AS displaygroupid, infractiongroupid
FROM " . TABLE_PREFIX . "moderator AS moderator
INNER JOIN " . TABLE_PREFIX . "user AS user USING(userid)
" . ($userid != null ? "WHERE moderator.userid = " . intval($userid) : "") . "
");
while ($moderator = $vbulletin->db->fetch_array($forummoderators))
{
fetch_musername($moderator);
$imodcache["$moderator[forumid]"]["$moderator[userid]"] = $moderator;
$mod["$moderator[userid]"] = 1;
}
$vbulletin->db->free_result($forummoderators);
}

I need to get only the moderators with the specific usergroup ( ids: 5,6,7). For example if in a particular forum there are three moderators say x, y, z with usergroupids : 4 , 6, 8 respectively then I have to obtain only the moderator y. Only this moderator y need to be displayed in the Moderator column in the forum home page.

Let me know how the above query could be modified to make this effective.

Thanks for patiently going through the codes and any help is appreciated.
Reply With Quote
  #2  
Old 12-19-2007, 04:39 PM
induslady induslady is offline
 
Join Date: Jul 2006
Posts: 224
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hello,

I need to give an extra conditional statement with the WHERE clause as follows:

user.usergroupid IN ( 5, 6, 7 ) OR user.displaygroupid IN ( 5, 6, 7 )

When I tried adding the above code in the query, it is throwing sql query error.

Let me know how exactly these code lines could be inserted.
Thanks in advance.
Reply With Quote
  #3  
Old 12-19-2007, 10:44 PM
Eikinskjaldi's Avatar
Eikinskjaldi Eikinskjaldi is offline
 
Join Date: Feb 2006
Location: Hell, never looked better
Posts: 572
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by induslady View Post
Hello

The code from the file functions_forumlist.php that gets the moderators for a forum and displays it in the Moderator column in forum home page:

$forummoderators = $vbulletin->db->query_read_slave("
SELECT moderator.*, user.username,
IF(user.displaygroupid = 0, user.usergroupid, user.displaygroupid) AS displaygroupid, infractiongroupid
FROM " . TABLE_PREFIX . "moderator AS moderator
INNER JOIN " . TABLE_PREFIX . "user AS user USING(userid)
" . ($userid != null ? "WHERE moderator.userid = " . intval($userid) : "") . "
");
while ($moderator = $vbulletin->db->fetch_array($forummoderators))
{
fetch_musername($moderator);
$imodcache["$moderator[forumid]"]["$moderator[userid]"] = $moderator;
$mod["$moderator[userid]"] = 1;
}
$vbulletin->db->free_result($forummoderators);
}

I need to get only the moderators with the specific usergroup ( ids: 5,6,7). For example if in a particular forum there are three moderators say x, y, z with usergroupids : 4 , 6, 8 respectively then I have to obtain only the moderator y. Only this moderator y need to be displayed in the Moderator column in the forum home page.

Let me know how the above query could be modified to make this effective.

Thanks for patiently going through the codes and any help is appreciated.
It would help if you included the error.

try this
PHP Code:
$forummoderators $vbulletin->db->query_read_slave("
        SELECT moderator.*, user.username,
        IF(user.displaygroupid = 0, user.usergroupid, user.displaygroupid) AS displaygroupid, infractiongroupid
        FROM " 
TABLE_PREFIX "moderator AS moderator
        INNER JOIN " 
TABLE_PREFIX "user AS user USING(userid)
                WHERE displaygroupid in (5,6,7)
        " 
. ($userid != null "AND moderator.userid = " intval($userid) : "") . "
    "
); 
Reply With Quote
Reply

Thread Tools
Display Modes

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 07:56 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04395 seconds
  • Memory Usage 2,185KB
  • Queries Executed 13 (?)
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
  • (1)bbcode_php
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (3)post_thanks_box
  • (3)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (3)post_thanks_postbit_info
  • (3)postbit
  • (3)postbit_onlinestatus
  • (3)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_postinfo_query
  • fetch_postinfo
  • 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
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete