Как вставить значение с новым приращением в codeigniter? - PullRequest
0 голосов
/ 16 июня 2020
public function myfuntion() {
    if($_POST){
        $urnno = "NU-62819100";
        $data = array(
                    "name" => $this->input->post('name'),
                    "email" => $this->input->post('email'),
                    "phone" => $this->input->post('phone'),
                    "urnno" => $urnno + 1
                );
        $sql = $this->db->insert('student',$data);
        if($sql){
            echo "success";
        }else{
            echo "fail";
        }
    }
    $this->loca->view('myform');
}

В этом коде я просто вставляю значение формы, но что здесь происходит, когда я вставляю значение, тогда urnno должно автоматически увеличиваться после новой вставки, например, если, когда я вставляю значение в первый раз, то urnno должно быть NU-62819101 второй раз это будет 102, затем 103 вот так. Итак, как я могу это сделать? Пожалуйста, помогите мне.

Спасибо

Ответы [ 2 ]

0 голосов
/ 16 июня 2020

, если вы увеличиваете только столбец со значением 1, вы можете попробовать настроить автоматическое увеличение столбца в базе данных. упрощает и удаляет ненужные вычисления.

0 голосов
/ 16 июня 2020

Вы можете сначала получить последний urnno, сохраненный в table, получить его числовую часть, увеличить его, а затем сохранить его в table.

Я написал возможное решение вашей проблемы, комментарии упоминаются везде, где это необходимо. Посмотри, поможет ли это тебе.

public function myfuntion() {

    if($_POST){

        // get the last row saved in table
        $last = $this->db->select('urnno')->from('student')->order_by('id', 'DESC')->get()->row(); // id or some other auto incremented field

        // get urnno from the last row
        $last_urnno = $last->urnno;

        $last_arr = explode("-", $last_urnno); // make it an array to get the numerical part

        $new = $last_arr[1] + 1; // increment the value

        $urnno = "NU-{$new}"; // new value

        $data = array(
                    "name" => $this->input->post(''),
                    "email" => $this->input->post(''),
                    "phone" => $this->input->post(''),
                    "urnno" => $urnno // new value
                );

        $sql = $this->db->insert('student', $data);

        if($sql){
            echo "success";
        }else{
            echo "fail";
        }
    }
    $this->loca->view('myform');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...