JSON编码以创建表

时间:2015-01-04 01:33:11

标签: php json

我如何最终将以下代码放入表格或可查看格式中。

$query = 
  "SELECT title, descr FROM details";

$result = mysqli_query($connection,$query);

$details = array();
while ($row = mysqli_fetch_assoc($result)) {
  array_push($details, $row);
}

echo json_encode($details);

1 个答案:

答案 0 :(得分:0)

不需要对结果进行json编码,但是制作表格时我喜欢制作一个json模板文件来指示如何构造表格以便我可以轻松地进行更改。

// this would normally be located elsewhere.
$templateJson = '"columns": {

    "title":{
        "title": "Title",
        "class": "title"
    },
    "descr":{
        "title": "Description",
        "class": "descr"
    }
}';

$template = json_decode($templateJson);

if(is_array($details))
{
    $markup = "<table><thead><tr>";

    foreach($template["columns"] as $col=>$format)
    {
        $markup .= '<th class="'.$format['class'].'">';
        $markup .= $format['title'];
        $markup .= '</th>';
    }

    $markup .= "</tr></thead><tbody>";  

    foreach($details as $i=>$row)
    {
        $markup .= '<tr>';  
        foreach($template as $col=>$format)
        {
            $markup .= '<td>'.$row[$col].'</td>';
        }
        $markup .= '</tr>';
    }

    $markup .= "</tbody></table>";  
}

echo $markup;

我倾向于采用比我可能应该做的更多的循环,可能有更优化的方法,但这会给你有效的表格标记。