牛骨文教育服务平台(让学习变的简单)
博文笔记

yii2框架 自带搜索 ,分页(功能强大)CURD

创建时间:2016-11-29 投稿人: 浏览次数:171

view/index.php


<?php
use yiiwidgetsActiveForm;

?>
<?php  $form=ActiveForm::begin()?>
<table class="table">
    <tr>
        <td>用户名</td>
        <td><input type="text" placeholder="username" name="username"></td>
    </tr>
    <tr>
        <td>密码</td>
        <td>
            <input type="password" placeholder="password" name="pwd">
        </td>
    </tr>

    <tr>
        <td>性别</td>
        <td>
            <input type="radio" name="sex" value="男">男
            <input type="radio" name="sex" value="女">女
        </td>
    </tr>
    <tr>
        <td><input type="submit" value="login" class="btn btn-success"></td>
    </tr>
</table>
<?php ActiveForm::end()?>

view/show.php

<?php
use yiiwidgetsActiveForm;
use yiihelpersHtml;
use yiihelpersUrl;
use yiiwidgetsLinkPager;
use yiiase;
?>
<?php
$form=ActiveForm::begin([
    "action"=>Url::toRoute(["show"]),
    "method"=>"get",
]);
echo "姓名:".Html::input("text","username");//可以写第三个值,相当于value保留值,但是添加成功不显示&username,能力强大的人可以解决一波
echo "<br/>";
echo "<br/>";
echo Html::submitButton();

ActiveForm::end();echo "<br/>";
?>
<table border="1">
    <tr>
        <td>ID</td>
        <td>用户名</td>
        <td>密码</td>
        <td>性别</td>
        <td>操作</td>
    </tr>
    <?php foreach ($users  as  $user):  ?>
        <tr id="<?php echo $user["id"] ?>">
            <td><?php echo $user["id"]  ?></td>
            <td><span class="name"><?php echo $user["username"]  ?></span></td>
            <td><?php echo $user["pwd"]  ?></td>
            <td><?php echo $user["sex"]  ?></td>
            
<td><a href="?r=curd/del&id=<?php echo  $user["id"]?>">删除</a>||<a href="?r=curd/update&id=<?php echo  $user["id"]?>">修改</a> </td>
</tr> <?php endforeach; ?></table><?phpecho LinkPager::widget([ "pagination"=>$pages, "nextPageLabel"=>"下一页", "firstPageLabel"=>"首页"])?>

view/update.php


<?php
use yiiwidgetsActiveForm;
use yiihelpersUrl;
use yiihelpersHtml;
?>
<?php
$form=ActiveForm::begin([
    "action"=>Url::toRoute(["updated"]),
    "method"=>"post",
]);
echo "姓名:".Html::input("text","username",$one["username"]);
echo "".Html::input("hidden","id",$one["id"]);
echo "<br/>";
echo "<br/>";
echo "密码:".Html::input("password","pwd",$one["pwd"]);
echo "<br/>";
echo "<br/>";
echo Html::submitButton("提交");

ActiveForm::end();echo "<br/>";
?>


Curd/controller

<?php

namespace frontendcontrollers;

use Yii;
use yiidbQuery;
use frontendmodelsCurd;
use yiidataPagination;
use yiiase;

class CurdController extends yiiwebController
{
    /**
     * @return string
     * 添加
     */
    public function actionIndex(){
       $request=Yii::$app->request;
        if(Yii::$app->request->isPost){
            $data=$request->post();
            $model=new Curd;
            $res=$model->addUser($data);
            if($res){
                //跳转方法
                $this->redirect (array("show"));
            }else{
                echo "<script>alert("添加失败");location.href="?r=curd/index"</script>";
            }
        }else{
            //跳转到view层
            return $this->render("index");
        }
    }

    /**
     * @return string
     * 展示
     */
    public function actionShow(){
        $where=Yii::$app->request->get();
        $query=new Query();
        $query->from("user");
        if(!empty($where["username"])){
            $query->andWhere(["username"=>$where["username"]]);
        }
        $users=$query->from("user")->all();
        $pages = new Pagination(["totalCount" =>$query->count(),"pageSize"=>"5"]);
        $users = $query->offset($pages->offset)->limit($pages->limit)->all();
        return  $this->render("show",["users"=>$users,"where"=>$where,"pages"=>$pages]);
    }

    /**
     * @throws yiidbException
     * 删除
     */
    public function actionDel(){
        $id=Yii::$app->request->get("id");
        $del=Yii::$app->db->createCommand()->delete("user","id=:id",[":id"=>$id])->execute();
        if($del){
            $this->redirect (array("show"));
        }else{
            echo "<script>alert("删除失败");location.href="?r=curd/show"</script>";
        }
    }

    /**
     * @return string
     * 修改
     */
    public function actionUpdate(){
        $id=Yii::$app->request->get("id");
        //绑定单个防注入参数
        $one=Yii::$app->db->createCommand("SELECT * FROM user where id=:id")->bindValue(":id",$id)->queryOne();
        //传id到修改页面
         return $this->render("update",["one"=>$one]);
    }
    public function actionUpdated(){
        $arr=Yii::$app->request->post();
        $db = Yii::$app->db->createCommand()->update("user",[
            "username"=>$arr["username"],
            "pwd"=>$arr["pwd"],
        ],"id=:id",[":id"=>$arr["id"]])->execute();
       if($db){
           echo "<script>alert("修改成功");location.href="?r=curd/show"</script>";
       }else{
           echo "<script>alert("修改失败");location.href="?r=curd/show"</script>";
       }
    }
}
}

models/curd.php

<?php

namespace frontendmodels;

use Yii;
use yiiaseModel;
use commonmodelsUser;

class Curd extends yiidbActiveRecord
{


    public function addUser($data){
         $db = Yii::$app->db->createCommand();
        return $db->insert("user",[
            "username"=>$data["username"],
            "pwd"=>$data["pwd"],
            "sex"=>$data["sex"],
        ])->execute();
    }
}

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。