我使用 Yii2
- 高级模板。我想采取' img_id
'来自我的' index.php '在 siteController
的功能中。
我的代码在' index.php'如下:
<?php
$m = $dataProvider->getModels();
foreach ($m as $dp) {
echo '<a id ="img_id" class="" href="http://localhost/efa-webv1/frontend/web/index.php?r=site/subcat&id='.$dp['bmc_id'].'" method="post">';
echo "<img src = '"."http://localhost/efa-webv1/backend/web/".$dp['bmc_image']."' />";
echo '<center><font color = "white">'.$dp['bmc_name'].'<font/></center>';
echo '</a>';
}
?>
我试图在我的siteController
中将其作为:
public function actionSubcat() {
$searchModel = new BusinessMainCategoriesSearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
$dataProvider->pagination->pageSize = $dataProvider->getTotalCount();
$query = new \yii\db\Query;
$query->select('*')->from('business_sub_categories')->where(['bmc_id' => $_POST["img_id"]]); //trying to get img_id using this
$query->createCommand();
$dataProvider2 = new ActiveDataProvider([
'query' => $query,
'pagination' => false,
]);
return $this->render('subcat', [
'dataProvider' => $dataProvider, 'dataProvider2' => $dataProvider2]);
}
但如果我使用&#39; $ _ POST [&#34; img_id&#34;]&#39;,则会显示未定义的索引&#34; img_id&#34;。
所以,请帮助我让我理解。
答案 0 :(得分:0)
现在,我修改的index.php是:
<?php
$m = $dataProvider->getModels();
foreach ($m as $dp) {
echo '<a id ="img_id" class="" href="http://localhost/efa-webv1/frontend/web/index.php?r=site/subcat&img_id='.$dp['bmc_id'].'" method="get">';
echo "<img src = '"."http://localhost/efa-webv1/backend/web/".$dp['bmc_image']."' />";
echo '<center><font color = "white">'.$dp['bmc_name'].'<font/></center>';
echo '</a>';
} ?>
我正在控制器中提到&amp; id而不是&amp; img_id(在url中),这是错误的。现在我的控制器代码是这样的 -
$query->select('*')->from('business_sub_categories')->where(['bmc_id' => $_GET['img_id']]);
请注意,当我使用POST方法从url传递值时,它无效。所以,我使用了GET方法&amp;做完了。
无论如何,多亏了所有人!