Parse error with php/java script

This is a discussion on Parse error with php/java script within the alt.comp.lang.php forums, part of the PHP Programming Forums category; Hello I have found the following script php/java for dynamic menu lists. Where a selection from the first updates (...


Go Back   Usenet Forums > PHP Programming Forums > alt.comp.lang.php

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 11-22-2005
Ian Davies
 
Posts: n/a
Default Parse error with php/java script

Hello
I have found the following script php/java for dynamic menu lists. Where a
selection from the first updates (filters items in) the other. I have
modified it for my tables.
However I am getting an error

Parse error: parse error, unexpected T_VAR in
e:\domains\i\iddsoftware.co.uk\user\htdocs\Questio nDB\Questions.php on line
42

line 42 being
var mainselect = document.FormName.MainCategory;

Im fairly new to php and dont use Java upto now. Can anyone see where I ve
gone wrong

<?php
session_start();
include("../include/connection.php");
include("../Secure/login.php");
$Heading= 'QUESTION SELECTOR';
$Menu='<a href="../Secure/logout.php">Logout</a><br>';
include 'HeadQuest.php';


$Query = "SELECT SubjectNo, SubjectDesc, StatusID FROM Subjects WHERE
StatusID = 1 ORDER BY SubjectDesc ASC";
$Result = mysql_query( $Query, $conn );

?>

<HTML>
<HEAD>
<SCRIPT language="JavaScript">

function BodyLoad()
{

var select = document.FormName.MainCategory;

select.options[0] = new Option("Choose One");
select.options[0].value = 0;

<?PHP

$ctr = 1;
While( $Row = mysql_fetch_array($Result) ) {
echo "select.options[".$ctr."] = new
Option(\"".$Row['SubjectNo']."\");\n";
echo "select.options[".$ctr."].value = \"".$Row['SubjectNo']."\";\n";
$ctr++;
}
?>
}

function Fill_Sub()
{

<?PHP
var mainselect = document.FormName.MainCategory;
var subselect = document.FormName.SubCategory;

if( mainselect.options[mainselect.selectedIndex].value != 0 ) {

subselect.length = 0;
}

$Query = "SELECT SubjectNo, SubjectDesc, StatusID FROM Subjects WHERE
StatusID = 1 ORDER BY SubjectDesc ASC";
$Result = mysql_query($Query, $conn );

while( $Row = mysql_fetch_array($Result) ) {
?>


if( mainselect.options[mainselect.selectedIndex].text == "<?PHP echo
$Row['SubjectNo']; ?>" ) {
<?PHP

$Query2 = "SELECT TopicID, TopicDesc, KS, SubjectNo FROM ttopic WHERE
StatusID = 1 AND SubjectNo = ".$row['SubjectNo']." ORDER BY TopicDesc ASC";


$Result2 = mysql_query($Query2, $conn );

$ctr = 0;

While( $Row2 = mysql_fetch_array($Result2) ) {
echo "subselect.options[".$ctr."] = new
Option(\"".$Row2['TopicID']."\");\n";
echo "subselect.options[".$ctr."].value =
\"".$Row2['TopicID']."\";\n";
$ctr++;
}
?>
}
}

<?PHP
}

mysql_close($conn);
?>
}

</SCRIPT>
</HEAD>

<BODY onload="BodyLoad();">
<FORM name="FormName" method="POST" action="">
<TABLE border="1">
<TR>
<TD>Main Category</TD>
<TD>Sub Category</TD>
</TR>
<TR>
<TD>
<SELECT name="MainCategory" onchange="Fill_Sub();">
</SELECT>
</TD>

<TD>
<SELECT name="SubCategory" size="4">
</SELECT>
</TD>
</TR>
</TABLE>
</FORM>
</BODY>
</HTML>


Reply With Quote
  #2 (permalink)  
Old 11-22-2005
Justin Koivisto
 
Posts: n/a
Default Re: Parse error with php/java script

Ian Davies wrote:
>
> Parse error: parse error, unexpected T_VAR in
> e:\domains\i\iddsoftware.co.uk\user\htdocs\Questio nDB\Questions.php on line
> 42
>

<snip>

> function Fill_Sub()
> {
>
> <?PHP


This is in the wrong spot...

> var mainselect = document.FormName.MainCategory;
> var subselect = document.FormName.SubCategory;
>
> if( mainselect.options[mainselect.selectedIndex].value != 0 ) {
>
> subselect.length = 0;
> }


This is where the "<?php" should be...

> $Query = "SELECT SubjectNo, SubjectDesc, StatusID FROM Subjects WHERE
> StatusID = 1 ORDER BY SubjectDesc ASC";
> $Result = mysql_query($Query, $conn );


<snip>

--
Justin Koivisto, ZCE - justin@koivi.com
http://koivi.com
Reply With Quote
  #3 (permalink)  
Old 11-22-2005
Ian Davies
 
Posts: n/a
Default Re: Parse error with php/java script

Thanks
That helped
But now get a syntax error on line 69
which is

echo "subselect.options[".$ctr."].value =
\"".$Row2['TopicID']."\";\n";

my debugger is saying

if( mainselect.options[mainselect.selectedIndex].value == "12" ) {
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result
resource in e:\domains\i\mysite\user\htdocs\myfolder\Questions .php on line
67
} }

It would seem that there is a problem with

mainselect.options[mainselect.selectedIndex].value

Ian



"Justin Koivisto" <justin@koivi.com> wrote in message
news:uPidnaxdQ-f-Ch7eRVn-ow@onvoy.com...
> Ian Davies wrote:
> >
> > Parse error: parse error, unexpected T_VAR in
> > e:\domains\i\iddsoftware.co.uk\user\htdocs\Questio nDB\Questions.php on

line
> > 42
> >

> <snip>
>
> > function Fill_Sub()
> > {
> >
> > <?PHP

>
> This is in the wrong spot...
>
> > var mainselect = document.FormName.MainCategory;
> > var subselect = document.FormName.SubCategory;
> >
> > if( mainselect.options[mainselect.selectedIndex].value != 0 ) {
> >
> > subselect.length = 0;
> > }

>
> This is where the "<?php" should be...
>
> > $Query = "SELECT SubjectNo, SubjectDesc, StatusID FROM Subjects

WHERE
> > StatusID = 1 ORDER BY SubjectDesc ASC";
> > $Result = mysql_query($Query, $conn );

>
> <snip>
>
> --
> Justin Koivisto, ZCE - justin@koivi.com
> http://koivi.com



Reply With Quote
  #4 (permalink)  
Old 11-22-2005
Justin Koivisto
 
Posts: n/a
Default Re: Parse error with php/java script

Ian Davies wrote:
> Thanks
> That helped
> But now get a syntax error on line 69
> which is
>
> echo "subselect.options[".$ctr."].value =
> \"".$Row2['TopicID']."\";\n";
>
> my debugger is saying
>
> if( mainselect.options[mainselect.selectedIndex].value == "12" ) {
> Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result
> resource in e:\domains\i\mysite\user\htdocs\myfolder\Questions .php on line
> 67
> } }
>
> It would seem that there is a problem with
>
> mainselect.options[mainselect.selectedIndex].value


Or there's something wrong with the query. You blindly start a while
loop without first checking to see if the query has succeeded. In this
case, if $Result isn't a valid result resource, the query failed for
some reason... to help debug, use mysql_error() to see what the problem is.

--
Justin Koivisto, ZCE - justin@koivi.com
http://koivi.com
Reply With Quote
  #5 (permalink)  
Old 11-23-2005
RobG
 
Posts: n/a
Default Re: Parse error with php/java script

Ian Davies wrote:
> Hello
> I have found the following script php/java for dynamic menu lists. Where a
> selection from the first updates (filters items in) the other. I have
> modified it for my tables.
> However I am getting an error


When posting code, post what is received at the client (use view
source). The PHP side should be discussed in a PHP forum.

Once you have sorted out what the client should get, then you can work
out how to generate it.


> Parse error: parse error, unexpected T_VAR in
> e:\domains\i\iddsoftware.co.uk\user\htdocs\Questio nDB\Questions.php on line
> 42
>
> line 42 being
> var mainselect = document.FormName.MainCategory;
>
> Im fairly new to php and dont use Java upto now. Can anyone see where I ve
> gone wrong


Asking PHP questions in a JavaScript group? Thinking JavaScript is
Java? ;-)


> <?php
> session_start();
> include("../include/connection.php");
> include("../Secure/login.php");
> $Heading= 'QUESTION SELECTOR';
> $Menu='<a href="../Secure/logout.php">Logout</a><br>';
> include 'HeadQuest.php';
>
>
> $Query = "SELECT SubjectNo, SubjectDesc, StatusID FROM Subjects WHERE
> StatusID = 1 ORDER BY SubjectDesc ASC";
> $Result = mysql_query( $Query, $conn );
>
> ?>
>
> <HTML>
> <HEAD>
> <SCRIPT language="JavaScript">


The language attribute is deprecated, type is required:

<script type="text/javascript">


>
> function BodyLoad()
> {
>
> var select = document.FormName.MainCategory;
>
> select.options[0] = new Option("Choose One");
> select.options[0].value = 0;


IE has issues with setting option attributes this way. Set all the
values in one go (hey, saves a line of code too):

select.options[0] = new Option("Choose One", "0", true, true);


sets the first option to have text 'Choose One', value as '0', default
selected as true and currently selected as true.


>
> <?PHP
>
> $ctr = 1;
> While( $Row = mysql_fetch_array($Result) ) {
> echo "select.options[".$ctr."] = new
> Option(\"".$Row['SubjectNo']."\");\n";
> echo "select.options[".$ctr."].value = \"".$Row['SubjectNo']."\";\n";
> $ctr++;
> }
> ?>
> }
>
> function Fill_Sub()
> {
>
> <?PHP
> var mainselect = document.FormName.MainCategory;
> var subselect = document.FormName.SubCategory;
>
> if( mainselect.options[mainselect.selectedIndex].value != 0 ) {


The value of a form control is always returned as a string, so be
careful when evaluating it. In this case it is OK because the string
'0' and number 0 will be evaluated as you expect, but sometimes it will
trip you up.


>
> subselect.length = 0;
> }

[...]
> <TD>
> <SELECT name="SubCategory" size="4">
> </SELECT>
> </TD>


A select element with no options is invalid HTML.

[...]


--
Rob
Reply With Quote
  #6 (permalink)  
Old 11-23-2005
Justin Koivisto
 
Posts: n/a
Default Re: Parse error with php/java script

RobG wrote:
> When posting code, post what is received at the client (use view
> source). The PHP side should be discussed in a PHP forum.


It was - 4 of them.

> Asking PHP questions in a JavaScript group? Thinking JavaScript is
> Java? ;-)


More like someone not sure if it was a php or js thing. The post went to
4 php groups, and one js group...

--
Justin Koivisto, ZCE - justin@koivi.com
http://koivi.com
Reply With Quote
  #7 (permalink)  
Old 11-23-2005
Ian Davies
 
Posts: n/a
Default Re: Parse error with php/java script

Hello

The script here is modified from a previous script where I have not
atempted to use java to update a second dropdownmenu/listbox (havent decided
which to use yet) from the item selected in the first. In the previous
script I use the exact same sqls which work fine.
Go here to see these SQLs working in the dropdown lists
http://www.iddsoftware.co.uk/Questio...ionsBrowse.php

Ian


"Justin Koivisto" <justin@koivi.com> wrote in message
news:XeidnVQDys8rNh7enZ2dnUVZ_tGdnZ2d@onvoy.com...
> Ian Davies wrote:
> > Thanks
> > That helped
> > But now get a syntax error on line 69
> > which is
> >
> > echo "subselect.options[".$ctr."].value =
> > \"".$Row2['TopicID']."\";\n";
> >
> > my debugger is saying
> >
> > if( mainselect.options[mainselect.selectedIndex].value == "12" ) {
> > Warning: mysql_fetch_array(): supplied argument is not a valid MySQL

result
> > resource in e:\domains\i\mysite\user\htdocs\myfolder\Questions .php on

line
> > 67
> > } }
> >
> > It would seem that there is a problem with
> >
> > mainselect.options[mainselect.selectedIndex].value

>
> Or there's something wrong with the query. You blindly start a while
> loop without first checking to see if the query has succeeded. In this
> case, if $Result isn't a valid result resource, the query failed for
> some reason... to help debug, use mysql_error() to see what the problem

is.
>
> --
> Justin Koivisto, ZCE - justin@koivi.com
> http://koivi.com



Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are Off
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT +1. The time now is 08:32 AM.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.0.0