vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   memberinfo template - what variable do I 'pass' to a PHP script for a member's userID (https://vborg.vbsupport.ru/showthread.php?t=156313)

criscokid 08-26-2007 05:43 PM

memberinfo template - what variable do I 'pass' to a PHP script for a member's userID
 
I've creating small PHP script that I'll be using to output info on the Memberinfo template by way of a pluugin.

What variable do I use in the PHP script for the userID of the profile I'm looking at at the time?

Assuming my userID is 1 and I'm looking at the profile of the person whose userID is 5 - I want userID=5 to be passed through to the PHPscript or 10 if their userID happens to be 10.

EnIgMa1234 08-26-2007 05:48 PM

try $vbulletin->GPC['userid']

not tested ^^

criscokid 08-26-2007 06:04 PM

Thanks for the speedy reply (it's REALLY appreciated!) and your suggestion works. :) :)

EnIgMa1234 08-27-2007 03:07 PM

Great to hear :)

criscokid 08-27-2007 05:27 PM

I created a PHP script yesterday that displays fine in a vB template via a plugin. I've created another PHP script today but when I view it in a vB template it just outputs the content of the PHP script (the actual PHP script is what you see), it doesn't actually execute the PHP script and output the result of that.

I've double checked the script and it appears fine... something, I can't figure out what, is stopping vB from 'executing' the PHP script.

EnIgMa1234 08-27-2007 05:31 PM

Come again?

Whats he code of the script and the template?

criscokid 08-27-2007 06:07 PM

Typical... I make a forum posting and then figure out what's wrong... vB wasn't happy because there wasn't a space between the = and the 'searchvalue'.

I've made some progress but I've still having a problem...

Here's my PHP code:
Code:

<?php
$selected = $_POST['selected'];
require_once('global.php');
$dbuser="username";
$dbpass="password";
$dbname="database";  //the name of the database
$chandle = mysql_connect("localhost", $dbuser, $dbpass)
    or die("Connection Failure to Database");
mysql_select_db($dbname, $chandle) or die ($dbname . " Database not found." . $dbuser);

$counter = 0;

    // Lets get the Recent Reviews
        $queryz = ("SELECT
  rp_products.title,
  rp_reviews.username,
  rp_reviews.userid,
  rp_reviews.review,
  rp_reviews.cat,
  rp_reviews.product,
  rp_products.bigimage,
  rp_products.cat,
  rp_products.userid
FROM
 rp_reviews
 INNER JOIN rp_products ON (rp_reviews.product=rp_products.id)
WHERE
  (rp_reviews.review IS NOT NULL) AND
  (rp_products.approved = 1) AND
  (rp_reviews.userid = {$vbulletin->GPC['userid']})
ORDER BY
  rp_reviews.`date` DESC LIMIT 5");

$result = mysql_query($queryz) or die('Query failed: ' . mysql_error());

// Printing results in HTML
echo "<div align=\"center\">\n";
echo "<table width=\"100%\">\n";

while ($row = mysql_fetch_array($result)) {

  $title = $row['title'];
  $review = $row['review'];
  $username = $row['username'];
  $product = $row['product'];
  $bigimage = $row['bigimage'];
  $cat = $row['cat'];

$review = strip_bbcode($review, $stripquotes = false, $fast_and_dirty = false, $showlinks = false);

// split the message at the first paragraph
$preview = preg_split('#(\r\n|\n|\r)#', $review, -1, PREG_SPLIT_NO_EMPTY);
$displaypreview = $preview[0];

echo "\t<tr align=\"center\" valign=\"top\">\n";
echo "\t\t<td width=\"20%\" valign=\"top\"><a href=\"http://domain.com/party/showproduct.php\?product={$product}\"><img src=\"http://domain.com/party/data/{$cat}/thumbs/{$bigimage}\" alt=\"{$title}\" height =\"66\"border=\"0\" ></a><br />
{$title}<br/><br/></td><td align=\"left\" valign=\"top\">{$displaypreview}<br/><br/><a href=\"http://domain.com/party/showproduct.php\?product={$product}\">Read the full review of {$title}.<br/><br/></td>\n";
echo "\t</tr>\n";

}

echo "</table>\n";
echo "</div>\n";

mysql_close($chandle);
?>

When I view the user profile of 'person with userID of 1959' the output is nothing. If I change
(rp_reviews.userid = {$vbulletin->GPC['userid']})
to
(rp_reviews.userid = '1959')
then the script works fine / as expected so I suspect I might be using the wrong variable in my query.

EnIgMa1234 08-28-2007 12:00 AM

Is this a vbulletin script?

criscokid 08-28-2007 03:38 AM

No it's something I've written myself to utilise data from a Reviewpost table and show it on a user's profile page. I'm new to mySQL, PHP and vB plugins so it's pretty much done by looking at other similar code and modifying / altering to suit what I want to do.

EnIgMa1234 08-28-2007 01:03 PM

k first of all if your using plugins hooks are used to display the code on pages e.g forumhome_compete will execute at the bottom of the index.php file.

If your adding code, you will be using member_***

Next, you dont need to connect to the database, it is done automatically. Also you dont need the opening php tag or the closing one.

Finally I taken a bit of your code and changed it around to be more vbulletin compatible
PHP Code:

$counter 0;

    
// Lets get the Recent Reviews
        
$queryz $vbulletin->db->query_read("SELECT 
  rp_products.title,
  rp_reviews.username,
  rp_reviews.userid,
  rp_reviews.review,
  rp_reviews.cat,
  rp_reviews.product,
  rp_products.bigimage,
  rp_products.cat,
  rp_products.userid
FROM " 
TABLE_PREFIX "
 rp_reviews
 INNER JOIN rp_products ON (rp_reviews.product=rp_products.id)
WHERE
  (rp_reviews.review IS NOT NULL) AND 
  (rp_products.approved = 1) AND
  (rp_reviews.userid = 
{$vbulletin->GPC['userid']})
ORDER BY
  rp_reviews.`date` DESC LIMIT 5"
);

// Printing results in HTML
echo "<div align=\"center\">\n";
echo 
"<table width=\"100%\">\n";

while (
$row $vbulletin->db->fetch_array($queryz)) { 

   
$title $row['title']; 
   
$review $row['review']; 
   
$username $row['username'];
   
$product $row['product'];
   
$bigimage $row['bigimage'];
   
$cat $row['cat'];


Also it's better to use templates instead of echoing html. Chec the articles section for more help.

Hope that helps.


All times are GMT. The time now is 06:47 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.01074 seconds
  • Memory Usage 1,747KB
  • 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
  • (1)bbcode_code_printable
  • (1)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (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
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete