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 10-29-2007, 02:14 PM
amnesia623 amnesia623 is offline
 
Join Date: Jul 2006
Location: Glendale, AZ
Posts: 226
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Resource ID #18

Hello -

I've been following this tutorial here: https://vborg.vbsupport.ru/showthread.php?t=119350

I've been trying to access the database via this code:

Code:
$mytest = $db->query_read("SELECT state_name FROM vb_sidemenu_states WHERE state_id=1");
I put it in a plugin and assigned it to global_start hook. When I display the $mytest variable in a template, I get:

Code:
Resource id #18
I've also tried
Code:
$mytest = $vbulletin->db->query_read("SELECT state_name FROM vb_sidemenu_states WHERE state_id=1");
Where I am wrong?

The above selected table is in the vb database
Reply With Quote
  #2  
Old 10-29-2007, 02:31 PM
Guest190829
Guest
 
Posts: n/a
Default

query_read returns a resource variable, hence what you are getting.

Use query_first instead of query_read when you are selecting only one row.

(In future cases you need to iterate through $db->fetch_array() with the resource returned from query_read)
Reply With Quote
  #3  
Old 10-29-2007, 02:42 PM
amnesia623 amnesia623 is offline
 
Join Date: Jul 2006
Location: Glendale, AZ
Posts: 226
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks for the reply.

I am having some issue with the syntax of this.

My goal is to display a list of items as a side menu. Where is my error in the following code? I am confused on where exactly to query and the pull it into an array.

Thanks BTW...

Code:
$getstate = $db->query_read("SELECT state_name FROM vb_sidemenu_states");
while ($getstate  = $db->fetch_array($result))
{
$mytest = $results;
};
Reply With Quote
  #4  
Old 10-29-2007, 02:46 PM
Guest190829
Guest
 
Posts: n/a
Default

What do you want to do with the data, inside the loop you can access state_name via:

PHP Code:

while(...)
{
   
# Echos each State name 
   
echo $getstate['state_name'];

Reply With Quote
  #5  
Old 10-29-2007, 02:48 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by amnesia623 View Post
Thanks for the reply.

I am having some issue with the syntax of this.

My goal is to display a list of items as a side menu. Where is my error in the following code? I am confused on where exactly to query and the pull it into an array.

Thanks BTW...

Code:
$getstate = $db->query_read("SELECT state_name FROM vb_sidemenu_states");
while ($getstate  = $db->fetch_array($result))
{
$mytest = $results;
};
Just a little explanation that may help out. Your first line does a read query and the results from the query (which are actually pointers, not actual results) go into a variable called $getstate. Your next line needs to go through the results of that query and so they assign a new variable to the array they are fetching. So, your second line makes no sense. You need to assign a new variable name to go through the array, like "while ($result = $db->fetch_array($getstate))". Now you can actually do something with the variable called "$result". Normally you would call the variable as "$result['state_name']" (don't quote me on the use of the single quotes there, I've never understood when to use then and when not, I'm a trial and error coder). So, you could say "$mytest = $result['state_name'];" and then spit out the variable $mytest in your code.
Reply With Quote
  #6  
Old 10-29-2007, 02:52 PM
amnesia623 amnesia623 is offline
 
Join Date: Jul 2006
Location: Glendale, AZ
Posts: 226
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I eventually want to pull the state_name and state_link. Format the data as a menu and assign it to a variable so I can drop it into a template.

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

Quote:
Originally Posted by Lynne View Post
Just a little explanation that may help out. Your first line does a read query and the results from the query (which are actually pointers, not actual results) go into a variable called $getstate. Your next line needs to go through the results of that query and so they assign a new variable to the array they are fetching. So, your second line makes no sense. You need to assign a new variable name to go through the array, like "while ($result = $db->fetch_array($getstate))". Now you can actually do something with the variable called "$result". Normally you would call the variable as "$result['state_name']" (don't quote me on the use of the single quotes there, I've never understood when to use then and when not, I'm a trial and error coder). So, you could say "$mytest = $result['state_name'];" and then spit out the variable $mytest in your code.
Thanks for this too... You both have been a great help.

After reading the code again I did realize that I had the $results and $getstate flipped.

I will try out this newly-founded knowledge and see if I can get it to work. If I can...this will be great!

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

Thank you very much, I now understand how to do this and it's runnin' just like I want!
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 01:07 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.07527 seconds
  • Memory Usage 2,212KB
  • 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
  • (5)bbcode_code
  • (1)bbcode_php
  • (2)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (6)post_thanks_box
  • (6)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (6)post_thanks_postbit_info
  • (6)postbit
  • (4)postbit_onlinestatus
  • (6)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