javascript Laravel导航到HTML表格的下一页(分页)

huwehgph  于 2023-05-21  发布在  Java
关注(0)|答案(1)|浏览(372)

我有一个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);
        }
    });
}
2jcobegt

2jcobegt1#

如果你使用Laravel,你可以在Controller中:$users=User::orderBy('id', 'desc')->paginate(20);
在blade.php中,您可以在表....调用{{$users->links()}}你需要计数器..

相关问题