>  기사  >  php教程  >  행 추가를 위한 Yii의 추가, 삭제, 수정 및 쿼리 작업의 예

행 추가를 위한 Yii의 추가, 삭제, 수정 및 쿼리 작업의 예

高洛峰
高洛峰원래의
2016-12-20 15:10:191131검색

이 문서의 예에서는 행 추가를 위한 Yii의 추가, 삭제, 수정 및 쿼리 작업을 설명합니다. 참조를 위해 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.

렌더링:

행 추가를 위한 Yii의 추가, 삭제, 수정 및 쿼리 작업의 예

컨트롤러:

<?php
namespace backend\controllers;
use Yii;
use yii\web\Controller;
use backend\models\Zhan;
class IndexController extends Controller
{
  //显示页面
  public function actionIndex()
  {
    $index=new Zhan();
    //接受值
     if($_POST)
     {
      $a=Yii::$app->db;
      //判断是否有删除ids
      if(Yii::$app->request->post(&#39;ids&#39;))
      {
        $ids=Yii::$app->request->post(&#39;ids&#39;);
        $str=&#39;&#39;;
        for($i=0;$i<count($ids);$i++)
        {
         if($a->createCommand()->delete(&#39;zhan&#39;,[&#39;id&#39;=>$ids[$i]])->execute())
         {
           $str++;
         }
        }
        if($str!=&#39;&#39;)
        {
          echo &#39;<script>alert("删除成功");location.href="index.php?r=index/index"</script>&#39;;
        }
      }
      else
      {
         //判断是否有id传值
         $cid=Yii::$app->request->post(&#39;cid&#39;);
         $xu_ids=Yii::$app->request->post(&#39;xu_id&#39;);
         //print_r($id);die;
         //添加行的数据
         $names=Yii::$app->request->post(&#39;zhan_name&#39;);
         $ulrs=Yii::$app->request->post(&#39;url&#39;);
         //遍历数组
         foreach($names as $k=>$v)
         {
           if(!empty($cid[$k]))
           {
            $c_id=$cid[$k];
            //echo $c_id;die;
            $url=$ulrs[$k];
            $xu_id=$xu_ids[$k];
            $name=$v;
            $res=$a->createCommand()->update("zhan",[&#39;zhan_name&#39;=>$name,&#39;url&#39;=>$url,&#39;xu_id&#39;=>$xu_id],"id=$c_id")->execute();
            //数据可能没被修改,只有成功一条就改变标记的值
            if($res)
            {
             echo &#39;<script>alert("修改成功");location.href="index.php?r=index/index"</script>&#39;;
            }
           }
           else
           {
            $url=$ulrs[$k];
            $xu_id=$xu_ids[$k];
            $name=$v;
            $res=$a->createCommand()->insert("zhan",[&#39;xu_id&#39;=>$xu_id,&#39;zhan_name&#39;=>$name,&#39;url&#39;=>$url])->execute();
            //数据可能没被修改,只有成功一条就改变v标记的值
            if($res)
            {
              echo &#39;<script>alert("添加成功");location.href="index.php?r=index/index"</script>&#39;;
            }
           }
         }
      }
     }
     else
     {
      //查询数据
      $models=Zhan::find()->orderBy([&#39;xu_id&#39;=>&#39;asc&#39;])->asArray()->all();
      //var_dump($models);
      return $this->renderPartial("show",[&#39;models&#39;=>$models]);
     }
  }
}
?>

레이어 보기 :

<center>
<form action="index.php?r=index/index" method="post">
<input name="_csrf" type="hidden" id="_csrf" value="<?= Yii::$app->request->csrfToken ?>">
<table>
<tr>
<td>ID</td>
  <td>显示顺序</td>
  <td>站点名称</td>
  <td>站点URL</td>
</tr>
<?php foreach ($models as $key => $v) {?>
<tr>
<input type="hidden" name="cid[]" value="<?php echo $v[&#39;id&#39;]; ?>" />
<td><input type="checkbox" name="ids[]" class=&#39;ids&#39; value="<?= $v[&#39;id&#39;] ?>"></td>
<td><input type="text" name="xu_id[]" value="<?= $v[&#39;xu_id&#39;];?>"></td>
<td><input type="text" name =&#39;zhan_name[]&#39;value="<?= $v[&#39;zhan_name&#39;];?>"></td>
<td><input type="text" name="url[]" value="<?= $v[&#39;url&#39;];?>"></td>
</tr>
<?php }?>
<tr>
 <td><a href="javascript:void(0)" onclick="add(this);">+添加友情链接</a></td>
 <td><input type="checkbox" onclick="jian(this);">删除?</td>
</tr>
 <tr>
  <td><input type="submit" value="提交" ></td>
 </tr>
</table>
</form>
</center>
<script src="style/jquery.js"></script>
<script>
//添加一行
function add(ts)
{
  var tr=$(ts).parent().parent();
  var newtr=&#39;<tr><td></td><td><input type="text" name="xu_id[]"></td><td><input type="text" name="zhan_name[]"></td><td><input type="text" name="url[]"></td><td><input type="button" value="删除该行" onclick="del(this);"></td></td></tr><br />&#39;;
  tr.after(newtr);
}
//删除当前行
function del(ts)
{
  $(ts).parent().parent().remove();
}
//删除所有
function jian(ts)
{
  var ids=$(&#39;.ids&#39;);
  //alert(ids.length);
  for(var i=0;i<ids.length;i++)
  {
    if(ts.checked==true)
    {
     ids[i].checked=true;
    }
    else
    {
     ids[i].checked=false;
    }
  }
}
</script>
</head>

이 글이 Yii 프레임워크를 기반으로 하는 모든 분들의 PHP 프로그램 설계에 도움이 되기를 바랍니다.

Yii의 추가, 삭제, 수정 및 행 추가를 위한 쿼리 작업 예제에 대한 더 많은 관련 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.