Steve Angelis Posted June 3, 2008 Share Posted June 3, 2008 Ok I will try to sum things up in a little text as I can. I am using a phpbb forum to make a website. From it I am grabbing group members, ranks and users from the forum, and I am combining it all into this. The website shows all members of the group, in order by their rank. Now The users are in a random order, the ranks are not in any order, but I have a code that shows the ranks in an order the way they should appear on the site: <?PHP //begin fleet admiral $current_rank_id = '138'; include ('member_view2.php'); $current_rank_id = '139'; include ('member_view2.php'); //end Fleet admiral //begin exec admiral $current_rank_id = '136'; include ('member_view2.php'); $current_rank_id = '137'; include ('member_view2.php'); //end exec admiral //begin admiral $current_rank_id = '134'; include ('member_view2.php'); $current_rank_id = '135'; include ('member_view2.php'); //end admiral //begin vice admiral $current_rank_id = '132'; include ('member_view2.php'); $current_rank_id = '133'; include ('member_view2.php'); //end vice admiral //begin rear admiral $current_rank_id = '130'; include ('member_view2.php'); $current_rank_id = '131'; include ('member_view2.php'); //end rear admiral } elseif ($rankset == 'com') { //begin fleet commodore $current_rank_id = '128'; include ('member_view2.php'); $current_rank_id = '129'; include ('member_view2.php'); //end fleet commodore //begin commodore brig/gen $current_rank_id = '123'; include ('member_view2.php'); $current_rank_id = '124'; include ('member_view2.php'); $current_rank_id = '125'; include ('member_view2.php'); $current_rank_id = '126'; include ('member_view2.php'); $current_rank_id = '127'; include ('member_view2.php'); $current_rank_id = '142'; include ('member_view2.php'); //end commodore brig/gen //begin sub-commodore brig $current_rank_id = '118'; include ('member_view2.php'); $current_rank_id = '119'; include ('member_view2.php'); $current_rank_id = '120'; include ('member_view2.php'); $current_rank_id = '121'; include ('member_view2.php'); $current_rank_id = '122'; include ('member_view2.php'); $current_rank_id = '55'; include ('member_view2.php'); //end sub-commodore brig } elseif ($rankset == 'senoff') { //begin senior captain fcol $current_rank_id = '113'; include ('member_view2.php'); $current_rank_id = '114'; include ('member_view2.php'); $current_rank_id = '115'; include ('member_view2.php'); $current_rank_id = '116'; include ('member_view2.php'); $current_rank_id = '117'; include ('member_view2.php'); $current_rank_id = '141'; include ('member_view2.php'); $current_rank_id = '150'; include ('member_view2.php'); //end senior captain fcol //begin exec captain exec $current_rank_id = '108'; include ('member_view2.php'); $current_rank_id = '109'; include ('member_view2.php'); $current_rank_id = '110'; include ('member_view2.php'); $current_rank_id = '111'; include ('member_view2.php'); $current_rank_id = '112'; include ('member_view2.php'); $current_rank_id = '140'; include ('member_view2.php'); $current_rank_id = '149'; include ('member_view2.php'); //end exec captain exec col //begin captain col $current_rank_id = '103'; include ('member_view2.php'); $current_rank_id = '104'; include ('member_view2.php'); $current_rank_id = '105'; include ('member_view2.php'); $current_rank_id = '106'; include ('member_view2.php'); $current_rank_id = '107'; include ('member_view2.php'); $current_rank_id = '54'; include ('member_view2.php'); $current_rank_id = '148'; include ('member_view2.php'); //end captain col //begin commander lt col $current_rank_id = '98'; include ('member_view2.php'); $current_rank_id = '99'; include ('member_view2.php'); $current_rank_id = '100'; include ('member_view2.php'); $current_rank_id = '101'; include ('member_view2.php'); $current_rank_id = '102'; include ('member_view2.php'); $current_rank_id = '53'; include ('member_view2.php'); $current_rank_id = '147'; include ('member_view2.php'); //end commander lt col } elseif ($rankset == 'jroff') { //begin ltcom major $current_rank_id = '93'; include ('member_view2.php'); $current_rank_id = '94'; include ('member_view2.php'); $current_rank_id = '96'; include ('member_view2.php'); $current_rank_id = '95'; include ('member_view2.php'); $current_rank_id = '97'; include ('member_view2.php'); $current_rank_id = '52'; include ('member_view2.php'); $current_rank_id = '146'; include ('member_view2.php'); //end ltcom major //begin lt mcpt $current_rank_id = '88'; include ('member_view2.php'); $current_rank_id = '89'; include ('member_view2.php'); $current_rank_id = '91'; include ('member_view2.php'); $current_rank_id = '92'; include ('member_view2.php'); $current_rank_id = '90'; include ('member_view2.php'); $current_rank_id = '51'; include ('member_view2.php'); $current_rank_id = '145'; include ('member_view2.php'); //end lt mcpt //begin ltjr 1lt $current_rank_id = '83'; include ('member_view2.php'); $current_rank_id = '84'; include ('member_view2.php'); $current_rank_id = '86'; include ('member_view2.php'); $current_rank_id = '85'; include ('member_view2.php'); $current_rank_id = '87'; include ('member_view2.php'); $current_rank_id = '50'; include ('member_view2.php'); $current_rank_id = '144'; include ('member_view2.php'); //end ltjr 1lt //begin ens 2lt $current_rank_id = '78'; include ('member_view2.php'); $current_rank_id = '79'; include ('member_view2.php'); $current_rank_id = '81'; include ('member_view2.php'); $current_rank_id = '82'; include ('member_view2.php'); $current_rank_id = '80'; include ('member_view2.php'); $current_rank_id = '49'; include ('member_view2.php'); $current_rank_id = '143'; include ('member_view2.php'); //end ens 2lt } elseif ($rankset == 'cdt') { //begin cadet $current_rank_id = '77'; include ('member_view2.php'); //end ltcom } elseif ($rankset == 'sen') { //begin fmcpo $current_rank_id = '15'; include ('member_view2.php'); $current_rank_id = '171'; include ('member_view2.php'); //end fmcpo //begin 11fsm $current_rank_id = '70'; include ('member_view2.php'); $current_rank_id = '172'; include ('member_view2.php'); //end 11fsm //begin smcpo $current_rank_id = '16'; include ('member_view2.php'); $current_rank_id = '169'; include ('member_view2.php'); //end smcpo //begin bsm $current_rank_id = '69'; include ('member_view2.php'); $current_rank_id = '170'; include ('member_view2.php'); //end bsm } elseif ($rankset == 'en') { //begin mcpo $current_rank_id = '17'; include ('member_view2.php'); $current_rank_id = '167'; include ('member_view2.php'); //end mcpo //begin sm $current_rank_id = '68'; include ('member_view2.php'); $current_rank_id = '168'; include ('member_view2.php'); //end sm //begin scpo $current_rank_id = '18'; include ('member_view2.php'); $current_rank_id = '165'; include ('member_view2.php'); //end scpo //begin ss $current_rank_id = '67'; include ('member_view2.php'); $current_rank_id = '166'; include ('member_view2.php'); //end ss //begin cpo $current_rank_id = '19'; include ('member_view2.php'); $current_rank_id = '163'; include ('member_view2.php'); //end cpo //begin serg $current_rank_id = '66'; include ('member_view2.php'); $current_rank_id = '164'; include ('member_view2.php'); //end serg //begin po1c $current_rank_id = '20'; include ('member_view2.php'); $current_rank_id = '161'; include ('member_view2.php'); //end po1c //begin sc $current_rank_id = '65'; include ('member_view2.php'); $current_rank_id = '162'; include ('member_view2.php'); //end sc //begin po2c $current_rank_id = '21'; include ('member_view2.php'); $current_rank_id = '159'; include ('member_view2.php'); //end po2c //begin c $current_rank_id = '64'; include ('member_view2.php'); $current_rank_id = '160'; include ('member_view2.php'); //end c } elseif ($rankset == 'rec') { //begin po3c $current_rank_id = '22'; include ('member_view2.php'); $current_rank_id = '157'; include ('member_view2.php'); //end po3c //begin lc $current_rank_id = '63'; include ('member_view2.php'); $current_rank_id = '158'; include ('member_view2.php'); //end lc //begin c $current_rank_id = '23'; include ('member_view2.php'); $current_rank_id = '155'; include ('member_view2.php'); //end c //begin p1 $current_rank_id = '62'; include ('member_view2.php'); $current_rank_id = '156'; include ('member_view2.php'); //end p1 //begin ca $current_rank_id = '24'; include ('member_view2.php'); $current_rank_id = '153'; include ('member_view2.php'); //end ca //begin p2 $current_rank_id = '61'; include ('member_view2.php'); $current_rank_id = '154'; include ('member_view2.php'); //end p2 //begin cr $current_rank_id = '25'; include ('member_view2.php'); $current_rank_id = '151'; include ('member_view2.php'); //end cr //begin pr $current_rank_id = '60'; include ('member_view2.php'); $current_rank_id = '152'; include ('member_view2.php'); //end pr ?> This code goes through each of the ranks and what not, in the correct order they should be in, and displays them. This page is called memberlist2.php. here is the next file called member_view2.php: <?PHP $queryrk = "SELECT rank_id, rank_title, rank_image FROM phpbb_ranks where rank_id=$current_rank_id"; $resultrk = mysql_query($queryrk) or die("$queryrk does not make any sence;<br>" . mysql_error()); $contentrk = mysql_fetch_array($resultrk); $current_rank = $contentrk['rank_id']; $queryrx = "SELECT user_id, username, user_rank FROM phpbb_users where user_rank='$current_rank' order by username ASC"; $resultrx = mysql_query($queryrx) or die("$queryrx does not make any sence;<br>" . mysql_error()); if (mysql_numrows($resultrx)>0) { for($n=0;$n<mysql_numrows($resultrx);$n++) { $contentrx = mysql_fetch_array($resultrx); $user_id_user = $content['user_id']; //duh finally echo $contentrx['username']; //end duh finally } } ?> The first file which links all of these together is this: if (mysql_numrows($resultdp2)>0) { for($n=0;$n<mysql_numrows($resultdp2);$n++) { $contentdp2 = mysql_fetch_array($resultdp2); $group_id2 = $contentdp2['user_id']; $querydpm2 = "SELECT user_id, username FROM phpbb_users where user_id='$group_id2'"; $resultdpm2 = mysql_query($querydpm2) or die("$querydpm2 does not make any sence;<br>" . mysql_error()); $contentdpm2 = mysql_fetch_array($resultdpm2); include ('memberlist2.php'); That last bit is just the loop I am using to show all members in the group. Initially it just showed the members in the order they were added to the group, but I want them in the oder according to ranks. The way you see it all now is a miserably failed attempt at putting all of this together, and I have reached a severe road block. Does anyone have any ideas how this can be done? Link to comment https://forums.phpfreaks.com/topic/108484-multuple-many-queries/ Share on other sites More sharing options...
trq Posted June 3, 2008 Share Posted June 3, 2008 Sorry man but that is some of the worst code I have ever seen. Ever thought of using an ORDER BY clause in your query? Link to comment https://forums.phpfreaks.com/topic/108484-multuple-many-queries/#findComment-556246 Share on other sites More sharing options...
Steve Angelis Posted June 3, 2008 Author Share Posted June 3, 2008 I have but it does not work like that because the order in the database is all messed up. The order of the ranks goes through all five Admiral ranks, then a couple of Captain ranks, then Commanders, Lieutenants, Ensign, Cadets, The a bunch of Enlisted, and the order of the rank ID's is not in the right order either, hence the problem Link to comment https://forums.phpfreaks.com/topic/108484-multuple-many-queries/#findComment-556250 Share on other sites More sharing options...
jonsjava Posted June 3, 2008 Share Posted June 3, 2008 I think it's time to restructure your ranking system. Maybe give each tier of ranks 100 slots, for growth, start with the middle number (for growth on both ends), so you can then do an "ORDER BY RANK DESC" Link to comment https://forums.phpfreaks.com/topic/108484-multuple-many-queries/#findComment-556251 Share on other sites More sharing options...
Steve Angelis Posted June 3, 2008 Author Share Posted June 3, 2008 I wish I could but that is not possible. If it was I would have done it a very very long time ago. Unfortunately there are FAR too many ranks to do that Link to comment https://forums.phpfreaks.com/topic/108484-multuple-many-queries/#findComment-556253 Share on other sites More sharing options...
Steve Angelis Posted June 3, 2008 Author Share Posted June 3, 2008 Ok I have simplified the code a bit but I am still stuck; it is 2 pages now: $contentdp2 = mysql_fetch_array($resultdp2) $user_id_another = $contentdp2['user_id']; //begin fleet admiral $current_rank_id = '138'; include ('member_view2.php'); $current_rank_id = '139'; include ('member_view2.php'); //end Fleet admiral The part between fleet admiral repeats for every rank. <?PHP $queryrk = "SELECT rank_id, rank_title FROM phpbb_ranks where rank_id=$current_rank_id"; $resultrk = mysql_query($queryrk) or die("$queryrk does not make any sence;<br>" . mysql_error()); $contentrk = mysql_fetch_array($resultrk); $current_rank = $contentrk['rank_id']; $queryrx = "SELECT user_id, username, user_rank FROM phpbb_users where user_rank='$current_rank' and user_id='$user_id_another' order by username ASC"; $resultrx = mysql_query($queryrx) or die("$queryrx does not make any sence;<br>" . mysql_error()); if (mysql_numrows($resultrx)>0) { for($n=0;$n<mysql_numrows($resultrx);$n++) { $contentrx = mysql_fetch_array($resultrx); //$user_id_user = $content['user_id']; //duh finally echo $contentrx['username']; //end duh finally } } ?> That page is susposed to show the memebrs name but it doesn't... Link to comment https://forums.phpfreaks.com/topic/108484-multuple-many-queries/#findComment-556258 Share on other sites More sharing options...
Steve Angelis Posted June 3, 2008 Author Share Posted June 3, 2008 Any ideas anyone? Link to comment https://forums.phpfreaks.com/topic/108484-multuple-many-queries/#findComment-556499 Share on other sites More sharing options...
Steve Angelis Posted June 3, 2008 Author Share Posted June 3, 2008 Anyone at all? Link to comment https://forums.phpfreaks.com/topic/108484-multuple-many-queries/#findComment-556981 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.