2019-02-18 10:57:03 2390次浏览 2条回答 0 悬赏 200 金钱

controller代码
<?php
class TalkController extends CController
{

public function actionGetTalk(){//查找所有数据
    $talk = Talk::model()->findAll(); //将数据表中全部信息存到 $talk
    $this->renderPartial('admin',array('talk'=>$talk));
}
public function  actionGetTalkById(){//根据主键查询数据

    $id=$_GET['id'];
    $talk=Talk::model()->find('id=:id',':id'=>$id);
    $this->renderPartial('select',array('talk'=>$talk));
}
public function  actionGetDeleteTalk()
{
    $id=$_GET['id'];
    $talk=Talk::model()->findByPk($id);
    $talk->delete();                    // 从数据表中删除此行
    return $this->actionGetTalk();
}

public function actionToAddTalk(){
    $this->redirect('talk/index');
}

public function actionAddTalk2(){
    $talk=new Talk;
    $username=$_POST['username'];
    $subject=$_POST['subject'];
    $content=$_POST['content'];
    $talk->subject=$subject;
    $talk->username=$username;
    $talk->content=$content;
    $talk->save();
    return $this->actionGetTalk();
}
public function actionToUpdateTalk(){
    $id=$_GET["id"];
    $talk=Talk::model()->find('id=:id ',array(':id'=>$id));
    $this->renderPartial('update',array('talk'=>$talk));
}

public function actionGetUpdateTalk(){
    $id=$_POST['id'];
    $talk=Talk::model()->find('id=:id ',array(':id'=>$id));
    $talk->subject=$_POST['subject'];
    $talk->content=$_POST['content'];
    $talk->username=$_POST['username'];
    $talk->save(); // 将更改保存到数据库
    return $this->actionGetTalk();
}

}

update视图代码

<table border="1" style="margin-top: 100px;margin-left: 100px">

    <tr >
        <input type="text" name="id" value="编号" hidden/>
    </tr>

    <tr><?php foreach ($talk as $sq):
        ?>

        <td>主题</td>
        <td>
            <textarea  type="text" name="subject" style="width: 1000px" ><?php echo $sq->subject;?></textarea>
        </td>
    </tr>
    <tr>
        <td>内容</td>
        <td>
            <textarea  type="text" name="content" style="width: 1000px"><?php echo $sq->content;?></textarea>
        </td>
    </tr>
    <tr>
        <td>留言人</td>
        <td>
            <textarea  type="text" name="username" style="width: 1000px"><?php echo $sq->username;?></textarea>
        </td>
    </tr>
    <?php endforeach;
    ?>
    <tr>
        <td  colspan="2" style="text-align: center"><input type="submit" name="submit" value="修改"></td>
    </tr>
</table>


我的代码报错说传递到表单的的不是一个有效数组

admin视图将保存在数据库的信息显示出来,每条数据后面都有修改,删除等操作,当点击修改时将其对应的数据从数据库查找输出在另一表单,问下查询的实现

补充于 2019-02-19 13:22

1.PNG

  • 回答于 2019-02-18 11:32 举报

    admin是一个列表信息;修改是选择了其中指定的一个,一般是一条数据的id,拿这个id去数据库查询到指定的数据,再返回到编辑表单页,把这条数据可以编辑的字段都填充到表单里,在此基础上修改呗。然后提交后台update。
    你是想知道这些吗?
    list.php;展示所有数据到列表信息,一般有分页;
    update.php;基本就是编辑更新的表单页;
    post.php;创建项目的表单页;创建成功后跳转到list列表页;
    view.php;查看页,查看指定到数据。
    咋滴,是不是你想要到?

    5 条回复
    回复于 2019-02-18 11:50 回复

    怎么实现从数据库查询指定id的数据呢

    回复于 2019-02-18 12:53 回复

    $model = Talk::findOne($id);

    回复于 2019-02-18 13:15 回复

    1.1版本没有这个方法哎

    回复于 2019-02-19 10:17 回复

    那where条件呢?再不济原始sql也可以啊。

    回复于 2019-02-19 11:44 回复

    User::find()->where(['name' => '小伙儿'])->one(); 这个数据已经指定了,怎么才能使它点击这条数据就将其显示出来,能随我们点击的数据不同而改变

    觉得很赞
  • 回答于 2019-02-19 12:40 举报

    你想问的是在view层展示那个talk这个信息是吧

    2 条回复
    回复于 2019-02-19 13:26 回复

    admin是一个列表信息;修改是选择了其中指定的一个,一般是一条数据的id,拿这个id去数据库查询到指定的数据,再返回到编辑表单页,把这条数据可以编辑的字段都填充到表单里,在此基础上修改呗。然后提交后台update。

    回复于 2019-02-20 13:54 回复

    在点击按钮时没传id

您需要登录后才可以回答。登录 | 立即注册
龘瞾
经理

龘瞾 四川成都

注册时间:2018-12-21
最后登录:2019-11-06
在线时长:37小时20分
  • 粉丝2
  • 金钱1045
  • 威望0
  • 积分1415

热门问题