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-01-2003, 12:26 PM
gengar003's Avatar
gengar003 gengar003 is offline
 
Join Date: Apr 2002
Location: .::|The Matrix|::.
Posts: 181
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Querying in functions...

Okay, I want to be able to execute this code:

PHP Code:

/////////////// get news vars

$nid=$HTTP_GET_VARS['nid'];
$newsget=$DB_SITE->query("SELECT * FROM news WHERE nid='$nid'");
$author=$newsget['author'];
$title=$newsget['title'];
$text=$newsget['text'];
$date=$newsget['date'];
$number=0;

$idfind=$DB_SITE->query_plain("SELECT `number` FROM `comments` WHERE cnid='$nid' ORDER BY `number`");

while(
$idloop=$DB_SITE->fetch_array($idfind))
{
$number++;

}
$ncomments=$number;

//////////////
////////////// show the news item
maketableheader("1","black","500","","white","","1","1");
newsdisplay_content($nid,$date,$author,$title,$text,$ncomments);
maketablefooter();
spacing("p");
/////////////get comment vars and show comments.
$commentfetch $DB_SITE->query_plain("SELECT * FROM comments WHERE cnid='$nid' ORDER BY number DESC");
if (!
$commentfetch){
echo 
"NO comments.<p>";
} else {
while(
$commentloop $DB_SITE->fetch_array($commentfetch))
{
$name=$commentloop['author'];
$email=$commentloop['email'];
$www=$commentloop['www'];
$comment=$commentloop['text'];
commentdisplay($name,$email,$www,$comment);
}





And when I place it in the script by itself, it works fine. However, for the purposes of my script, It would be much better were it in a function. (This large amt of code is used more than once. Also, functions allow me to place it more accurately on the page) So, to make a funciton, I do this:

PHP Code:
function makeviewcommentpage(){
/////////////// get news vars
global $DB_SITE,$loggedinuser,$session;
$nid=$HTTP_GET_VARS['nid'];
$newsget=$DB_SITE->query("SELECT * FROM news WHERE nid='$nid'");
$author=$newsget['author'];
$title=$newsget['title'];
$text=$newsget['text'];
$date=$newsget['date'];
$number=0;

$idfind=$DB_SITE->query_plain("SELECT `number` FROM `comments` WHERE cnid='$nid' ORDER BY `number`");

while(
$idloop=$DB_SITE->fetch_array($idfind))
{
$number++;

}
$ncomments=$number;

//////////////
////////////// show the news item
maketableheader("1","black","500","","white","","1","1");
newsdisplay_content($nid,$date,$author,$title,$text,$ncomments);
maketablefooter();
spacing("p");
/////////////get comment vars and show comments.
$commentfetch $DB_SITE->query_plain("SELECT * FROM comments WHERE cnid='$nid' ORDER BY number DESC");
if (!
$commentfetch){
echo 
"NO comments.<p>";
} else {
while(
$commentloop $DB_SITE->fetch_array($commentfetch))
{
$name=$commentloop['author'];
$email=$commentloop['email'];
$www=$commentloop['www'];
$comment=$commentloop['text'];
commentdisplay($name,$email,$www,$comment);
}




}

Adding only the "Function name (){", "Global...", and "}" lines.

And all the queries cease to work. Anyone know why?

Thanks in advance.
Reply With Quote
  #2  
Old 11-01-2003, 02:42 PM
Dean C's Avatar
Dean C Dean C is offline
 
Join Date: Jan 2002
Location: England
Posts: 9,071
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

global $DB_site (I believe case makes a big difference )
Reply With Quote
  #3  
Old 11-01-2003, 02:55 PM
assassingod's Avatar
assassingod assassingod is offline
 
Join Date: Jul 2002
Posts: 3,337
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Mist
global $DB_site (I believe case makes a big difference )
He has
Reply With Quote
  #4  
Old 11-01-2003, 03:31 PM
filburt1 filburt1 is offline
 
Join Date: Feb 2002
Location: Maryland, US
Posts: 6,144
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

No offense, but the lack of indenting is stopping me from even trying to diagnose the problem.
Reply With Quote
  #5  
Old 11-01-2003, 04:51 PM
assassingod's Avatar
assassingod assassingod is offline
 
Join Date: Jul 2002
Posts: 3,337
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Btw, can you use functions within functions? You are using maketableheader as a function already
Reply With Quote
  #6  
Old 11-01-2003, 06:43 PM
Dean C's Avatar
Dean C Dean C is offline
 
Join Date: Jan 2002
Location: England
Posts: 9,071
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Yes Steve Also he's using $DB_SITE not $DB_site (there's a difference in case there).
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 07:24 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.04086 seconds
  • Memory Usage 2,238KB
  • 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
  • (2)bbcode_php
  • (1)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
  • (6)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