0

我有一个非常小的应用程序,它需要一个 id,然后根据该 id 更新一个数据库表。id 是视图的输入。

基本上我的数据库(模型)有getAllProjects()approveProject($id).

控制器:

<?php if (!defined('BASEPATH')) exit ('No direct script access allowed');

class ApproveProject extends CI_Controller {

    public function index () {
        $this->loadView();
    }

    public function getData () {
        $this->load->model("db_Projects");
        $this->db_Projects->getAllProjects();

    }

    public function updateDB () {
        // how can I get this variable?
        $this->db_Projects->approveProject($toApprove); 
    }

    public function loadView() {
        $this->load->view("ViewProjectApproval");
    }
}

?>

看法:

<html language="en">
<head>
    <title>Aprobare Proiect</title>
</head>
    <h1> Aprobare Proiect </h1>
<body>
<div id="container">

    <?php
        if (isset($_POST['projectSubmit']) && ($_POST['projectSubmit'] == "Submit")) 
        { 
            $toApprove= $_POST['projectId'];
        }
    ?>


    <form action ="updateDB" method="post">
        <input type="text" name="projectId">
        <input type="submit" name="projectSubmit" value="Submit">
    </form>


</div>

</body>

我不知道我的观点是否良好,或者是否应该如此......我怎样才能将 ID 发送到我的控制器?

4

1 回答 1

1

您正在使用方法提交表单,因此您可以从控制器的方法内部POST检索变量,例如POST

$toApprove = $this->input->post('projectId');

所以你的方法/功能看起来像这样

public function updateDB () {
    if($this->input->post('projectId'))
    {
        $toApprove = $this->input->post('projectId');
        // load the model and call the method, like
        $this->load->model('model_name');
        $model_name->method_name($toApprove);
    }
}

更新: 您的表单action看起来不正确,试试这个(controller_name/method_name)

<form action ="<?php echo site_url('ApproveProject/updateDB') ?>" method="post">
于 2013-04-24T16:32:45.590 回答