Yii2.0分页问题第二页不工作
如何分页?我有一个搜索表单和一个在日期范围内传递的搜索按钮。第一个页面工作正常,但是当我点击第二个页面时,它显示了所有内容。如何将日期范围传递到分页中 编辑: 下面是我的ReportSearch.php(模型) 下面是我的控制器:Yii2.0分页问题第二页不工作,yii2,Yii2,如何分页?我有一个搜索表单和一个在日期范围内传递的搜索按钮。第一个页面工作正常,但是当我点击第二个页面时,它显示了所有内容。如何将日期范围传递到分页中 编辑: 下面是我的ReportSearch.php(模型) 下面是我的控制器: $searchModel = new ReportSearch(); $dataProvider = $searchModel->searchStockMovementSummary($stockmovement_summary_from
$searchModel = new ReportSearch();
$dataProvider = $searchModel->searchStockMovementSummary($stockmovement_summary_from_sales_date, $stockmovement_summary_to_sales_date);
return $this->render('stockmovementreportsummary', [
'search' => 'true',
'dataProvider' => $dataProvider,
'from_dt' => $stockmovement_summary_from_sales_date,
'to_dt' => $stockmovement_summary_to_sales_date,
'model' => $searchModel,
]);
下面是我的index.php
$reports = $dataProvider->getModels();
$i=1;
echo "<table class='table table-striped table-bordered'>";
echo "<tr><th>#</th><th>Item</th><th>Total Summary Usage Qty</th><th>Current Stock On Hand</th><th>Measurement</th></tr>";
foreach ($reports as $report) {
$item_key = $report['report_item_key'];
$item_model = Item::find()->where(['item_key' =>$item_key])->one();
$item_e_desc_tx = $item_model->desc_e_tx;
$item_c_desc_tx = $item_model->desc_c_tx;
$item_qty_no = $item_model->qty_no;
$item_measurement_tx = $item_model->measurement;
echo "<tr>";
echo "<td>" . $i++ . "</td>";
echo "<td>" . Html::a($item_key, array('stockmovementreportdetailbyitem', 'item_key' => $item_key, 'search' => 'true', 'from_dt' => $from_dt, 'to_dt'=>$to_dt)) . "<br>" . $item_e_desc_tx . "<br>" . $item_c_desc_tx ."</td>";
echo "<td>" . $report['total_summary_usage_qty'] . "</td>";
echo "<td>" . $item_qty_no . "</td>";
echo "<td>" . $item_measurement_tx . "</td>";
echo "</tr>";
}
echo "</table>";
echo \yii\widgets\LinkPager::widget([
'pagination'=>$dataProvider->pagination,
]);
$reports=$dataProvider->getModels();
$i=1;
回声“;
echo“#项目总汇总使用量QTY现有库存量测量”;
foreach($reports作为$report报告){
$item_key=$report['report_item_key'];
$item_model=item::find()->其中(['item_key'=>$item_key])->一个();
$item_e_desc_tx=$item_model->desc_e_tx;
$item_c_desc_tx=$item_model->desc_c_tx;
$item\u qty\u no=$item\u model->qty\u no;
$item\u measurement\u tx=$item\u model->measurement;
回声“;
回显“$i++.”;
echo'.Html::a($item_key,array('stockmovementreportdetailbyitem','item_key'=>$item_key',search'=>'true','from_dt'=>$from_dt',to_dt','to_dt'=>$to_dt))。“
”$item_e_desc tx;
回显“$报告[“总使用量汇总数量]”;
回显“$项目数量号”;
回波“$item_measurement_tx.”;
回声“;
}
回声“;
echo\yii\widgets\LinkPager::widget([
“分页”=>$dataProvider->分页,
]);
应该使用GridView,但我认为它不会有帮助。您是否有可能使用POST而不是GET来过滤结果?如果您在这里查看createUrl函数,您将看到它使用getQueryParams来创建查询字符串。如果使用POST,则此函数将无法正确拾取参数,因此下一页分页将失败
好的,因为您实际上使用了POST,所以您必须创建自己的分页函数来考虑POST。或者直接使用GET。您没有对可以安全使用的数据库执行任何操作。这对每个人都有好处。您必须在操作中编辑代码。 阅读
编辑
$dataProvider->pagination
如果您能显示一些代码,我们将帮助您。您的模型、视图和控制器是什么?您是否使用默认数据提供程序?是否使用GridView
显示模型?您好!我不使用gridview。如果您需要表格,为什么不使用GridView
?另外,它已经有了分页。是的,我第一次尝试使用gridview,但它不工作。是的,在我的搜索按钮中,我使用activeform和方法post$form=ActiveForm::begin(['method'=>'post','action'=>['report/stockmovementreportsummary','search'=>'true','from_dt'=>$from_dt','to_dt'=>$to_dt],]);请参阅我的最后一段回复,简而言之,使用GET not POST。
$reports = $dataProvider->getModels();
$i=1;
echo "<table class='table table-striped table-bordered'>";
echo "<tr><th>#</th><th>Item</th><th>Total Summary Usage Qty</th><th>Current Stock On Hand</th><th>Measurement</th></tr>";
foreach ($reports as $report) {
$item_key = $report['report_item_key'];
$item_model = Item::find()->where(['item_key' =>$item_key])->one();
$item_e_desc_tx = $item_model->desc_e_tx;
$item_c_desc_tx = $item_model->desc_c_tx;
$item_qty_no = $item_model->qty_no;
$item_measurement_tx = $item_model->measurement;
echo "<tr>";
echo "<td>" . $i++ . "</td>";
echo "<td>" . Html::a($item_key, array('stockmovementreportdetailbyitem', 'item_key' => $item_key, 'search' => 'true', 'from_dt' => $from_dt, 'to_dt'=>$to_dt)) . "<br>" . $item_e_desc_tx . "<br>" . $item_c_desc_tx ."</td>";
echo "<td>" . $report['total_summary_usage_qty'] . "</td>";
echo "<td>" . $item_qty_no . "</td>";
echo "<td>" . $item_measurement_tx . "</td>";
echo "</tr>";
}
echo "</table>";
echo \yii\widgets\LinkPager::widget([
'pagination'=>$dataProvider->pagination,
]);