2015-01-04 2 views
-2

Как я могу в конечном итоге поместить следующий код в таблицу или в виде просмотра.JSON encode для создания таблицы

$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); 
+0

не нужен json для этого, не так ли? почему бы вам не повторять свои строки в таблице, а не вставлять их в массив? – JFK

ответ

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; 

Я склонен делать путь больше петель, чем я, вероятно, хотя, может быть более оптимальный путь, но это даст вам правильный таблицы разметки.