PDA

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")."\";");

}