【发布时间】:2018-06-05 06:47:10
【问题描述】:
这是我的第一篇文章,请原谅我。 我有一个名为 messdata.blade.php 的页面。我想为每个术语 id 更新此页面的数据表。
我的路线会是这样的
/admin/messdata/1,
/admin/messdata/2,
/admin/messdata/3.
这里 1,2,3 是术语 id。我想在数据表中显示messdata。
但是虽然我更改了 id,但我的数据表仍然停留在第一个 id 上并且没有改变。
这是我的控制器代码。
public $termid=1;
public function showmess($id)
{
$this->termid=$id;
return view('foradmin.mess.messdata');
}
public function showmessdata()
{
$users= DB::select('select * from messes where termno = :termno', ['termno' => $this->termid]);
return Datatables::of($users)
->addColumn('action', function ($user) {
return "<a href='/admin/perterminfo/$user->id' class='btn btn-xs btn-primary'></i><span class=\"glyphicon glyphicon-folder-open\"></span> OPEN</a>";
})
->make(true);
}
这是我在 java-script 中的 data-table 代码。
<script>
var table;
$(function() {
table=$('#users-table').DataTable({
processing: true,
serverSide: true,
ajax: '{!! route('admin.messdatashow') !!}',
columns: [
{data:'id',name:'id',searchable: false},
{data: 'messno', name: 'messno' },
{data: 'startat', name: 'startat',searchable: false },
{data: 'finishat', name: 'finishat',searchable: false },
{data:'messfee',name:'messfee', searchable: false},
{data:'extrafee',name:'extrafee', searchable: false},
{data:'fine',name:'fine',searchable: false},
{data: 'action', name: 'action', orderable: false, searchable: false},
]
});
});
</script>
这是我的路线。
Route::get('admin/messdata/{id}','MessController@showmess')->name('admin.messdata');
Route::get('admin/messdatashow','MessController@showmessdata')->name('admin.messdatashow');
【问题讨论】:
-
欢迎来到 StackOverflow。请看How to ask a good question
-
添加您的代码。现在还不清楚你到底想做什么。
-
先生,现在我已经给出了我的代码。请看一下。
-
我不清楚你的要求,但我猜你正在做的事情是不应该做的。您正在从一条路线更改 id,然后尝试从另一条路线捕获与该 id 相关的数据!我认为这不是 php 的工作方式,当您点击第二条路线时,整个脚本都会运行,并且您已设置
$termid = 1,这应该始终显示 id 1 的数据并且永远不会更改。您必须在请求之间使 id 更改持久化才能正确显示数据。我认为您要做的事情可以通过第二条路线直接完成,只需向其中添加 id 参数即可。 -
有几个术语。每个术语都有几个混乱。我想为每个术语 id 更新数据表。对于每个术语 id,数据表将显示不同的混乱数据。请参见上面添加的图片。
标签: javascript jquery laravel datatables