Я создаю динамическую таблицу, которая может быть изменена с панели управления admin, и я храню данные в массиве массивов в столбце базы данных следующим образом:
Пример: tableBody: [['test', 'test 2'], ['1', '2']]
то я хочу вывести таблицу на front-end следующим образом:
<table>
<?php
$arrayFromDB = mysqli_fetch_array(mysqli_query($con, "select * from specialtable where id='$tableId'"))['tableBody'];
$body = "";
$tableArray = (how to convert to array this string $arrayFromDB);
foreach ($tableArray as $key) {
$body.= "<tr>";
foreach ($key as $keyt) {
$body.= "<td>".$keyt."</td>";
}
$body.="</tr>";
}
echo $body;
?>
</table>
РЕШЕНИЕ: проблема была в том, как я хранил это неправильно. В основном я json_decode()
виде, что эквивалентно json только, что я использовал "вместо". Теперь я могу просто использовать json_decode()
Вы должны сохранить свой массив в строке в mysql DB, используя ниже php-функцию.
//for eg Define array
$array = array();
$array[0][] = 'test';
$array[0][] = test 2;
$array[1][] = 'test';
$array[1][] = test 2;
// convert array to json
json_encode($array);
Теперь, когда вы извлекаете эти данные из базы данных mysql, просто декодируйте эту строку.
$arrayFromDB = mysqli_fetch_array(mysqli_query($con, "select * from specialtable where id='$tableId'"))['tableBody'];
$decodedStrArray = json_decode($arrayFromDB);
Его расшифрованный массив...