vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   Resource ID #18 (https://vborg.vbsupport.ru/showthread.php?t=161404)

amnesia623 10-29-2007 02:14 PM

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

Guest190829 10-29-2007 02:31 PM

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)

amnesia623 10-29-2007 02:42 PM

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;
};


Guest190829 10-29-2007 02:46 PM

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'];



Lynne 10-29-2007 02:48 PM

Quote:

Originally Posted by amnesia623 (Post 1371158)
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.

amnesia623 10-29-2007 02:52 PM

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 (Post 1371168)
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!


All times are GMT. The time now is 10:25 AM.

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.01847 seconds
  • Memory Usage 1,732KB
  • 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
  • (5)bbcode_code_printable
  • (1)bbcode_php_printable
  • (2)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (6)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
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete