hi
the last booking code was a mess so ive tried to change it but i still seem to be getting an error with my query which is:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'then = 1 else = 0' at line 3
line 3 is just somewhere in query2
wot i need the code to do is
make sure that no-one can double book
check if the start date is before the end date (this works fine)
check if the dates are available according to the accommID
if the dates are available then put the details into the booking table (the insert query which also works)
if(isset($_POST['submit'])){
require_once("config.php");
$connection = @mysql_connect($db_host, $db_user, $db_password) or die("oops! error connecting");
mysql_select_db($db_name, $connection);
$accommID = $_POST ["accommID"];
$book_start = $_POST ["booking_start_date"];
$book_end = $_POST ["booking_end_date"];
$flag = $_POST ["flag"];
$date1 = $book_start; //booking start date
$date2 = $book_end; //booking end date
$timestamp1 = strtotime($date1);
$timestamp2 = strtotime($date2);
//if the start date is after the end date
if($timestamp1 > $timestamp2){
echo "Please enter a Booking Start Date that is before the Booking End Date";
}
//if the start date is before the end date
elseif ($timestamp1 < $timestamp2){
//check if the dates given are both before or both after the dates that are already in the database then the accomm is available
//set the flag to 1 so that no-one else can book for them same dates while this customer is going through the booking stages
$query2 = "select $accommID from booking group by $accommID
having sum(case when ((booking_start_date < $book_start && booking_end_date < $book_end) || (booking_start_date > $book_start && booking_end_date > $book_end)
then $flag = 1 else $flag = 0";
$result2 = mysql_query ($query2) or die(mysql_error());
echo "The dates are available";
}//closes elseif
elseif (!$result2){
echo "The dates are not available";
}
$query = "INSERT INTO booking (booking_start_date, booking_end_date, accommID, flag) VALUES ('$book_start','$book_end','$accommID','$flag')";
$result = mysql_query($query) or die (mysql_error());
if(!$result){
echo "Booking not added
</td>
</table>";
}
echo "</td>
</table>";
}
else {
$accommid = $_POST['accommID'];
?>
<form action ="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<input type=hidden name=accommID value="<?=$accommid?>">
<p align="center"> </p>
<p align="center"><u>Booking Start Date (YYYY/MM/DD):</u> <input type="text" name="booking_start_date" size="20"></p>
<p align="center"><u>Booking End Date (YYYY/MM/DD) :</u> <input type="text" name="booking_end_date" size="20"></p>
<p> </p>
<p><input type="submit" name=submit value="Submit"></p>
</form>
</td>
</table>
<?
} //closes else above
hope ppl can understand wot im trying to implement
thanks