0

我尝试通过一键执行更新三个表,但为什么只是 t_user 发生了变化?t_publisher 和 t_label 没有改变,也没有错误警告..

function update($id_user=null){

        if (($this->input->post('submit') == 'Update')){
            $user=$this->input->post('username');
            $pass=$this->input->post('userpassword');
            $ussta=$this->input->post('userstatus');
            $usty=$this->input->post('usertype');
            $id_label = $this->db->query("select ID_LABEL from t_label where LABEL = '$name->USER_NAME'")->row();
            $id_publisher = $this->db->query("select ID_PUBLISHER from t_publisher where PUBLISHER = '$name->USER_NAME'")->row();

        $data = array(
            'USER_NAME' => $user,
            'USER_PASS' => $pass,
            'USER_STATUS' => $ussta,
            'USER_TYPE' => $usty
            );

        $data2 = array(
            'LABEL' => $user,
            );

        $data3 = array(
            'PUBLISHER' => $user,
            );

        $this->db->where('USER_ID', $this->input->post('id'));
        $this->db->update('t_user', $data);
        $this->db->where('ID_LABEL', $this->input->post('$id_label'));
        $this->db->update('t_label', $data2);
        $this->db->where('ID_PUBLISHER', $this->input->post('$id_publisher'));
        $this->db->update('t_publisher', $data3);
        redirect("registrasi/reg");
        }
        $var['data'] = $this->db->query("select * from t_user where USER_ID= '$id_user'")->row_array();  
        $this->load->view('update', $var);
        }

请帮忙 :)

4

1 回答 1

0

尝试

function update( $id_user = NULL ){
    if ( ( $this->input->post( 'submit' ) === 'Update' ) ) {
        $user = $this->input->post( 'username' );
        $pass = $this->input->post( 'userpassword' );
        $ussta = $this->input->post( 'userstatus' );
        $usty = $this->input->post( 'usertype' );

        $sql = "SELECT ID_LABEL FROM t_label WHERE LABEL = ?";
        $id_label = $this->db->query( $sql, array( $name->USER_NAME ) )->row();

        $sql = "SELECT ID_PUBLISHER FROM t_publisher WHERE PUBLISHER = ?";
        $id_publisher = $this->db->query( $sql, array( $name->USER_NAME ) )->row();

        $data = array(
            'USER_NAME' => $user,
            'USER_PASS' => $pass,
            'USER_STATUS' => $ussta,
            'USER_TYPE' => $usty
            );

        $data2 = array(
            'LABEL' => $user,
            );

        $data3 = array(
            'PUBLISHER' => $user,
            );

        $this->db->where('USER_ID', $this->input->post('id'));
        $this->db->update('t_user', $data);

        $this->db->where('ID_LABEL', $id_label);
        $this->db->update('t_label', $data2);

        $this->db->where('ID_PUBLISHER', $id_publisher);
        $this->db->update('t_publisher', $data3);

        redirect("registrasi/reg");
    }

    $var['data'] = $this->db->query( "SELECT * FROM t_user WHERE USER_ID= '$id_user'")->row_array();
    $this->load->view('update', $var);
}

我有点困惑。是模型文件吗?如果是这样,为什么会有redirect命令?还有为什么有一个$this->load->view()?再一次,$name 是从哪里来的?您指定$id_user为默认参数,您在此文件中的何处使用它?

于 2012-11-13T09:57:21.710 回答