dflow Posted March 23, 2011 Share Posted March 23, 2011 i have installed a calendar i want to extract the available id_item that are not id_state=1(booked) i want to query all the items that are not booked the dates: $fromdate=22-03-2011; $todate=25-03-2011; this is bookings.php mysql_select_db($database_international, $international); $query_RsBookingIO = sprintf("SELECT * FROM `bookings` LEFT JOIN bookings_items ON bookings.id_item = bookings_items.id WHERE dateDIFF (2011-03-22, 2011-03-25) and bookings.id_state ='1' LIMIT 0 , 30 ", GetSQLValueString($colname_RsBookingIO, "int")); $RsBookingIO = mysql_query($query_RsBookingIO, $international) or die(mysql_error()); $row_RsBookingIO = mysql_fetch_assoc($RsBookingIO); <?php do { echo $row_RsBookingIO['the_date']; ?> <?php } while ($row_RsBookingIO = mysql_fetch_assoc($RsBookingIO)); ?> now when creating the searchfunction.php <?php $data = file_get_contents('http://localhost/bookings.php?fromdate=$fromdate and todate=$todate'); $fromdate = $_GET['fromdate']; $todate = $_GET['todate']; $dates = explode(' ',$data); var_dump($data); foreach($dates as $aDate) { echo $aDate; //$aDate = '\''.$aDate.'\''; if (!in_array($aDate, $dates)) { $available = true; } } return $available; ?> //tables CREATE TABLE `bookings` ( `id` int(11) NOT NULL AUTO_INCREMENT, `id_item` int(20) NOT NULL DEFAULT '0', `the_date` date NOT NULL DEFAULT '0000-00-00', `id_state` int(11) NOT NULL DEFAULT '0', `id_booking` int(10) NOT NULL DEFAULT '0', PRIMARY KEY (`id`), KEY `id_item` (`id_item`), KEY `id_state` (`id_state`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=12 ; -- -- Dumping data for table `bookings` -- INSERT INTO `bookings` VALUES(1, 2, '2011-03-22', 1, 0); INSERT INTO `bookings` VALUES(3, 2, '2011-03-23', 1, 0); INSERT INTO `bookings` VALUES(4, 2, '2011-03-24', 1, 0); INSERT INTO `bookings` VALUES(5, 2, '2011-03-25', 1, 0); INSERT INTO `bookings` VALUES(6, 2, '2011-03-26', 1, 0); INSERT INTO `bookings` VALUES(7, 3, '2011-03-23', 1, 0); INSERT INTO `bookings` VALUES(8, 3, '2011-03-24', 1, 0); INSERT INTO `bookings` VALUES(9, 3, '2011-03-25', 1, 0); INSERT INTO `bookings` VALUES(10, 3, '2011-03-26', 1, 0); INSERT INTO `bookings` VALUES(11, 3, '2011-03-27', 1, 0); CREATE TABLE `bookings_items` ( `id` int(11) NOT NULL AUTO_INCREMENT, `id_user` int(11) NOT NULL DEFAULT '1', `id_ref_external` int(11) NOT NULL COMMENT 'link to external db table', `desc_en` varchar(100) NOT NULL DEFAULT '', `desc_es` varchar(100) NOT NULL DEFAULT '', `list_order` int(11) NOT NULL DEFAULT '0', `state` tinyint(1) NOT NULL DEFAULT '1', PRIMARY KEY (`id`), KEY `id_user` (`id_user`), KEY `id_ref_external` (`id_ref_external`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ; -- -- Dumping data for table `bookings_items` -- INSERT INTO `bookings_items` VALUES(1, 1, 4600, 'Suite_A', 'Suite_A', 2, 1); INSERT INTO `bookings_items` VALUES(2, 1, 4601, 'Suite_B', 'Suite_B', 2, 1); Link to comment https://forums.phpfreaks.com/topic/231494-get-booking-dates/ Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.