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 08-16-2006, 07:45 PM
Antivirus's Avatar
Antivirus Antivirus is offline
 
Join Date: Sep 2004
Location: Black Lagoon
Posts: 1,090
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default PHP implode is exploding my mind!!!!!!

What i want to do: pull all forum ids having a specific parent forum, and place them in a string ( $newsfeedforumids ) so they can be added to end of external.php lilke this:

PHP Code:
$vboptions[bburl]/external.php?type=rss2&forumids=$newsfeedforumids 

My query:
PHP Code:
// set parent forum id
$parentid 6;

// get child forumids for parent
$forumids_q $db->query_read("
    SELECT forumid 
    FROM " 
TABLE_PREFIX "forum 
    WHERE parentid = 
$parentid
"
);
$forumids mysql_fetch_array($forumids_q);
$newsfeedforumids implode(","$forumids); 
Then I plug the $newsfeedforumids onto the end of external.php llike so:
Code:
<a href="$vboptions[bburl]/external.php?type=rss2&amp;forumids=$newsfeedforumids" target="_blank">Click for Feed</a>
however there's 14 different forum ids supposed to be queried, and all i get attached to the end of the url is the first result as so:
bburl/external.php?type=rss2&amp;forumids=7,7

What am i doing wrong?
Reply With Quote
  #2  
Old 08-16-2006, 09:14 PM
Paul M's Avatar
Paul M Paul M is offline
 
Join Date: Sep 2004
Location: Nottingham, UK
Posts: 23,748
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You are misunderstanding what mysql_fetch_array() does. This fetches one row of the result set as an array, not the entire result set. You need a 'while' loop to fetch the results row by row to build your array of forumids.
Reply With Quote
  #3  
Old 08-17-2006, 05:34 PM
Antivirus's Avatar
Antivirus Antivirus is offline
 
Join Date: Sep 2004
Location: Black Lagoon
Posts: 1,090
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

thanks Paul, this worked for me:

PHP Code:
$newsfids_q $db->query_read
    
("
    SELECT forumid FROM " 
TABLE_PREFIX "forum 
    WHERE (parentid = " 
$news_setup['artist_news_parent_forum_id'] . 
    OR forumid = " 
$news_setup['eclipse_news_forum_id'] . ")
    "
);
while (
$newsfid mysql_fetch_array($newsfids_q))
{
    
$forumids .= $newsfid['forumid'] . "," ;
}
$newsfeedforumids $forumids
would there have been a better way to do it than above?
Reply With Quote
  #4  
Old 08-17-2006, 06:15 PM
Paul M's Avatar
Paul M Paul M is offline
 
Join Date: Sep 2004
Location: Nottingham, UK
Posts: 23,748
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Antivirus
would there have been a better way to do it than above?
Not really.
Reply With Quote
  #5  
Old 08-17-2006, 06:36 PM
Antivirus's Avatar
Antivirus Antivirus is offline
 
Join Date: Sep 2004
Location: Black Lagoon
Posts: 1,090
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

cool, thanks again for the help!
Reply With Quote
  #6  
Old 08-17-2006, 06:55 PM
Code Monkey's Avatar
Code Monkey Code Monkey is offline
 
Join Date: May 2004
Posts: 1,080
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Antivirus
thanks Paul, this worked for me:

PHP Code:
$newsfids_q $db->query_read
    
("
    SELECT forumid FROM " 
TABLE_PREFIX "forum 
    WHERE (parentid = " 
$news_setup['artist_news_parent_forum_id'] . 
    OR forumid = " 
$news_setup['eclipse_news_forum_id'] . ")
    "
);
while (
$newsfid mysql_fetch_array($newsfids_q))
{
    
$forumids .= $newsfid['forumid'] . "," ;
}
$newsfeedforumids $forumids
would there have been a better way to do it than above?
Yes there would be if you want to be fully integrated. Use vBulletins $db->fetch_array.

PHP Code:
$newsfids_q $db->query_read
    
("
    SELECT forumid FROM " 
TABLE_PREFIX "forum 
    WHERE (parentid = " 
$news_setup['artist_news_parent_forum_id'] . 
    OR forumid = " 
$news_setup['eclipse_news_forum_id'] . ")
    "
);
while (
$newsfid $db->fetch_array($newsfids_q))
{
    
$forumids .= $newsfid['forumid'] . "," ;
}
$newsfeedforumids $forumids
Reply With Quote
  #7  
Old 08-23-2006, 09:34 PM
Antivirus's Avatar
Antivirus Antivirus is offline
 
Join Date: Sep 2004
Location: Black Lagoon
Posts: 1,090
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

good point Codemonkey, thanks!
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 03:53 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.04539 seconds
  • Memory Usage 2,243KB
  • Queries Executed 13 (?)
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
  • (5)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_postinfo_query
  • fetch_postinfo
  • 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