在MYSQL中使用ID生成准入编号。我想要来自CodeIgniter的代码

时间:2018-11-07 09:53:03

标签: codeigniter

在我的项目中,我有一个学生证。它应该自动递增。我想自动生成一个入场号。我该怎么办?

这是我的控制人

$insert_id = $this->student_model->add($data);

$data_new = array(
    'student_id' => $insert_id,
    'class_id' => $class_id,
    'section_id' => $section_id,

这是我的模特

public function add($data) {

    if (isset($data['id'])) {
        $this->db->where('id', $data['id']);
        $this->db->update('students', $data);
    } else {
        $this->db->insert('students', $data);

        return $this->db->insert_id();
    }
}

这是我的观点

                <form id="form1" action="<?php echo site_url('student/create') ?>"  id="employeeform" name="employeeform" method="post" accept-charset="utf-8" enctype="multipart/form-data">
                    <div class="box-body">

                        <div class="tshadow mb25 bozero">    

                            <h4 class="pagetitleh2"><?php echo $this->lang->line('student'); ?> <?php echo $this->lang->line('admission'); ?> </h4>


                            <div class="around10">
                                <?php if ($this->session->flashdata('msg')) { ?>
                                    <?php echo $this->session->flashdata('msg') ?>
                                <?php } ?>  
                                <?php echo $this->customlib->getCSRF(); ?>
                                <input type="hidden" name="sibling_name" value="<?php echo set_value('sibling_name'); ?>" id="sibling_name_next">
                                <input type="hidden" name="sibling_id" value="<?php echo set_value('sibling_id',0); ?>" id="sibling_id">
                                <div class="row">
                                    <div class="col-md-3">
                                        <div class="form-group">
                                            <label for="exampleInputEmail1"><?php echo $this->lang->line('admission_no'); ?></label> <small class="req"> *</small> 
                                            <input autofocus="" id="admission_no" name="admission_no" placeholder="" type="text" class="form-control"  value="<?php echo set_value('admission_no', date($this->customlib->getSchoolDateFormat())); ?>" name="admission_no" class="form-control">
                                            <span class="text-danger"><?php echo form_error('admission_no'); ?></span>
                                        </div>

这里录入编号是手动输入的,但我希望它是自动创建的。我不知道该怎么办。我是CodeIgniter的新手。

我的数据库 enter image description here

我的表单视图 enter image description here

1 个答案:

答案 0 :(得分:0)

如果要添加唯一录取,则必须使用admission或使用此查询

$this->db->order_by('admission_no','DESC');
$this->db->get('students',1)->row()->admission_no + 1;

将波纹管代码放入您的admission input which id of it is id="admission_no" romove the input and copy paste the code中的视图中。这将获得最新的准入编号,然后向准入编号加1,您也可以删除该值并手动添加另一个值。必须是唯一的

<?php 
     $this->db->order_by('admission_no','DESC');
     $auto-add = $this->db->get('students',1)->row()->admission_no + 1;
?>
<input autofocus="" id="admission_no" name="admission_no" placeholder="" type="text" class="form-control"  value="<?php echo  $auto-add; ?>" class="form-control">