2012-08-16 48 views
1

内的具体日期我有一个表events添加天数组

`id` int(10) unsigned NOT NULL AUTO_INCREMENT, 
`data` date DEFAULT NULL, 
`days` int(2) DEFAULT NULL, 
PRIMARY KEY (`id`) 

了多项纪录。

我产生了所有可用日期

$sql = "SELECT * FROM events WHERE `data` LIKE '".$cYear."-".$cMonth."-%'"; 
$sql_result = mysql_query ($sql, $connection) or die ('request "Could not execute SQL query" '.$sql); 
while ($row = mysql_fetch_assoc($sql_result)) { 
$unavailable[] = $row["data"]; 
$days[] = $row["days"]; 
} 

数组$不可用的是这样的一个数组:(2012-08-10,2012-08-25) 数组$天是这样的:( 3,2)

我需要一个这样的数组:(2012-08-10,2012年8月11日,2012年8月12日,2012-08-25,2012年8月26日)

谢谢!

回答

1

这是一些代码,可以生成你想要的东西。

<?php 

$unavailable = array('2012-08-10', '2012-08-25'); 
$days = array(3, 2); 

$dates = array(); 
for ($i = 0; $i < count($days); $i++) 
{ 
    $tm = strtotime($unavailable[$i]); 
    for ($d = 0; $d < $days[$i]; $d++) 
    { 
     $dates[] = date('Y-m-d', $tm + $d * 24 * 60 * 60); 
    } 
} 
print_r($dates); 
?> 

你可以移动这个代码进入,同时你的代码的循环,以防止创建$不可用,$天阵列

+0

谢谢!工作中。 :) – 2012-08-16 11:00:01

+0

“投票要求15声望”我有8 :( – 2012-08-17 07:07:24