Hi Daniel and all.
It's better now, i've not the same error, but another one.
My objet is formated like this now:
{"cols":
[{"label":"Room","type":"string"},{"label":"Name","type":"string"},{"label":
"Start","type":"date"},{"label":"End","type":"date"}],
"rows":
[{"c":[{"v":"Room 200"},{"v":"Danard Franck *"},{"v":"DATE(2017,0,28)"},{"v"
:"DATE(2017,0,31)"}]},
{"c":[{"v":"Room 201"},{"v":"Danard Franck *"},{"v":"DATE(2017,0,29)"},{"v"
:"DATE(2017,0,31)"}]}
]}
But i've this error instead of timeline.* Invalid data table format: must
have 3 or 4 data columns.*
Something is wrong in my build?
Regards
Le vendredi 27 janvier 2017 15:50:47 UTC+1, franck danard a écrit :
>
> Hi all.
>
> I've some problems to get some datas with JSON.
> I've PHP function which send the value like this.
>
> $_booking = $this->getPMSbooking("");
> foreach($_booking as $key => $value){
> $confirmed = $value["confirmed"];
> $conf = "";
> if($confirmed == "0")
> $conf = "*";
> list($_date_ci, $time_ci) = explode(" ",$value[
> "date_ci"]);
> list($yci, $mci, $dci) = explode("-",
> $_date_ci);
> $mci = strval(intval($mci)-1);
> $dtci = array($yci, $mci, $dci);
> list($_date_co, $time_co) = explode(" ",$value[
> "date_co"]);
> list($yco, $mco, $dco) = explode("-",
> $_date_co);
> $mco = strval(intval($mco)-1);
> $dtco = array($yci, $mci, $dco);
> $_rooms = $this->getPMS_all_rooms("id = ".
> $value["room_id"]);
> $_guest = $this->getPMS_all_guest("id = ".
> $value["guest_id"]);
> $room_name = $_rooms[0]["room_name"];
> $guest_name = $_guest[0]["last_name"]." ".
> $_guest[0]["first_name"]." ".$conf;
> $data[$key] = array($room_name, $guest_name,
> $dtci, $dtco );
> }
>
> return json_encode($data, JSON_NUMERIC_CHECK);
>
> Next, i put in my page this.
>
>
> <script type="text/javascript" src="
> https://www.gstatic.com/charts/loader.js"></script>
> <script type="text/javascript">
> google.charts.load("current", {packages:["timeline"]});
> google.charts.setOnLoadCallback(drawChart);
> function drawChart() {
> $.ajax({
> url: "ajax.php?module=ddd&booking=1",
> dataType:"json",
> success: function (json) {
>
> var container = document.getElementById('timeline');
> var chart = new google.visualization.Timeline(container);
> var dataTable = new google.visualization.DataTable();
> console.debug(json);
> dataTable.addColumn({ type: 'string', id: 'Term' });
> dataTable.addColumn({ type: 'string', id: 'Name' });
> dataTable.addColumn({ type: 'date', id: 'Start' });
> dataTable.addColumn({ type: 'date', id: 'End' });
>
> dataTable.addRows(json);
>
> chart.draw(dataTable);
> }
> });
> }
> </script>
>
> But it doesn't' display anything.
>
> Message returns this :
>
> [["Room 200","Danard Franck *",[2017,0,28],[2017,0,31]],["Room 200","Danard
> Franck *",[2017,0,29],[2017,0,31]]]
>
> Sure, something is wrong in my code, but i don't know what.
>
> The format gave by google looks like this:
>
> dataTable.addRows([ [ '1', 'George Washington', new Date(1789, 3, 30), new
> Date(1797, 2, 4) ],
> [ '2', 'John Adams', new Date(1797, 2, 4), new
> Date(1801, 2, 4) ],
> [ '3', 'Thomas Jefferson', new Date(1801, 2, 4), new
> Date(1809, 2, 4) ]]);
>
> I think that are the sames.
>
>
> Could you help me please.
>
> Regards
>
>
>
>
--
You received this message because you are subscribed to the Google Groups
"Google Visualization API" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/google-visualization-api.
To view this discussion on the web visit
https://groups.google.com/d/msgid/google-visualization-api/e208c11c-d020-4c60-879b-33bc754021a9%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.