$myDb = JFactory::getDbo();
$myQuery = $myDb->getQuery(true);
$memberPlan = $formModel->getElementData('00_calendar_entry___interval_raw');
$planLabel = $formModel->getElementData('00_calendar_entry___interval');
$activationDate = $formModel->getElementData('00_calendar_entry___start_date');
$activationDate = new DateTime($activationDate);
$billingDate = $formModel->getElementData('00_calendar_entry___start_date');
$billingDate = new DateTime($billingDate);
/*switch ($plan) {
case 'monthly':
$interval = 1;
break;
case 'quartely':
$interval= 3;
break;
case 'annual':
$interval = 12;
break;
}*/
$myQuery->insert('00_calendar_inserts');
// list the fields you want to insert ...
/*$myQuery->columns(
$myDb->quoteName('start_date'),
$myDb->quoteName('interval'),
$myDb->quoteName('billing_date')
);*/
$myQuery->columns(
array(
$myDb->quoteName('start_date'),
$myDb->quoteName('interval'),
$myDb->quoteName('billing_date')
)
);
// loop around and insert the relevant number of times
for ($step = $memberPlan; $step <= 12; $step++) {
// insert the current value of $billingDate
$myQuery->values(
$myDb->quote($activationDate),
$myDb->quote($planLabel),
$myDb->quote($billingDate->format('Y-m-d'))
);
// increment the start date by a month, $interval number of times
for ($i = $memberPlan; $i <= 12; $i++) {
$billingDate->modify('+'.$i.'month');
}
}
// run the query
$myDb->setQuery($myQuery);
var_dump((string)$myQuery);exit;
$myDb->execute();