Page 1 of 1

Any reason this wont work in a phpNuke block?

Posted: Wed Feb 15, 2006 3:06 am
by davidprogramer
I can't figure out why this wont give the desired results...
It lists Home and that works fine. But the for loop doesn't work at all.

Code: Select all

$sql_ladders = sql_query("SELECT ladder_id, ladder_name FROM ".$prefix."_league_ladders");

$content .= "<br><br><center><form name=\"form1\" method=\"post\">
	<select name=\"menu1\">
	<option value=\"modules.php?name=League\">Home</option>";
for ($m=1; $m < sql_num_rows($sql_ladders)+1; $m++) {
	list($ladder_id, $ladder_name) = sql_fetch_row($sql_ladders);
	$content .= "<option value=\"modules.php?name=League&file=ladder&lid=$ladder_id\">$ladder_name</option>";
}
	$content .= "</select>
	<br><center><input type=\"button\" name=\"Button1\" value=\"Go\" onClick=\"MM_jumpMenuGo('menu1','parent',0)\">
</form>";

Posted: Wed Feb 15, 2006 3:59 am
by JayBird
Have you written this code yourself?

Posted: Wed Feb 15, 2006 4:10 am
by davidprogramer
Yes :?

Site found here: http://www.aowars.com

Posted: Wed Feb 15, 2006 4:12 am
by JayBird
sql_query isn't a PHP function.

Neither is sql_num_rows or sql_fetch_row.

Im sure PHP nuke uses the above like this.

$db->sql_fetch_row
$db->sql_query
$db->sql_num_rows

Posted: Wed Feb 15, 2006 4:16 am
by davidprogramer
Actually you are correct. I have seen that in a few of the other block files. How would I incorporate that into my code though? When using the pointers, my list(code here) doesnt work. :cry:


For example:

Code: Select all

$sql_ladders = $db->sql_query("SELECT ladder_id, ladder_name FROM ".$prefix."_league_ladders");

$content .= "<br><br><center><form name=\"form1\" method=\"post\">
	<select name=\"menu1\">
	<option value=\"modules.php?name=League\">Home</option>";
for ($m=1; $m < $db->sql_num_rows($sql_ladders)+1; $m++) {
	list($ladder_id, $ladder_name) = $db->sql_fetch_row($sql_ladders);
	$content .= "<option value=\"modules.php?name=League&file=ladder&lid=$ladder_id\">$ladder_name</a></option>";
}
	$content .= "</select>
	<br><center><input type=\"button\" name=\"Button1\" value=\"Go\" onClick=\"MM_jumpMenuGo('menu1','parent',0)\">
</form>";
The code above causes this to happen:
Fatal error: Call to a member function on a non-object in /home/aowarsco/public_html/blocks/block-League.php on line 18

Posted: Wed Feb 15, 2006 4:20 am
by JayBird
Which is line 18 :?

Posted: Wed Feb 15, 2006 4:21 am
by davidprogramer
hahaha sorry about that

line 18 would be :

Code: Select all

$sql_ladders = $db->sql_query("SELECT ladder_id, ladder_name FROM ".$prefix."_league_ladders");

Posted: Wed Feb 15, 2006 4:25 am
by JayBird
Im guessing you haven't created an instance of $db...or trying to use it before it has been declared

Usually something like this

Code: Select all

$db = new database({connectioninfo})
...but im not too familiar with PHP Nuke

Posted: Wed Feb 15, 2006 4:28 am
by davidprogramer
That actually worked...

I declared $db as a global variable at the top of the script. Now the following line is giving me an error:

Code: Select all

for ($m=1; $m < $db->sql_num_rows($sql_ladders)+1; $m++) {

Fatal error: Call to undefined function: sql_num_rows() in /home/aowarsco/public_html/blocks/block-League.php on line 25

Posted: Wed Feb 15, 2006 4:31 am
by JayBird
post the whole code for block-League.php

Posted: Wed Feb 15, 2006 4:32 am
by davidprogramer

Code: Select all

<?php

if ( !defined('BLOCK_FILE') ) {
    Header("Location: ../index.php");
    die();
}

global $db;

// Links
$content .= "<img src=\"images/arrow.gif\" border=\"0\" alt=\"\">&nbsp;<a href=\"modules.php?name=League\">Home</a>";
$content .= "<br><img src=\"images/arrow.gif\" border=\"0\" alt=\"\">&nbsp;<a href=\"modules.php?name=League&file=hall_of_fame\">Hall of Fame</a>";
$content .= "<br><img src=\"images/arrow.gif\" border=\"0\" alt=\"\">&nbsp;<a href=\"modules.php?name=Forums\">Forums</a>";
$content .= "<br><img src=\"images/arrow.gif\" border=\"0\" alt=\"\">&nbsp;<a href=\"modules.php?name=Members_List\">Members</a>";
$content .= "<br><img src=\"images/arrow.gif\" border=\"0\" alt=\"\">&nbsp;<a href=\"modules.php?name=League&file=staff\">Staff</a>";
$content .= "<br><img src=\"images/arrow.gif\" border=\"0\" alt=\"\">&nbsp;<a href=\"modules.php?name=Private_Messages\">Messages</a>";
$content .= "<br><img src=\"images/arrow.gif\" border=\"0\" alt=\"\">&nbsp;<a href=\"modules.php?name=FAQ\">Support</a>";
$content .= "<br><img src=\"images/arrow.gif\" border=\"0\" alt=\"\">&nbsp;<a href=\"modules.php?name=Statistics\">League Stats</a>";
$content .= "<br><img src=\"images/arrow.gif\" border=\"0\" alt=\"\">&nbsp;<a href=\"modules.php?name=Members_List\">Members</a>";

// Begin Dropdown Menu Code
$sql_ladders = $db->sql_query("SELECT ladder_id, ladder_name FROM ".$prefix."_league_ladders");

$content .= "<br><br><center><form name=\"form1\" method=\"post\">
	<select name=\"menu1\">
	<option value=\"modules.php?name=League\">Home</option>";
for ($m=1; $m < $db->sql_num_rows($sql_ladders)+1; $m++) {
	list($ladder_id, $ladder_name) = $db->sql_fetch_row($sql_ladders);
	$content .= "<option value=\"modules.php?name=League&file=ladder&lid=$ladder_id\">$ladder_name</a></option>";
}
	$content .= "</select>
	<br><center><input type=\"button\" name=\"Button1\" value=\"Go\" onClick=\"MM_jumpMenuGo('menu1','parent',0)\">
</form>";
?>

Posted: Wed Feb 15, 2006 4:36 am
by JayBird
are you including this file in another file?

if so, show me the other file

Posted: Wed Feb 15, 2006 4:38 am
by davidprogramer
No, I am just activating it the default way through the admin control panel of phpNuke.

Posted: Wed Feb 15, 2006 4:38 am
by JayBird
im not sure then...im dont know PHP Nuke well enough to help you further

Posted: Wed Feb 15, 2006 4:41 am
by davidprogramer
Alright, Thanks for trying :wink:

Can anyone else provide some insight?