vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   while/conditional problem (https://vborg.vbsupport.ru/showthread.php?t=75906)

sabret00the 02-07-2005 02:34 PM

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 :(

miz 02-07-2005 03:44 PM

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 ?

sabret00the 02-07-2005 03:57 PM

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?

miz 02-07-2005 04:19 PM

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

sabret00the 02-07-2005 05:17 PM

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.

Marco van Herwaarden 02-07-2005 05:50 PM

Aren't you just missing one time the footer AFTER the while loop is finished (outside the loop)?

sabret00the 02-07-2005 06:07 PM

nope, it's meant to do the footer everytime the catid changes

Marco van Herwaarden 02-07-2005 06:12 PM

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.

sabret00the 02-07-2005 06:45 PM

1 Attachment(s)
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.

Marco van Herwaarden 02-07-2005 06:53 PM

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.


All times are GMT. The time now is 08:22 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.02008 seconds
  • Memory Usage 1,778KB
  • 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
  • (3)bbcode_code_printable
  • (3)bbcode_html_printable
  • (3)bbcode_php_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