私はボタンプラグインでdatatablesを使用しています。私はサーバーに送信する必要がある変数に基づいて表示されるコンテンツをフィルタリングする2つのボタンがあるので、ajax URLはボタンを1つクリックするたびに変更する必要があります。datatablesボタンは、送信された変数に基づいてコンテンツを変更/フィルタリングします
$('#example').DataTable({
processing: true,
lengthChange: false,
dom: 'Bfrtip',
ajax: {
url: '/get?op=10',
dataSrc: ''
},
columns: [
{ data: 'id' },
{ data: 'name' },
{ data: 'surname' },
{ data: 'phone' },
{ data: 'email' },
{ data: 'nin' }
],
buttons: [
{
text: 'Everyone',
// action ??
},
{
text: 'Owners',
},
{
text: 'Applicants',
}
],
select: true
});
3番目のボタンは、ajaxのURLを元のURLにリセットする必要があります。
public function get_address_book_table($id, $owner = 0) {
$mysqli = $this->aet->getAetSql();
$mysqli->set_charset('utf8');
switch ($owner) {
case 0: $a = $b = NULL; break;
case 1: $a = 'pd.applicant_id'; $b = 'INNER JOIN property_demand pd ON pd.applicant_id = ab.id'; break;
case 2: $a = 'po.owner_id'; $b = 'INNER JOIN property_owner po ON po.owner_id = ab.id'; break;
}
$query = 'SELECT ab.*, sab.*' . $a . '
FROM address_book ab
INNER JOIN staff_address_book sab ON sab.contact_id = ab.id' .
$b . '
WHERE sab.staff_id = ?';
if ($stmt = $mysqli->prepare($query)) {
$stmt->bind_param('s', $id);
$stmt->execute();
$stmt->bind_result($id, $name, $surname, $phone, $email, $nin, $note, $a, $b);
$data = [];
while ($stmt->fetch()) {
$nestedData = [];
$nestedData['id'] = $id;
$nestedData['name'] = $name;
$nestedData['surname'] = $surname;
$nestedData['phone'] = $phone;
$nestedData['email'] = $email;
$nestedData['nin'] = $nin;
$data[] = $nestedData;
}
}
return $data;
}
とGETファイル:テーブルは新しいサーバーで更新されるように、私は、私はクリックでAJAX URLを変更することができ、ボタンプラグインのオプションを探しています
// address_book table
if ($op === 10) {
$owner = isset($_GET['owner']) ? (int) $_GET['owner'] : 0;
$result = $functions->get_address_book_table($staff->getId(), $owner);
header('Content-type: text/json');
header('Content-type: application/json');
echo json_encode($result);
}
コンテンツ。
誰かにコードを提供してもらいたいですか?何かを試してみてください(必要な場合は研究してください)。そして、援助が必要な場合は、私たちはあなたを助けることができます。 –
はい、申し訳ありませんが、私はすでに研究を行っています(私はそれを忘れてしまった)が、役に立たなかった。私はドキュメントを読んできましたが、動作しないものの例しか見つけられませんでした:https://datatables.net/extensions/tabletools/button_options 'sAjaxUrl'オプションは、ボタンの仕組みがわからないplugin ... –
"このパラメータは、Ajaxボタンのデフォルトの 'fnClick'関数によって、Ajaxリクエストの送信先を定義するために使用されます。 { "aButtons":[{ "sExtends": "AJAX"、 "sAjaxUrl": "remote.php" }] }は '' "remote.php" ' "oTableTools" のいくつかのバリエーション'はあなたの' get_address_book_table($ id、$ owner = 0) 'を指しているURLであり、あなたのサイトに何があるのかわからない。 –