I would like to create a two-dimensional table, in which the x-axis is the dates (with title format) and the axis and the names of the data (also with title format).
I collect data from a JSON:
{"dataval": [
{
"date":"2014-01-01 00:00:00",
"value":25776510,
"name":"Nom1"
},
{
"date":"2014-02-01 00:00:00",
"value":789,
"name":"Nom1"
},
{
"date":"2014-01-01 00:00:00",
"value":0,
"name":"Nom2"
},
{
"date":"2014-02-01 00:00:00",
"value":0,
"name":"Nom2"
}
]}
I try to traverse the data and join them in a string but I can not get it.
for (var i = 0; i < data.dataval.length; i++) {
date_now = data.dataval[i]['date'];
name_now = data.dataval[i]['name'];
if (i == 0){
date = date_now;
date_bef = date_now;
table += "<th>" + date + "</th>";
name = name_now;
name_bef = name_now;
table += "<th>" + name + "</th>";
}else{
date_bef = data.dataval[i-1]['date'];
name_bef = data.dataval[i-1]['name'];
}
if (date_bef != date_now){
date = date_now;
table += "<th>" + date + "</th>";
}
if (name_bef != name_now){
name = name_now;
names_col += "<th>" + name + "</th>";
}
name = data.dataval[i]['name'];
value = data.dataval[i]['value'];
table += '<tr>' + value + '</tr>';
}
table +="</tr>";
table += "</table>";
$("#tbody_tabla").html(table);
I would also like to add that the final result in HTML would be:
<table style="width:100%">
<tr>
<th></th>
<th>2014-01-01 00:00:00</th>
<th>2014-02-01 00:00:00</th>
</tr>
<tr>
<th>Nom1</th>
<td>25776510</td>
<td>789</td>
</tr>
<tr>
<th>2014-02-01 00:00:00</th>
<td>0</td>
<td>0</td>
</tr>
</table>