Jump to content

Archived

This topic is now archived and is closed to further replies.

ambrennan

Strange error in code

Recommended Posts

I am using the folowing code to search a db and bring back results but am getting the following error
"Parse error: parse error, unexpected $ in C:\Program Files\xampp\htdocs\search-example2.php on line 47"
but my code only has 45 lines in it - What am I doing wrong?

[code]<?php require_once('Connections/xxx.php'); ?>

<?php
    if($_GET['action']=="xxxxxxxx")
    {
        $arrDate_day=$_POST['arrDate_day'];
        $arrDate_mon=$_POST['arrDate_mon'];
        $arrDate_year=$_POST['arrDate_year'];
        $RoomType=$_POST['RoomType'];
        $SmokingYesNo=$_POST['SmokingYesNo'];
        $deptDate_day=$_POST['deptDate_day'];
        $deptDate_mon=$_POST['deptDate_mon'];
        $deptDate_year=$_POST['deptDate_year'];
        
        $arrivalday=$arrDate_year."-".$arrDate_mon."-".$arrDate_day;
        $departuredate=$deptDate_year."-".$deptDate_mon."-".$deptDate_day;
        
        if($arrivalday >= $departuredate)
    {
        echo "<h2>Your arrival date cannot be greater than your departure date</h2>";
        
    $query = "SELECT * FROM `room_desc_t` t LEFT JOIN `reservations_t` r WHERE t.room_type='{$RoomType}'
    AND room_smoking='{$SmokingYesNo}' AND r.res_arrival_date >= '{$Arrival}' AND r.res_departure_date < '{$Departure}'";
    $result = mysql_query($query) or die("Unable to execute query: ".mysql_error()); //(mysql_error());
    
    if (mysql_num_rows($result) > 0)
    {
        echo"<table cellpadding=\"2\" cellspacing=\"2\" border=\"2\">";
        while ($line = mysql_fetch_array($result, MYSQL_ASSOC))
        {
            echo"<tr>";
            foreach ($line as $col_value)
            {
                echo"<td>$col_value</td>";
            }
            echo"</tr>";
        }
        echo"</table>";
    }
    else
    {
        echo"<p>There is no availability for these dates</p>";
    }
?>[/code]

Share this post


Link to post
Share on other sites
[!--quoteo(post=362415:date=Apr 6 2006, 09:11 PM:name=earl_dc10)--][div class=\'quotetop\']QUOTE(earl_dc10 @ Apr 6 2006, 09:11 PM) [snapback]362415[/snapback][/div][div class=\'quotemain\'][!--quotec--]
it may be to the fact that you have 6 opening brackets, but only 4 closing ones
[/quote]

Thanks for that!
I spotted the missing brackets when I went back working on the code and put them in but I'm still getting the same weird error. I've only started php and am likely to make silly mistakes - any more ideas on what could be wrong.

Share this post


Link to post
Share on other sites
Please post you're corrected code.

Ken

Share this post


Link to post
Share on other sites
I see you indent your code, but in an irregular way so your code blocks dont line up. You should of added two closing braces just before the closing PHP tag (?>). Here is you corrected code:
[code]<?php require_once('Connections/xxx.php');

if($_GET['action'] == "xxxxxxxx")
{
    $arrDate_day   = $_POST['arrDate_day'];
    $arrDate_mon   = $_POST['arrDate_mon'];
    $arrDate_year  = $_POST['arrDate_year'];
    $RoomType      = $_POST['RoomType'];
    $SmokingYesNo  = $_POST['SmokingYesNo'];
    $deptDate_day  = $_POST['deptDate_day'];
    $deptDate_mon  = $_POST['deptDate_mon'];
    $deptDate_year = $_POST['deptDate_year'];

    $arrivalday    = $arrDate_year . "-" . $arrDate_mon . "-" . $arrDate_day;
    $departuredate = $deptDate_year . "-" . $deptDate_mon . "-" . $deptDate_day;

    if($arrivalday >= $departuredate)
    {
        echo "<h2>Your arrival date cannot be greater than your departure date</h2>";

        $query = "SELECT * FROM `room_desc_t` t LEFT JOIN `reservations_t` r WHERE t.room_type='{$RoomType}' AND
        room_smoking='{$SmokingYesNo}' AND r.res_arrival_date >= '{$Arrival}' AND r.res_departure_date < '{$Departure}'";

        $result = mysql_query($query) or die("Unable to execute query: ".mysql_error()); //(mysql_error());

        if (mysql_num_rows($result) > 0)
        {
            echo"<table cellpadding=\"2\" cellspacing=\"2\" border=\"2\">";

            while ($line = mysql_fetch_array($result, MYSQL_ASSOC))
            {
                echo"<tr>";

                foreach ($line as $col_value)
                {
                    echo"<td>$col_value</td>";
                }

                echo"</tr>";
            }

            echo"</table>";
        }
        else
        {
            echo"<p>There is no availability for these dates</p>";
        }
    } //this one and the one below it was missing, causeing the error.
}
?>[/code]

Share this post


Link to post
Share on other sites
[!--quoteo(post=362472:date=Apr 7 2006, 05:11 AM:name=wildteen88)--][div class=\'quotetop\']QUOTE(wildteen88 @ Apr 7 2006, 05:11 AM) [snapback]362472[/snapback][/div][div class=\'quotemain\'][!--quotec--]
I see you indent your code, but in an irregular way so your code blocks dont line up. You should of added two closing braces just before the closing PHP tag (?>). Here is you corrected code:
[code]<?php require_once('Connections/xxx.php');

if($_GET['action'] == "xxxxxxxx")
{
    $arrDate_day   = $_POST['arrDate_day'];
    $arrDate_mon   = $_POST['arrDate_mon'];
    $arrDate_year  = $_POST['arrDate_year'];
    $RoomType      = $_POST['RoomType'];
    $SmokingYesNo  = $_POST['SmokingYesNo'];
    $deptDate_day  = $_POST['deptDate_day'];
    $deptDate_mon  = $_POST['deptDate_mon'];
    $deptDate_year = $_POST['deptDate_year'];

    $arrivalday    = $arrDate_year . "-" . $arrDate_mon . "-" . $arrDate_day;
    $departuredate = $deptDate_year . "-" . $deptDate_mon . "-" . $deptDate_day;

    if($arrivalday >= $departuredate)
    {
        echo "<h2>Your arrival date cannot be greater than your departure date</h2>";

        $query = "SELECT * FROM `room_desc_t` t LEFT JOIN `reservations_t` r WHERE t.room_type='{$RoomType}' AND
        room_smoking='{$SmokingYesNo}' AND r.res_arrival_date >= '{$Arrival}' AND r.res_departure_date < '{$Departure}'";

        $result = mysql_query($query) or die("Unable to execute query: ".mysql_error()); //(mysql_error());

        if (mysql_num_rows($result) > 0)
        {
            echo"<table cellpadding=\"2\" cellspacing=\"2\" border=\"2\">";

            while ($line = mysql_fetch_array($result, MYSQL_ASSOC))
            {
                echo"<tr>";

                foreach ($line as $col_value)
                {
                    echo"<td>$col_value</td>";
                }

                echo"</tr>";
            }

            echo"</table>";
        }
        else
        {
            echo"<p>There is no availability for these dates</p>";
        }
    } //this one and the one below it was missing, causeing the error.
}
?>[/code]
[/quote]

Thanks,

Will try this out tonight and hopefully have success - Thanks again

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.