我有一个customer.blade.php文件,其中包含HTML代码,基本上是一个HTML <table>
,具有页眉,主体和页脚。现在我有一个包含客户数据的JSON文件,我想从JSON文件中获取数据并将其显示在HTML表体上。该表有2个按钮
<button
class="navigation-button"
id="navigation-button--next"
onclick="incrementPageCounter()"
> < </button>
Page: {{$pageCounter + 1}}
<button
class="navigation-button"
id="navigation-button--previous"
onclick="decrementPageCounter()"
> > </button>
我想要的是在每个页面上显示20行的分区,当单击按钮时,表必须显示下一个或前20行的分区。
@foreach(array_slice($partitionedCustomerTable[$pageCounter],0,20) as $customer)
有没有办法只使用PHP来处理<button>
标签的onclick
事件,或者我必须从<script>
标签>发布请求?
以下是我的努力:
我的PHP脚本:
$path = storage_path("app/public/data/json/customer_sample.json");
$jsonContent = file_get_contents($path);
$customerTable = json_decode($jsonContent, true);
$partitionedCustomerTable = array_chunk($customerTable,20,false);
$customerTableLength = count($partitionedCustomerTable);
$tablePageLimit = 20;
$pageCounter = 0;
var_dump($_POST);
if (isset($_POST->action) && $_POST->action === 'next_page')
{
$pageCounter++;
}
else if (isset($_POST->action) && $_POST->action === 'previous_page')
{
$pageCounter--;
}
else
{
echo("Error!");
}
我的内部Javascript脚本:
function incrementPageCounter(pageNumber)
{
$.ajax({
type: "POST",
url: "",
data:{ action: pageNumber + 1 },
success: function(html)
{
alert(html);
pageNumber = pageNumber + 1;
}
});
}
function decrementPageCounter()
{
$.ajax({
type: "POST",
url: "{{view('customers')}}",
data:{ action: 'previous_page' },
success: function(html)
{
alert(html);
}
});
}
1条答案
按热度按时间2jcobegt1#
如果你使用Laravel,你可以在Controller中:
$users=User::orderBy('id', 'desc')->paginate(20);
在blade.php中,您可以在表....调用
{{$users->links()}}
你需要计数器..