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-16-2005, 01:08 AM
Mink_'s Avatar
Mink_ Mink_ is offline
 
Join Date: Dec 2004
Location: NJ, USA
Posts: 22
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Call Array Value From Outside Function?

I'm working on a web-RPG, and need a little help with my database queries, as I need to be setting up globals using unfctions.

I'm using this simple code that I came up with after a few minutes of looking at the PHP manual (I've already set the database up):

PHP Code:
function getuserinfo($id) {
    
$query mysql_query("SELECT * FROM users WHERE id = $id LIMIT 1");
    
$user mysql_fetch_array($query);

Then, I want to call values from that by using things like $user['var'].
The only problem is, I can only seem to call values from that array inside the function, meaning that this will work:

PHP Code:
function getuserinfo($id) {
    
$query mysql_query("SELECT * FROM users WHERE id = $id LIMIT 1");
    
$user mysql_fetch_array($query);
    echo 
$user['var'];
}
getuserinfo(1); 
And this will not:

PHP Code:
function getuserinfo($id) {
    
$query mysql_query("SELECT * FROM users WHERE id = $id LIMIT 1");
    
$user mysql_fetch_array($query);
}
getuserinfo(1);
echo 
$user['var']; 
Is there an alternate way of getting the results I would see if the second bit of code worked? Or do I have to redesign my entire system?
Reply With Quote
  #2  
Old 02-16-2005, 01:14 AM
amykhar's Avatar
amykhar amykhar is offline
 
Join Date: Oct 2001
Location: PA
Posts: 4,438
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You could set up the user variable outside the function and pass it in to be filled or you could return the user variable. The way you have it set up now, its scope is only within the function.
Reply With Quote
  #3  
Old 02-16-2005, 01:22 AM
Mink_'s Avatar
Mink_ Mink_ is offline
 
Join Date: Dec 2004
Location: NJ, USA
Posts: 22
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
You could set up the user variable outside the function and pass it in to be filled or you could return the user variable.
The reason I wanted to do this with arrays is that I need to have something like 100 global variables for my software, and setting them up individually would be a pain. They're taken directly from the MySQL database, and then turned into arrays, meaning I couldn't really set up that value elsewhere...
Reply With Quote
  #4  
Old 02-16-2005, 01:35 AM
amykhar's Avatar
amykhar amykhar is offline
 
Join Date: Oct 2001
Location: PA
Posts: 4,438
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You can pass arrays in and out just like any other variable.
Reply With Quote
  #5  
Old 02-16-2005, 02:06 AM
Mink_'s Avatar
Mink_ Mink_ is offline
 
Join Date: Dec 2004
Location: NJ, USA
Posts: 22
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
You can pass arrays in and out just like any other variable.
I'm having trouble passing the variables out. oO;
for instance,

PHP Code:
function test() {
$var "val";
}
test();
echo 
$var
doesn't work.
Reply With Quote
  #6  
Old 02-16-2005, 02:15 AM
amykhar's Avatar
amykhar amykhar is offline
 
Join Date: Oct 2001
Location: PA
Posts: 4,438
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

function test should have a return line in it that returns $var.

The code would look like:

Code:
function test() { 
$var = "val"; 
return $var;
} 
$othervar = test(); 
echo $othervar;
Reply With Quote
  #7  
Old 02-16-2005, 02:21 AM
Mink_'s Avatar
Mink_ Mink_ is offline
 
Join Date: Dec 2004
Location: NJ, USA
Posts: 22
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks alot.
You rule. This will help me infinitely. As the English say, cheers!
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:42 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.03942 seconds
  • Memory Usage 2,231KB
  • 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
  • (1)bbcode_code
  • (4)bbcode_php
  • (2)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (7)post_thanks_box
  • (7)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (7)post_thanks_postbit_info
  • (7)postbit
  • (7)postbit_onlinestatus
  • (7)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