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

Reply
 
Thread Tools Display Modes
  #1  
Old 02-07-2005, 02:34 PM
sabret00the's Avatar
sabret00the sabret00the is offline
 
Join Date: Jan 2003
Location: London
Posts: 5,268
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default while/conditional problem

PHP Code:
// ###################### groups by cat
            
$grps_categories $DB_site->query("
               SELECT grps.groupid, grps.title, grps.description,grps.catid, grps_catergories.title AS catname, grps.approved,grps.leaderid
                FROM grps
               LEFT JOIN grps_catergories ON(grps_catergories.catid = grps.catid)
                WHERE grps.approved=1
                ORDER BY grps_catergories.catid ASC, grps.title ASC
            "
);

            if (!
$DB_site->num_rows($grps_categories))
            { 
// nogroups, this becomes obselete after the first group gets created
                      
eval("\$grps_catbits = \"" fetch_template("groups_browse_cathead") ."\";");
                       
$grps_catbits .="<tr><td class=\"alt1\" align=\"center\">no groups found inthis catergory at this time</td></tr>";
                      eval(
"\$grps_catbits .= \"" fetch_template("groups_browse_catfoot") ."\";");
            }
            else
            { 
// display the information
                
$row "0";
               while (
$grps_categoryinfo =$DB_site->fetch_array($grps_categories))
                {
                    if (
$row == 0)
                    {
                      eval(
"\$grps_catbits .= \"" fetch_template("groups_browse_cathead") ."\";");

                       
// resetcatname store
                      
$grps_catidstore $grps_categoryinfo['catid'];
                    }
                   echo
"$grps_categoryinfo[catid]<br />";
                   if (
$grps_catidstore !=$grps_categoryinfo[catid] AND $row != 0)
                    {
                      eval(
"\$grps_catbits .= \"" fetch_template("groups_browse_cathead") ."\";");

                       
// resetcatname store
                      
$grps_catidstore $grps_categoryinfo['catid'];
                    }

                   
$grps_categoryinfo['title'] =stripslashes($grps_categoryinfo['title']);
                   
$grps_categoryinfo['description']= nl2br(stripslashes($grps_categoryinfo['description']));
                   
$grps_categoryinfo['catname'] =stripslashes($grps_categoryinfo['catname']);
                    
extract($grps_categoryinfo);

                    eval(
"\$grps_catbits .= \"" .fetch_template("groups_browse_catbit") . "\";");

                   if (
$grps_categoryinfo[catid] !=$grps_catidstore)
                    {
                       
// can't getinto this for some reason
                      
eval("\$grps_catbits .= \"" fetch_template("groups_browse_catfoot") ."\";");
                    }
//                    else
//                    {
//                      eval("\$grps_catbits .= \"" . fetch_template("groups_browse_catfoot") ."\";");
//                    }
                    
$row++;
                } 
//now echo the date into the template
            

the code above is actually perfect, well it works anyway, only problemis that it doesn't actually seem to work, i can't get into theconditonal that groups the data together rather than it just creating anew table, wondered if anyone could help please, as i havne't got aclue what's wrong with it, especially as echoing out the data manuallyshows that it should be doing what i'm trying to do.

basically $grps_catidstore echo's out
Code:
4
4
4
8
8
and $grps_catergoryinfo =
Code:
4
4
4
4
8
now based on that the first three should be in one table (it'sextracting one groups_browse_cathead and one groups_browse_catfoot) butfor some reason it won't do it
Reply With Quote
  #2  
Old 02-07-2005, 03:44 PM
miz miz is offline
 
Join Date: Mar 2003
Posts: 416
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

how does the new table should look ?

Group id / Group name / Group Description

like that ? or what ?
what is it 44488 ?
can you be a little more clear ?
Reply With Quote
  #3  
Old 02-07-2005, 03:57 PM
sabret00the's Avatar
sabret00the sabret00the is offline
 
Join Date: Jan 2003
Location: London
Posts: 5,268
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

the table will go
groups_browse_cathead
HTML Code:
			<tableclass="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="1"border="0" width="100%" align="center">
				<tr>
					<tdclass="tcat"> <a style="float:$stylevar[right]" href="#top"onclick="returntoggle_collapse('groups_$grps_categoryinfo[catid]')"><imgid="collapseimg_groups_$grps_categoryinfo[catid]"src="$vboptions[bburl]/$stylevar[imgdir_button]/collapse_thead$vbcollapse[collapseimg_groups_newest].gif"alt="" border="0" /></a> 
						$grps_categoryinfo[catname]
					</td>
				</tr>
			<tbodyid="collapseobj_groups_$grps_categoryinfo[catid]"style="$vbcollapse[collapseobj_groups_newest]">
				<tr>
					<tdclass="alt1" style="padding: 0px">
						<tablecellpadding="$stylevar[cellpadding]"cellspacing="$stylevar[cellspacing]" border="0"width="$stylevar[tablewidth]">
groups_browse_catbit
HTML Code:
<if condition="exec_switch_bg() && $bg = $bgclass. '_bgcolor'"></if>
<tr bgcolor="$stylevar[$bg]">
	<td>
		<b><ahref="groups.php?$session[sessionurl]g=$grps_categoryinfo[groupid]">$grps_categoryinfo[title]</a></b><br/>
 <span class="smallfont">$grps_categoryinfo[description]<br /></span>
	</td>
</tr>
groups_browse_catfoot
HTML Code:
						</table>
					</td>
				</tr>
			</tbody>
			<tr>
				<tdclass="thead"><imgsrc="$vboptions[bburl]/$stylevar[imgdir_misc]/clear.gif" alt=""width="1" height="1" /></td>
			</tr>
			</table>
<br />
44488 is
PHP Code:
$grps_catergoryinfo[catid]<br /> 
echoing out all the records from the database

apart from that this might help

what i'm trying to acheive is
Code:
table start for catid = 1
record 1 where cat id = 1
record 2 where cat id = 1
record 3 where cat id = 1
record 4 where cat id = 1
table end for catid = 1

table start for catid = 2
record 1 where cat id = 2
record 2 where cat id = 2
record 3 where cat id = 2
record 4 where cat id = 2
table end for catid = 2
if any of that makes sense?
Reply With Quote
  #4  
Old 02-07-2005, 04:19 PM
miz miz is offline
 
Join Date: Mar 2003
Posts: 416
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

GROUP BY grps_catergories.catid

so its will show all groups and there cats

(if i got you right)

user print_r
before you use templates
this way you can ensure you getting the info you want
(thats what i allways do before i use templates) - very usefull
Reply With Quote
  #5  
Old 02-07-2005, 05:17 PM
sabret00the's Avatar
sabret00the sabret00the is offline
 
Join Date: Jan 2003
Location: London
Posts: 5,268
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

the templates are all echoing perfectly and i don't actually need the group by for the moment as the only problem is getting it to use the second conditional that will make it close the table.
Reply With Quote
  #6  
Old 02-07-2005, 05:50 PM
Marco van Herwaarden Marco van Herwaarden is offline
 
Join Date: Jul 2004
Posts: 25,415
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Aren't you just missing one time the footer AFTER the while loop is finished (outside the loop)?
Reply With Quote
  #7  
Old 02-07-2005, 06:07 PM
sabret00the's Avatar
sabret00the sabret00the is offline
 
Join Date: Jan 2003
Location: London
Posts: 5,268
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

nope, it's meant to do the footer everytime the catid changes
Reply With Quote
  #8  
Old 02-07-2005, 06:12 PM
Marco van Herwaarden Marco van Herwaarden is offline
 
Join Date: Jul 2004
Posts: 25,415
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Yes, but after the last catid you process you will want a finishing footer. But you will never know in your loop that you are processing the last catid. This you will only know once you break out of the loop. So outside the loop you will need to print one more footer.
Reply With Quote
  #9  
Old 02-07-2005, 06:45 PM
sabret00the's Avatar
sabret00the sabret00the is offline
 
Join Date: Jan 2003
Location: London
Posts: 5,268
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

you're right, that's added but still need to get the cat foot in when it's looping

heres some screenshots to try and demonstrate what i'm trying to acheive

cat_now = the mess it is now
cat_then = what i'm trying to acheive.
Attached Images
File Type: jpg cats_now.jpg (48.3 KB, 0 views)
File Type: jpg cat_then.jpg (47.7 KB, 0 views)
Reply With Quote
  #10  
Old 02-07-2005, 06:53 PM
Marco van Herwaarden Marco van Herwaarden is offline
 
Join Date: Jul 2004
Posts: 25,415
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

In the top do something like:
PHP Code:
                   if ($grps_catidstore != $grps_categoryinfo['catid'] AND $row != 0)
                    {
                      eval.......
footer    // close last catid)
                      
eval.......header   // open new catid

                       // resetcatname store
                      
$grps_catidstore $grps_categoryinfo['catid'];
                    } 
PS If $Row is not used in a template, you could get rid of that to.
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 09:46 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.04543 seconds
  • Memory Usage 2,320KB
  • 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
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (3)bbcode_code
  • (3)bbcode_html
  • (3)bbcode_php
  • (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
  • (2)postbit_attachment
  • (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
  • postbit_attachment
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete