Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 General Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 11-03-2004, 08:12 AM
vb_guru vb_guru is offline
 
Join Date: Aug 2004
Posts: 30
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default How do I get MySQL Query results into the right spot on the web page?

Hi,

I am modifying the USERCP area to include list of data retrieved from the database. I have a MySQL query that does a loop to return a record set and results in several rows of data being displayed on the web page. This code is located in the usercp.php file.

The problem that I am having is that the results always end up at the very top of the page above the <!-- BEGIN TEMPLATE: USERCP_SHELL-->. I want the results to be displayed in the area below the navigation bar running along the top and control panel menu on the left. I have tried modifying the templates but I get errors when inserting the php code.

Any ideas how to do this? Thanks in advance.
Reply With Quote
  #2  
Old 11-03-2004, 09:48 AM
Colin F's Avatar
Colin F Colin F is offline
 
Join Date: Jul 2004
Location: Switzerland
Posts: 1,551
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You'll have to add the php code to the php file and have it call a template in the loop, which saves (.=) the data in a variable.

Then, call the variable in the template.
Reply With Quote
  #3  
Old 11-03-2004, 03:12 PM
Michael Morris's Avatar
Michael Morris Michael Morris is offline
 
Join Date: Nov 2003
Location: Knoxville TN
Posts: 774
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

The only templates that accept the PHP code are PHPINCLUDE_START and PHPINCLUDE_END. Put you're code in PHPINCLUDE_START and nest it in this conditional to insure it only executes for the usercp page.

PHP Code:
if (THIS_SCRIPT=='usercp')
{
your code

Assign the output to a variable. Put that variable in the USERCP template where you want it.
Reply With Quote
  #4  
Old 11-04-2004, 10:56 AM
vb_guru vb_guru is offline
 
Join Date: Aug 2004
Posts: 30
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Michael Morris
The only templates that accept the PHP code are PHPINCLUDE_START and PHPINCLUDE_END. Put you're code in PHPINCLUDE_START and nest it in this conditional to insure it only executes for the usercp page.

PHP Code:
if (THIS_SCRIPT=='usercp')
{
your code

Assign the output to a variable. Put that variable in the USERCP template where you want it.
Hi Michael, thanks for the comment but I am having a hard time getting this to work with MySQL queries. Any suggestions?
Reply With Quote
  #5  
Old 11-04-2004, 11:04 AM
vb_guru vb_guru is offline
 
Join Date: Aug 2004
Posts: 30
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Colin F
You'll have to add the php code to the php file and have it call a template in the loop, which saves (.=) the data in a variable.

Then, call the variable in the template.
Hi Colin,

Thanks for the repsonse. I have been working on your idea and have had some success. I have created a new template and cleaned up the code a little. I am able to get one row of data to be returned but it doesn't seem to be looping thru the record set here is my code in the .php file below:



Code:
if ($_REQUEST['do'] == '')
{

	$tripsresult = $DB_site->query("
		Select * from custom_trips
                WHERE userid = $bbuserinfo[userid]
	");

// Display the text of each trip

echo'<table border=1 width="100%">
 <tr>
  <td>Edit</td>
  <td>Delete</td>
  <td>Name</td>
  <td>Origination</td>
  <td>Destination</td>
  <td>Departure</td>
  <td>Return</td>
  <td>Planning</td>
  <td>Details</td>
 </tr>';

while ($row = mysql_fetch_array($tripsresult)) {
$tripid = $row['tripid'];
$tripname = $row['tripname'];
$destination = $row['destination1'];
$origination = $row['origination'];
$datedepart = $row['datedepart'];
$datereturn = $row['datereturn'];
$planning = $row['planning'];
$tripdetails = $row['tripdetails'];
echo '<tr>';
echo '<td>Edit Here</td>';
echo '<td>';
echo '<form action=./trip_planner_functions.php>';
echo '<input type="hidden" name="do" value="deletetripreport">';
echo '<input type="hidden" name="whatnow" value="deletetripreport">';
echo '<input type="hidden" name="tripid" value=' . $tripid .'>';
echo '<input type="submit" value="Delete">';
echo '</form>';
echo '</td>';
echo '<td>' . $tripname .'</td>';
echo '<td>' . $origination .'</td>';
echo '<td>' . $destination .'</td>';
echo '<td>' . $datedepart .'</td>';
echo '<td>' . $datereturn .'</td>';
echo '<td>' . $planning .'</td>';
echo '<td>' . $tripdetails .'</td>';
echo '</tr>';

}
echo '</table>';
eval('$tripsshowme .= "' . fetch_template('LIST_TRIPS') . '";');
}

Here is my LIST_TRIPS template:

Code:
$tripsshowme
<table border=1 width="100%">
 <tr>
  <td>Edit LT</td>
  <td>Delete</td>
  <td>Name</td>
  <td>Origination</td>
  <td>Destination</td>
  <td>Departure</td>
  <td>Return</td>
  <td>Planning</td>
  <td>Details</td>
 </tr>
<tr>
<td>edit on LIST_TRIPS</td>
<td>
<form action=./trip_planner_functions.php>
<input type="hidden" name="do" value="deletetripreport">
<input type="hidden" name="whatnow" value="deletetripreport">
<input type="hidden" name="tripid" value=$tripid >
<input type="submit" value="Delete">
</form>
</td>
<td>$tripname</td>
<td>$origination</td>
<td>$destination</td>
<td>$datedepart</td>
<td>$datereturn</td>
<td>$planning</td>
<td>$tripdetails</td>
</tr>
</table>

Any ideas on what I am doing wrong. I can get the complete record set to be display with all the rows as long as I run the code in the .php file but I return only one row of data when I am using the templates. Any help would be much appreciated.
Reply With Quote
  #6  
Old 11-04-2004, 11:36 AM
Colin F's Avatar
Colin F Colin F is offline
 
Join Date: Jul 2004
Location: Switzerland
Posts: 1,551
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

well... instead of calling echo, you'll have to make another template and output everything to a var, using that template. that might look something like this:

eval('$tripsshowbits .= "' . fetch_template('LIST_TRIPS_bit') . '";');


in the loop.
then, use the $tripsshowbits variable to call the data.
Reply With Quote
  #7  
Old 11-04-2004, 11:42 AM
vb_guru vb_guru is offline
 
Join Date: Aug 2004
Posts: 30
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Colin F
well... instead of calling echo, you'll have to make another template and output everything to a var, using that template. that might look something like this:

eval('$tripsshowbits .= "' . fetch_template('LIST_TRIPS_bit') . '";');


in the loop.
then, use the $tripsshowbits variable to call the data.

What do you mean exactly by output everything to a var? As you can tell I am new to VB and have limited experience with PHP. How would I get all the variables($tripname $origination $destination $datedepart $datereturn $planning $tripdetails, etc.) from my query into $tripsshowbits?
Reply With Quote
  #8  
Old 11-04-2004, 12:12 PM
Colin F's Avatar
Colin F Colin F is offline
 
Join Date: Jul 2004
Location: Switzerland
Posts: 1,551
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You'll have the vars in the template.

Just write something like <table><tr><td>$datereturn</td></tr></table>
and it'll output the value of $datereturn where you specified it.

Then, when you do the eval() thing, it'll fetch the template, replace all those vars as above and output the data (template, with vars replaced) to the new var you specify $foo = fetch_template(); )

you can then echo $foo again, which will output the whole template...
Sorry, I don't have time to explain right now, I'll try to get back to you this evening or tomorrow
Reply With Quote
  #9  
Old 11-05-2004, 07:00 AM
vb_guru vb_guru is offline
 
Join Date: Aug 2004
Posts: 30
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks Colin I was able to get it to work based upon your comments
Reply With Quote
  #10  
Old 11-05-2004, 09:38 AM
Colin F's Avatar
Colin F Colin F is offline
 
Join Date: Jul 2004
Location: Switzerland
Posts: 1,551
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

great

Glad to have helped.
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 11:09 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.04676 seconds
  • Memory Usage 2,260KB
  • 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
  • (2)bbcode_code
  • (2)bbcode_php
  • (3)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (10)postbit
  • (10)postbit_onlinestatus
  • (10)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