2016-01-19 125 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" 
); 
相关问题