Reputation: 397
I'm trying to get FullCalendar working on my Codeigniter app, but coming across a problem with the events showing as all day from my JSON feed.
I've found that setting "allDay":false fixes the problem (tested with a static json file) but when i store that value in a mysql DB, then return the data and run the JSON encode, it converts the False into a string, which cause the event to show as all day!
Does anybody know how i can store true or false in my DB (i'm currently storing as text) and return it to my json feed without it being a string? I've tried casting and converting but can't get anything to work!
Examples of my model/controller/json feed below;
Thanks in advance;
Model function
function show_installs()
{
return $this->db->query(
"SELECT id, client_name as title, start, end, concat('/planner/view_install/',id) as url
FROM installs WHERE completed != 2"
)->result();
}
Controller function
function json_installs()
{
$this->load->model('installs_model');
$data = array();
if($query = $this->installs_model->show_installs())
{
$data = $query;
}
$json = json_encode($data);
echo $json;
}
JSON Feed (That doesnt work because of the " around false)
[
{
"id":"18",
"title":"John",
"allDay":"false",
"start":1339585200,
"end":1339592400,
"url":"\/planner\/view_install\/18"
},
{
"id":"19",
"title":"Mike",
"allDay":"false",
"start":"1339585200",
"end":"1339592400",
"url":"\/planner\/view_install\/19"
}
]
Any help would be really appreciated - i just need to get those bloomin quote marks off from false/true and it would work perfectly!
Thanks
Upvotes: 2
Views: 1207
Reputation: 5631
Why don't you change the column type in your DB to be boolean instead of text? You could also parse your $json object to convert all booleans_as_text to booleans before you set it in the calendar - quick googling found me this:
for(var i=0; i<$json.length; i++)
$json[i]=/^true$/i.test($json[i]);
You could also set the allDayDefault
to false
to avoid set allday: false in each event.
Upvotes: 1