vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 General Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=111)
-   -   How do I get MySQL Query results into the right spot on the web page? (https://vborg.vbsupport.ru/showthread.php?t=71305)

vb_guru 11-03-2004 08:12 AM

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.

Colin F 11-03-2004 09:48 AM

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.

Michael Morris 11-03-2004 03:12 PM

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.

vb_guru 11-04-2004 10:56 AM

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?

vb_guru 11-04-2004 11:04 AM

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.

Colin F 11-04-2004 11:36 AM

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.

vb_guru 11-04-2004 11:42 AM

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?

Colin F 11-04-2004 12:12 PM

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 :)

vb_guru 11-05-2004 07:00 AM

Thanks Colin I was able to get it to work based upon your comments

Colin F 11-05-2004 09:38 AM

great ;)

Glad to have helped.


All times are GMT. The time now is 01:42 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.01019 seconds
  • Memory Usage 1,749KB
  • 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
  • (2)bbcode_code_printable
  • (2)bbcode_php_printable
  • (3)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)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