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

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #1  
Old 04-06-2007, 01:17 PM
Sarcoth Sarcoth is offline
 
Join Date: Mar 2006
Location: Huntsville
Posts: 521
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default $sortorder for multiple fields

Is there an easy way to set the $sortorder for multiple fields. Right now I have my $sortorder set to default on usergroup.title. The page comes up correctly with the titles put in the correct order, but then it puts the members in userid order. I'd like it to instead put them in username order (alphabetically). And, if I sort by another field, I always want the username order (alphabetically) to be my secondary order.

Here is what I have right now:
Code:
	$sorturl = 'shroster.php?' . $vbulletin->session->vars['sessionurl'];
	$sortfield = $_REQUEST['sort'];
	$sortorder = $_REQUEST['order'];
	
	if ($sortfield == '')
	{
		$sortfield = 'title';
	}
	if ($sortorder == '')
	{
		$sortorder = 'asc';
	}
Here is my query:
Code:
	$users = $db->query_read_slave(" 
		SELECT user.*, shroster_roster.*, usergroup.usergroupid, usergroup.title, user.options, usertextfield.*, userfield.*, 
		IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid
		FROM " . TABLE_PREFIX . "usergroup AS usergroup 
		LEFT JOIN " . TABLE_PREFIX . "user AS user ON(user.usergroupid = usergroup.usergroupid OR FIND_IN_SET(usergroup.usergroupid, user.membergroupids)) 
		LEFT JOIN " . TABLE_PREFIX . "userfield AS userfield ON(userfield.userid = user.userid) 
		LEFT JOIN " . TABLE_PREFIX . "usertextfield AS usertextfield ON(usertextfield.userid=user.userid) 
		LEFT JOIN " . TABLE_PREFIX . "shroster_roster AS shroster_roster ON(shroster_roster.shCharID=userfield.field7)
		WHERE (usergroup.shrosterviewpermissions = 1)
		ORDER BY " .$sortfield. " " .$sortorder
	);
Any thoughts?

I appreciate any assistance.

Thank you!

Code:
	if ($sortfield == '')
	{
		$sortfield = 'title, shname';
	}
	if ($sortorder == '')
	{
		$sortorder = 'asc';
	}
Upon further testing, adding (, shname) to the above fixed the initial sorting to the way I wanted it.

I still have a problem when trying to sort different columns though.

Here's a bit from my template.

Code:
<a href="$sorturl&amp;order=asc&amp;sort=shname"><img class="inlineimg" src="$stylevar[imgdir_button]/sortasc.gif" border="0" /></a>&nbsp;
  	  	$vboptions[shCharName]&nbsp;
  	  	<a href="$sorturl&amp;order=desc&amp;sort=shname"><img class="inlineimg" src="$stylevar[imgdir_button]/sortdesc.gif" border="0" /></a></td></if>
  	  <if condition="$show['title']"><td class="thead" nowrap>$vboptions[shTitle]</td></if>
  	  <if condition="$show['rank']"><td class="thead" nowrap>
  	  	<a href="$sorturl&amp;order=asc&amp;sort=title"><img class="inlineimg" src="$stylevar[imgdir_button]/sortasc.gif" border="0" /></a>&nbsp;
  	  	$vboptions[shRank]&nbsp;
  	  	<a href="$sorturl&amp;order=desc&amp;sort=title"><img class="inlineimg" src="$stylevar[imgdir_button]/sortdesc.gif" border="0" /></a></td></if>
If someone clicks on the ASC or DESC sort for title, I want to make sure it sorts title first and then shname. I tried the following but that only made it it sort by shname and ignore the title.

Code:
  	  <if condition="$show['rank']"><td class="thead" nowrap>
  	  	<a href="$sorturl&amp;order=asc&amp;sort=title&amp;order=asc&amp;sort=shname"><img class="inlineimg" src="$stylevar[imgdir_button]/sortasc.gif" border="0" /></a>&nbsp;
  	  	$vboptions[shRank]&nbsp;
  	  	<a href="$sorturl&amp;order=desc&amp;sort=title&amp;order=asc&amp;sort=shname"><img class="inlineimg" src="$stylevar[imgdir_button]/sortdesc.gif" border="0" /></a></td></if>
Any idea's?
Reply With Quote
 


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 08:06 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.03189 seconds
  • Memory Usage 2,275KB
  • Queries Executed 12 (?)
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
  • (5)bbcode_code
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (2)post_thanks_box
  • (2)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (2)post_thanks_postbit_info
  • (2)postbit
  • (2)postbit_onlinestatus
  • (2)postbit_wrapper
  • (1)showthread_list
  • (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_threadedmode.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_threaded
  • showthread_threaded_construct_link
  • 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