показать данные из JSON

Я пытаюсь показать таблицу из JSON, но не удалось, что не так с этим:

$nip=$_POST['nip'];
$sql = "select satker,shift_description,nip  FROM jamkerja
inner join master_shift on master_shift.shiftno=jamkerja.shiftno
inner join tr_jamkerjahdr on jamkerja.id_jamkerja=tr_jamkerjahdr.id_jamkerja
inner join tr_jamkerjamember on tr_jamkerjamember.trno=tr_jamkerjahdr.trno
where nip='$nip' ";

$result = $con->query($sql);

$data = array();
while($row = mysqli_fetch_assoc($result)){
$data[] = $row;
}
print $data;

И это таблица:

$json = $data;
$json_decoded = json_decode($json);
foreach($json_decoded as $data12){
echo '<tr>';
echo '<td>'.$data12[satker].'</td>';
echo '<td>'.$data12[shift_description].'</td>';
echo '<td>'.$data12[nip].'</td>';
echo '</tr>';

}

0

Решение

Вам не нужно $json_decode. Просто цикл через ваш массив $data,

удалить :

$json = $data;
$json_decoded = json_decode($json);

и измените цикл foreach, добавив табличный тег.Также добавьте одноместный к вашим индексам массива:

   echo '<table>';
foreach($data as $data12){
echo '<tr>';
echo '<td>'.$data12['satker'].'</td>';
echo '<td>'.$data12['shift_description'].'</td>';
echo '<td>'.$data12['nip'].'</td>';
echo '</tr>';

}

echo '</table>';
0

Другие решения

Не уверен, что я полностью понимаю ваш вопрос.
Но позвольте мне попытаться помочь вам. Я думаю, что ваша проблема вокруг

$json = $data;
$json_decoded = json_decode($json);

json_decode () здесь не нужен, $ data, который вы назначаете для $ json, является массивом типов. С кодом, которым вы поделились, я не вижу никакой необходимости в Json, вы должны напрямую циклически просматривать ваши $ data.

Надеюсь, это поможет.

0

По вопросам рекламы [email protected]