Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
  #1  
Old 04-28-2004, 02:27 PM
sabret00the's Avatar
sabret00the sabret00the is offline
 
Join Date: Jan 2003
Location: London
Posts: 5,268
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default variable = conditional

how would i go about making sure that a variable shows the results of a conditional?

something like this, i remember being old i couldn't it in such a way before, just don't remember how i was taught to do it.
PHP Code:
        $show_project = if isset($rated) {
             eval(
"\$rate = \"".fetch_template("projects_rate_show")."\";");
         } else {
             eval(
"\$rate = \"".fetch_template("projects_rate")."\";");
         } 
Reply With Quote
  #2  
Old 04-28-2004, 02:35 PM
Xenon's Avatar
Xenon Xenon is offline
 
Join Date: Oct 2001
Location: Bavaria
Posts: 12,878
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

i'd suggest that way:
PHP Code:
$show_project = isset($rated);
if (
$show_project) {
            eval(
"\$rate = \"".fetch_template("projects_rate_show")."\";");
        } else {
            eval(
"\$rate = \"".fetch_template("projects_rate")."\";");
        } 
Reply With Quote
  #3  
Old 04-28-2004, 02:51 PM
sabret00the's Avatar
sabret00the sabret00the is offline
 
Join Date: Jan 2003
Location: London
Posts: 5,268
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

thanks that code seems to do it, however how would i then call the code?

in my templates it's set as $rate

but i'm not sure what to put in the file for it call to the template

i thought i would be able to just put $show_project below the other template calls for that page but i that don't work
Reply With Quote
  #4  
Old 04-28-2004, 02:59 PM
Xenon's Avatar
Xenon Xenon is offline
 
Join Date: Oct 2001
Location: Bavaria
Posts: 12,878
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

add $show_project into your template, that should do it.

but i'm not sure, about the output, i think it's TRUE or FALSE, but i may bewrong
Reply With Quote
  #5  
Old 04-28-2004, 03:04 PM
filburt1 filburt1 is offline
 
Join Date: Feb 2002
Location: Maryland, US
Posts: 6,144
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

PHP Code:
eval("\$show_project = \"" fetch_template(isset($rated) ? "projects_rate_show" "projects_rate") . "\";"); 
( ? : ) is the ternary operator. It is confusing at first but useful for quick and simple inline ifs.
Reply With Quote
  #6  
Old 04-28-2004, 03:13 PM
Xenon's Avatar
Xenon Xenon is offline
 
Join Date: Oct 2001
Location: Bavaria
Posts: 12,878
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

or use iif as it's the vb pendant
Reply With Quote
  #7  
Old 04-28-2004, 03:53 PM
sabret00the's Avatar
sabret00the sabret00the is offline
 
Join Date: Jan 2003
Location: London
Posts: 5,268
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

well i managed to get the code working bar this last bit i guess that's what i was trying to do in the first place

but i was gonna ask
PHP Code:
        if ($rated >= 0) {
            eval(
"\$rate = \"".fetch_template("projects_rate")."\";");
        } else {
            eval(
"\$rate = \"".fetch_template("projects_rate_show")."\";");
        } 
as i tried this a million and one ways and no matter what it will only show the call forth the first version $rate which in this case is the "projects_rate" template and i was getting frustrated, but i'll most definately, give filburts code a test before i start pulling my hair out and throwing myself at your feet for mercy
Reply With Quote
  #8  
Old 04-28-2004, 04:04 PM
sabret00the's Avatar
sabret00the sabret00the is offline
 
Join Date: Jan 2003
Location: London
Posts: 5,268
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

ok i'm at a total loss, it's still not working
PHP Code:
            $rated $DB_site->query_first("
                SELECT rate
                FROM project_rate
                WHERE projectid = 
$projectid AND userid = $bbuserinfo[userid]
            "
);

            eval(
"\$rate = \"" fetch_template(isset($rated) ? "projects_rate_show" "projects_rate") . "\";"); 
that's the block of code, i'm a total loss as to why it work work, i can only think that maybe i'm selecting the data from the database wrong?
Reply With Quote
  #9  
Old 04-28-2004, 05:39 PM
Velocd's Avatar
Velocd Velocd is offline
 
Join Date: Mar 2002
Location: CA University
Posts: 1,696
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Try:

PHP Code:
eval("\$rate = \"" fetch_template(!$rated['rate'] ? "projects_rate" "projects_rate_show") . "\";"); 
Isset() will always return true because you're always setting $rated to something, whether an empty array or not.
Reply With Quote
  #10  
Old 04-28-2004, 05:46 PM
sabret00the's Avatar
sabret00the sabret00the is offline
 
Join Date: Jan 2003
Location: London
Posts: 5,268
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

:w00t: it worked, i'm so greatful, thank you so so so so so so much
Reply With Quote
Reply

Thread Tools
Display Modes

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 11:46 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.04473 seconds
  • Memory Usage 2,256KB
  • 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
  • (6)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (10)postbit
  • (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
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete