2016-01-19 78 views
0

請更正我的代碼,因爲我不知道如何正確填充mysql數據庫的數據形式的引導表。我猜這個問題是發送數據與所需格式的bootstrap-table不兼容的格式。正如你在下面看到的,我嘗試了兩種加載方式,但都沒有工作,我希望你使用post方法。bootstrap-table:如何使用ajax post從mysql數據庫加載數據?

的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然後我得到這樣的: enter image description here

alert(t)給我[object Object],[object Object]所以我應該創建和某種方式傳遞來自PHP文件的對象數組。

+0

所以你需要什麼格式以及你現在擁有什麼?我想你的手動串聯的逗號分隔的字符串是問題。 – jeroen

+0

@soonic包括問題中所需的數據。此外,添加一個更具體的描述是什麼是不希望發生的事情。 「沒有一個人工作」不足以解釋問題。 –

+0

對不起,我更新了我的帖子,希望現在更清楚。我不知道如何正確編寫我的php代碼,所以它會像't'變量顯示那樣發送數組。 – soonic

回答

1

我終於得到它與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" 
); 
相關問題