View Full Version : [Parse error ]in my code help needed
Almax1
09-17-2003, 04:03 PM
Parse error: parse error in /xxx/xxx/xxx/topp.php on line 17
================================================== =
<?php
require("admin/config.php");
$db=mysql_connect($servername,$dbusername,$dbpassw ord) or die("Unable to connect to database");
mysql_select_db($dbname) or die("Unable to select database $dbname");
$postsresult = mysql_query("SELECT COUNT(*) AS count,postuserid,postusername FROM thread WHERE forumid IN (10,11) GROUP BY postuserid ORDER BY count DESC LIMIT $maxposters;") or die("Unable to complete query");
while ($topposters = mysql_fetch_array($postsresult)):
if (($counter++ % 2) != 0) {
$bc=$bc1;
} else {
$bc=$bc2;
}
eval("dooutput(\"".gettemplate("topp")."\");");
?>
=========================================
trying to display thread starters in 2 forums 10 & 11
in a template
a simple guideline would be great please
SmEdD
09-17-2003, 07:00 PM
try
<?php
require("admin/config.php");
$db=mysql_connect($servername,$dbusername,$dbpassw ord) or die("Unable to connect to database");
mysql_select_db($dbname) or die("Unable to select database $dbname");
$postsresult = mysql_query("SELECT COUNT(*) AS count,postuserid,postusername FROM thread WHERE forumid IN (10,11) GROUP BY postuserid ORDER BY count DESC LIMIT $maxposters") or die("Unable to complete query");
while ($topposters = mysql_fetch_array($postsresult)):
if (($counter++ % 2) != 0) {
$bc=$bc1;
} else {
$bc=$bc2;
}
eval("dooutput(\"".gettemplate("topp")."\");");
?>
Almax1
09-17-2003, 07:21 PM
Parse error: parse error in /xxx/xxx/xxx/topp.php on line 15
had tried that bit of code earlier already :(
thanks for trying though ;)
any clues ??
filburt1
09-17-2003, 07:25 PM
Parse error: parse error in /xxx/xxx/xxx/topp.php on line 15
had tried that bit of code earlier already :(
thanks for trying though ;)
any clues ??
You're missing a closing brace for the loop. If you indent this way, it is far easier to read:
while ($topposters = mysql_fetch_array($postsresult))
{
if (($counter++ % 2) != 0)
{
$bc=$bc1;
}
else
{
$bc=$bc2;
}
}
Almax1
09-17-2003, 07:50 PM
No joy filburt1 :(
inserted this code
<?php
require("admin/config.php");
$db=mysql_connect($servername,$dbusername,$dbpassw ord) or die("Unable to connect to database");
mysql_select_db($dbname) or die("Unable to select database $dbname");
$postsresult = mysql_query("SELECT COUNT(*) AS count,postuserid,postusername FROM thread WHERE forumid IN (10,11) GROUP BY postuserid ORDER BY count DESC LIMIT $maxposters;") or die("Unable to complete query");
while ($topposters = mysql_fetch_array($postsresult))
{
if (($counter++ % 2) != 0)
{
$bc=$bc1;
}
else
{
$bc=$bc2;
}
}
eval("dooutput(\"".gettemplate("topp")."\");");
?>
result= Unable to complete query
could this be the template ??
filburt1
09-17-2003, 07:55 PM
No joy filburt1 :(
inserted this code
<?php
require("admin/config.php");
$db=mysql_connect($servername,$dbusername,$dbpassw ord) or die("Unable to connect to database");
mysql_select_db($dbname) or die("Unable to select database $dbname");
$postsresult = mysql_query("SELECT COUNT(*) AS count,postuserid,postusername FROM thread WHERE forumid IN (10,11) GROUP BY postuserid ORDER BY count DESC LIMIT $maxposters;") or die("Unable to complete query");
while ($topposters = mysql_fetch_array($postsresult))
{
if (($counter++ % 2) != 0)
{
$bc=$bc1;
}
else
{
$bc=$bc2;
}
}
eval("dooutput(\"".gettemplate("topp")."\");");
?>
result= Unable to complete query
could this be the template ??
Don't include a semicolon in the query; only do that in the mysql command-line client.
Almax1
09-17-2003, 08:10 PM
Thanks for your time filburt1
i took the semicolon out from the end of the query with no joy :(
Almax1
09-17-2003, 08:53 PM
stuck completley now
/me *cries* for HELP :P
Logician
09-18-2003, 10:24 AM
assign a value for "$maxposters". It is blank in your code so query has a syntax error.
Almax1
09-18-2003, 12:51 PM
Thanks Logician but still no luck :(
changed the code to this
<?php
/////////////// CONFIG ///////////////
//
$maxposters = "10"; // change this to the number of posters you want to show.
$bc1 = "#777777"; // change to first alternating color.
$bc2 = "#555555"; // change to second alternating color.
///////////// END CONFIG /////////////
require("admin/config.php");
$db=mysql_connect($servername,$dbusername,$dbpassw ord) or die("Unable to connect to database");
mysql_select_db($dbname) or die("Unable to select database $dbname");
$postsresult = mysql_query("SELECT COUNT(*) AS count,postuserid,postusername FROM thread WHERE forumid IN (10,11) GROUP BY postuserid ORDER BY count DESC LIMIT $maxposters;") or die("Unable to complete query");
while ($topposters = mysql_fetch_array($postsresult))
{
if (($counter++ % 2) != 0)
{
$bc=$bc1;
}
else
{
$bc=$bc2;
}
}
eval("dooutput(\"".gettemplate("topp")."\");");
?>
Fatal error: Call to undefined function: gettemplate() in /xxx/xxx/xxx/xxx/xxx/topp.php on line 28
Logician
09-18-2003, 01:02 PM
you didnt include vb's global.php in your code so your code does not recognize gettemplate function which is a vbulletin function.
Almax1
09-18-2003, 05:09 PM
thank you very much Logician
got it working ;P
[edit: spoke to soon] :(
Almax1
09-18-2003, 06:43 PM
This is simply frustrating me now thank you to all that have helped
i can get the template to show now but no results from either forum ??
Any help or guidelines would be great thanks
<?php
include("./global.php");
/////////////// CONFIG ///////////////
//
$maxposters = "10"; // change this to the number of posters you want to show.
$bc1 = "#777777"; // change to first alternating color.
$bc2 = "#555555"; // change to second alternating color.
///////////// END CONFIG /////////////
require("admin/config.php");
$db=mysql_connect($servername,$dbusername,$dbpassw ord) or die("Unable to connect to database");
mysql_select_db($dbname) or die("Unable to select database $dbname");
$postsresult = mysql_query("SELECT COUNT(*) AS count,postuserid,postusername FROM thread WHERE forumid IN (10,11) GROUP BY postuserid ORDER BY count DESC LIMIT $maxposters;") or die("Unable to complete query");
while ($topposters = mysql_fetch_array($postsresult))
{
if (($counter++ % 2) != 0)
{
$bc=$bc1;
}
else
{
$bc=$bc2;
}
}
eval("dooutput(\"".gettemplate("topp")."\");");
?>
Template Named: topp
{htmldoctype}
<html>
<head>
<title>test</title>
$headinclude
</head>
<body>
$header
<table cellpadding="10" cellspacing="0" border="0" bgcolor="{pagebgcolor}" width="100%"><tr><td>
<table cellpadding="4" cellspacing="1" border="0" bgcolor="{tablebordercolor}" width="100%">
<tr>
<td colspan="2" bgcolor="{categorybackcolor}">
<p align="center"><normalfont color="{categoryfontcolor}"><b>Gambling
Addicts:</b></normalfont></td>
</tr>
<tr>
<td bgcolor="{tableheadbgcolor}" width="100%">
<p align="center"><smallfont color="{tableheadtextcolor}">User</smallfont></td>
<td bgcolor="{tableheadbgcolor}">
<p align="center"><smallfont color="{tableheadtextcolor}">Threads</smallfont></td>
</tr>
<tr>
<td bgcolor="{tableheadbgcolor}" width="100%"><center><a href="$bburl/xxx/xxx/member.php?&action=getinfo&userid=$topposters[postuserid]">
<smallfont>$topposters[postusername]</a></smallfont></td>
<td bgcolor="{tableheadbgcolor}"><center>$topposters[count]</td>
</tr>
</tr>
</table>
</td></tr></table>
</body>
</html>
assassingod
09-18-2003, 06:45 PM
require global.php instead of include.
Also, if this is for vBulletin, no need to require admin/config.php
Almax1
09-18-2003, 06:51 PM
Thanks for the speedy reply assasingod i tried that but......
i can get the template to show now but no results from either forum ??
Any help or guidelines would be great thanks
assassingod
09-18-2003, 06:57 PM
try:
<?php
error_reporting(7);
require('./global.php');
/////////////// CONFIG ///////////////
//
$maxposters = "10"; // change this to the number of posters you want to show.
$bc1 = "#777777"; // change to first alternating color.
$bc2 = "#555555"; // change to second alternating color.
///////////// END CONFIG /////////////
$postsresult = $DB_site->query("SELECT COUNT(*) AS count,postuserid,postusername FROM thread WHERE forumid IN (10,11) GROUP BY postuserid ORDER BY count DESC LIMIT $maxposters;") or die("Unable to complete query");
while ($topposters = $DB_site->fetch_array($postsresult))
{
if (($counter++ % 2) != 0)
{
$bc=$bc1;
}
else
{
$bc=$bc2;
}
}
eval("dooutput(\"".gettemplate("topp")."\");");
?>
Almax1
09-18-2003, 07:03 PM
already tried that m8
tried a few ways but it wont show the results of the forums specified
script & template is in https://vborg.vbsupport.ru/showpost.php?p=434961&postcount=13
Link14716
09-19-2003, 07:13 PM
You can't do it with one template, you must add another gettemplate function in the loop, setting it to a variable. Then add a template that does loop over and over, and put the variable in its correct spot in the main template.
Almax1
09-20-2003, 12:32 AM
Then add a template that does loop over and over
example would be great
assassingod
09-20-2003, 02:00 AM
while ($postresults = $DB_site->fetch_array($postsresult))
{
eval ("\$var.= \"".gettemplate("templatename")."\";");
}
vBulletin® v3.8.12 by vBS, Copyright ©2000-2025, vBulletin Solutions Inc.