2017-11-17 4 views
0

(追加行用)のDataTableにデータを送信する方法(DataTableの)私は私のテーブルに追加するこの情報を希望</p> <p>私は、データベースから情報を取得するPHPファイル(add.php)を持っている

私が持っている

$(document).on("click", "#add", function(){ 
    $.post("/ajax/add.php", {info: number}).done(function(data){ 
    $('#fileTable').DataTable().row.add(data).draw(); 
    }); 
}); 

私add.phpファイルで、:

だから私は(私が意図的に単純化された)ことをやろう

のJavascript私は、この情報を提供します私の要求:

$a = $info['a'] 
$b = $info['b'] 
$c = $info['c'] 
$d = $info['d'] 

私はテーブルにそれらを追加するために、自分の情報を返すしたいと思いますので、私が試した:

$request = $bdd->prepare('SELECT * FROM product WHERE ...'); 
$request->execute(); 
$info = $request->fetch(); 

要求が働くが、それは私に戻っていますいくつかのこと(私のadd.phpファイルに常にあります):

echo "[$a, $b, $c, $d]"; 
echo "{0: $a, 1: $b, 2: $c, 3: $d}"; 

どうやってやりますか?

+1

に渡しているものを理解するのに役立ちます、それに失敗

var table = $('#fileTable'); table.row.add(JSON.stringify(data)).draw(); 

'? – mega6382

+0

使用しているデータベース接続は何ですか?返された 'data'には正確に何が入っていますか? – davidkonrad

+0

@ mega6382それは正常ではありません、私の投稿を変更します – Rocstar

答えて

1

datatables docsを見ると、add()関数はJSONオブジェクトを取るべきであると思わ

header("Content-type:application/json"); 
$request = $ bdd->prepare('SELECT * FROM product WHERE ...'); 
$request->execute(); 
$info = $request->fetch(); 

echo json_encode($info) 
+0

それはほぼ動作しますが、私はdatatablesにエラーメッセージがあるため、私はjsonで送信するデータを選択する** DataTables警告:テーブルid = fileTable - このエラーの詳細については、http://datatables.net/tn/4**を参照してください。 – Rocstar

+0

@Rocstarこれは、配列内の要素の数と列の数の間に不一致があることを意味しますあなたのテーブルに。 – davidkonrad

0

を試してみてください。

私があなたに何を渡しているかはわかりません。

あなたはこれを実行する必要があるかもしれません:console.log(data)、これはあなたが現在のスペースは$ `後があるなぜPHPの変数でadd()機能

+0

ありがとうございますが、データはどのように表示されますか?このように:[1,2,3,4]? – Rocstar

+0

@Rocstarは、テーブルの初期化方法によって異なります。それが純粋なDOM '

'であれば、それは文字列の配列、または文字列の配列の配列でなければなりません。テーブルがJSONソースまたはオブジェクトの配列に基づいている場合、 'data'もその構造を持つ必要があります。 – davidkonrad

+0

JSON.stringify()は、さまざまな種類の変数を処理できます。現時点でデータはどのように見えますか? https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify – charj

関連する問題