how can i calculate age from birthday ( birthday is stored on my dataabse) and view on my cgridview view?
how can i calculate age from birthday ( birthday is stored on my dataabse) and view on my cgridview view?
Hi
check this example
$datetime1 = new DateTime('the birthday date from database');
$datetime2 = new DateTime();
$diff = $datetime1->diff($datetime2);
$diff->y //years
$diff->m //months
$diff->d //days
but there is more correct way directly from database. If you want it please inform us ![]()
You can use This Post to calculate difference.
In cgrid view pass current date to a function which return calculated result.
// This code in gridview for column
array(
'name'=>'bdate',
'filter'=>'',
'value'=>'getBdateCalculation($data->bdate)',
),
//Function that calculate result
function getBdateCalculation($bdate)
{
//Calculation here
return $result;
}
Kiran gave us the left part of the solution!
just add in getBdateCalculation like that
function getBdateCalculation($bdate)
{
$datetime1 = new DateTime($bdate);
$datetime2 = new DateTime();
$diff = $datetime1->diff($datetime2);
return $diff->y;
}
thank you for help guys…
but the result is not correct this is my code:
on my model
function getBdayCalculation($bday)
{
$datetime1 = new DateTime($bday);
$datetime2 = new DateTime();
$diff = $datetime1->diff($datetime2);
return $diff->y;
}
on my Cgridview:
array(
‘name’=>‘bday’,
‘filter’=>$model,
‘value’=> CHtml::encode($model->getBdayCalculation($model->bday)),
),
i got result of 0.
put the method getBdayCalculation to the controller
replace
'value'=> CHtml::encode($model->getBdayCalculation($model->bday)),
with
'value'=> CHtml::encode($this->getBdayCalculation($data->bday)),
Also check if the values are corrected using var_dump
Make sure your $bday is in ‘Y-m-d’, and KonApaz’s update is correct.
Undefined variable: data
this is my code on cgridview
this view is on my admin cgridview
‘value’=> CHtml::encode($this->getBdayCalculation($data->bday)),
try this
'value' => 'CHtml::encode($this->getBdayCalculation($data["bday"]))',
PROBLEM SOLVE
sorry its all my bad the code on my cgridview is wrong thank you all for the help specially to konapz…
my code on cgridview admin page: ‘value’=>’$data->getBdayCalculation($data->bday)’,