Пожалуйста, исправьте мой код, потому что я не знаю, как правильно заполнить загрузочную таблицу базой данных MySQL формы данных. Я предполагаю, что проблема в несовместимом формате отправки данных с требуемым форматом загрузочной таблицы. Как вы видите ниже, я пробовал оба способа загрузки, но ни один из них не работает, и я хочу, чтобы вы использовали метод post.
HTML-код:
<table id="stable">
<thead>
<tr>
<th data-field="id">id</th>
<th data-field="name">name</th>
</tr>
</thead>
</table>
PHP-код:
if (!empty($_POST["tab"])) {
$sql = "SELECT id, name FROM tab";
$result = mysqli_query($conn, $sql);
$values = array();
while ($row = mysqli_fetch_array($result)){
$values[] = $row["id"].",".$row["name"];
}
echo json_encode($values);
}
JS код:
var t = [
{ "id": "1",
"name": "john"},
{ "id": "2",
"name": "ted"}
];
var tab = "stat";
$.post(
"pfile.php",
{ tab },
function(data) {
//$('#stable').bootstrapTable('load', data);
$('#stable').bootstrapTable({
data: data //t
});
},
"json");
Если я назначу data: t
тогда это работает правильно. Если я использую data: data
тогда я получаю это:
alert(t)
дает мне [object Object],[object Object]
поэтому я должен как-то создать и передать массив объектов из php-файла.
Я наконец-то начал работать с базой данных MySQL. Я не мог найти ответ в Интернете, так как мне было нужно (я видел несколько вопросов о том же самом), поэтому я пишу здесь, возможно, кто-то будет в подобной ситуации. Теперь исправление выглядит так просто, что я удивляюсь, почему никто еще не ответил. В общем, мне нужно было изменить только эту строку: $values[] = $row;
Ссылаясь на мой пост и складывая все вместе:
PHP-код:
if (!empty($_POST["tab"])) {
$sql = "SELECT id, name FROM tab";
$result = mysqli_query($conn, $sql);
$values = array();
while ($row = mysqli_fetch_array($result)){
$values[] = $row;
}
echo json_encode($values);
}
JS код:
var tab = "stat";
$.post(
"pfile.php",
{ tab },
function(data) {
$('#stable').bootstrapTable({
data: data
});
},
"json");
Других решений пока нет …