$month='10';
$year='2012';
$d=cal_days_in_month(CAL_GREGORIAN,$month,$year);
表结构将
day1,day2,.......,day31
(10月10日,每月31天)
答案 0 :(得分:1)
你应该用这个:
$month = '10';
$year = '2012';
$d = cal_days_in_month(CAL_GREGORIAN, $month, $year);
$sql = 'CREATE TABLE `table_name` (';
for ($i = 1; $i <= $d; $i ++)
{
$sql .= '`day' . $i . '` int(2) DEFAULT NULL';
if ($i != $d)
$sql .= ',';
}
$sql .= ') DEFAULT CHARSET=latin1';
mysql_query($sql);
答案 1 :(得分:0)
也许不是最优雅的解决方案,但它允许一点灵活性:
function getQuery($days, $tableName, $columName, $columnLength, $columnType = 'VARCHAR'){
$query = 'CREATE TABLE ' . $tableName . ' (';
for($i = 1; $i <= $days; $i++){
$query .= $columName . $i . ' ' . $columnType . '(' . $columnLength . ') NOT NULL, ';
if($i == $days){
$query .= $columName . $i . ' ' . $columnType . '(' . $columnLength . ') NOT NULL)';
}
}
return $query;
}