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 11-14-2009, 04:58 PM
Gizmo99 Gizmo99 is offline
 
Join Date: Feb 2002
Location: London
Posts: 65
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Want to Display output from a foreach in a template

Ok

Simple thing I have a Form that people can put membership numbers into, then a script will check in Mysql if they are or not

Then print out Yes or No and expiry if Yes

Works fine for single lookup but make it do more lookup ie 8 the output templete just shows last lookup in the list result.

if you just print the out ot the screen all the 8 results are there

Help

Code:
foreach ( $_POST as $name => $value) {
        if ((stristr($name,'membership')) && ($value !=0 ) ) {
                // Check to See if Member
                $check_if_member=$db->query_first("SELECT MemberID, DateExpire FROM ~~~~~ WHERE MemberID = $value");

                if ($check_if_member){
                $membership_number=$value;
                $Expire_Date=$check_if_member['DateExpire'];
                }
                else
                {
                $membership_number=$value;
                $Expire_Date="" ;
                }
print_r ($check_if_member) ;
echo "<br /> $name, $value <br />" ;
        }
 
 eval('print_output("'. fetch_template('rsoc_member_check_output') . '");');
Screen output

membership_number2, 1

membership_number3, 2

membership_number4, 3

membership_number5, 2

membership_number6, 34
Array ( [MemberID] => 14**** [DateExpire] => *******)
membership_number8, 14****


What do i need to either do in the script or template to output the above ?

* = protect data

Giz
Reply With Quote
  #2  
Old 11-15-2009, 01:07 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I think what I'd do is make the entire list one variable in the main template, then create another small template to display one membership line. Then construct that list variable in the loop so it will be ready to use when you call "fetch_template" for the main template at the end.
Reply With Quote
  #3  
Old 11-15-2009, 06:03 PM
Gizmo99 Gizmo99 is offline
 
Join Date: Feb 2002
Location: London
Posts: 65
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks for the reply mate, can u give some demo code of your suggestion

Tar muchly

Gizmo
Reply With Quote
  #4  
Old 11-15-2009, 06:43 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Something like this (I didn't actually try this so you'll have to excuse me if there's some small error:

Code:
$memlist = '';

foreach ( $_POST as $name => $value) {
        if ((stristr($name,'membership')) && ($value !=0 ) ) {
                // Check to See if Member
                $check_if_member=$db->query_first("SELECT MemberID, DateExpire FROM ~~~~~ WHERE MemberID = $value");

                if ($check_if_member){
                $membership_number=$value;
                $Expire_Date=$check_if_member['DateExpire'];
                }
                else
                {
                $membership_number=$value;
                $Expire_Date="" ;
                }
print_r ($check_if_member) ;
//echo "<br /> $name, $value <br />" ;
eval('$memlist .= "' . fetch_template('membership_template') . '";');
        }
 
 eval('print_output("'. fetch_template('rsoc_member_check_output') . '");');
I added the parts in red. The small template (which I called 'membership_template' but you can of course call whatever you want) can probably be created by taking the corresponding part out of the 'rsoc_member_check_output' template.

In fact, if you wanted you could just use
Code:
$memlist .= "<br /> $membership_number, $Expire_Date<br />";
(or whatever HTML you want) in place of the 'eval' line and not use a template.

In any case, in your 'rsoc_member_check_output' template just put $memlist where you want the list.

--------------- Added [DATE]1258324902[/DATE] at [TIME]1258324902[/TIME] ---------------

Sorry, I realized that you want to use $membership_number and $Expire_Date instead of $name and $value (which I guess were in the echo call for debugging?) so I changed the above.
Reply With Quote
  #5  
Old 11-15-2009, 08:44 PM
Gizmo99 Gizmo99 is offline
 
Join Date: Feb 2002
Location: London
Posts: 65
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Sorted Mate was nearly there but u helped with the last bit

Cheers again Mate

Code:
// Set Up the Array
$member_output = '';

        // Go through all the Membership Number Entered
        foreach ( $_POST as $name => $value) {

                // Check we only check filled out fileds
                if ((stristr($name,'membership')) && ($value !=0 ) ) {

                // Check to See if Member
                $check_if_member=$db->query_first("SELECT MemberID, DateExpire FROM ####### WHERE MemberID = $value");

                        // Set up the Arrays Elements based on Membership Detials
                        if ($check_if_member){
                        $membership_result[member]=$value;
                        $membership_result[expire]=$check_if_member['DateExpire'];

                        }
                        else
                        {

                        // Not A Member Set Up
                        $membership_result[member]=$value;
                        $membership_result[expire]="NOT A MEMBER";
                        
                        }

                // Build Array for Template
                $member_output .="<br /> Membership Number : $membership_result[member]<br />";
                $member_output .="Member or Expiry : $membership_result[expire] <br />";

                }
        }

        // Print the Answer to the search
        eval('print_output("'. fetch_template('rsoc_member_check_output') . '");');

}

?>
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 05:44 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.04199 seconds
  • Memory Usage 2,207KB
  • Queries Executed 11 (?)
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
  • (4)bbcode_code
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (5)post_thanks_box
  • (5)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (5)post_thanks_postbit_info
  • (5)postbit
  • (5)postbit_onlinestatus
  • (5)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
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete