Jump to content

How to retrieve available slots?


JakkyD

Recommended Posts

Hello, I have a booking system which has time and date fields and if someone tries to book, for example, on 01/01/2011 at 09:00, when this slot is already taken, an error would be produced - which is fine. However I'm not sure in telling them what hours are available.

 

There are 9 available times: 09,10,11,12,13,14,15,16,17:00.

 

I will need to perform an sql query to gather all the times on the inputted date, I'm guessing a for loop would be the most efficient way?

 

The only way I could think of is using multiple IF queries, for example:

 

<?php
$sql = "SELECT `Hour` FROM `jobs` WHERE `Hour` = '09:00:00' AND Day ='$Day' AND Month ='$Month' AND Year ='$Year'";
$result = mysql_query($sql);
if(mysql_num_rows($result) > 0){
$09Available = 'n'; // Time not available
}else{
$09Available = 'y';
}

$sql = "SELECT `Hour` FROM `jobs` WHERE `Hour` = '10:00:00' AND Day ='$Day' AND Month ='$Month' AND Year ='$Year'";
$result = mysql_query($sql);
if(mysql_num_rows($result) > 0){
$10Available = 'n'; // Time not available
}else{
$10Available = 'y';
}

$sql = "SELECT `Hour` FROM `jobs` WHERE `Hour` = '11:00:00' AND Day ='$Day' AND Month ='$Month' AND Year ='$Year'";
$result = mysql_query($sql);
if(mysql_num_rows($result) > 0){
$11Available = 'n'; // Time not available
}else{
$11Available = 'y';
}

?>

 

etc. etc..

 

How would I go about creating a more efficient method?

 

Thank you, Jack.

Link to comment
https://forums.phpfreaks.com/topic/231882-how-to-retrieve-available-slots/
Share on other sites

http://php.net/manual/en/control-structures.switch.php

 

You could use switch/case so that you could see if the time was already taken and let the user know available times. This would probably help you cut down on IF/ELSE statments and make it easier to see the flow.

Archived

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

×
×
  • Create New...

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.