JakkyD Posted March 27, 2011 Share Posted March 27, 2011 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 More sharing options...
Skewled Posted March 27, 2011 Share Posted March 27, 2011 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. Link to comment https://forums.phpfreaks.com/topic/231882-how-to-retrieve-available-slots/#findComment-1192978 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.