【发布时间】:2020-11-13 21:06:39
【问题描述】:
我想使用 codeigniter 自动提交我的选择时遇到问题。我返回数据库的值是 ID(整数)、状态(枚举('masuk'、'istirahat'、'kembali'、'pulang'))、waktu(日期时间)。如果用户从“状态”按钮中选择一个,我希望变量“waktu”是我当前的日期时间。
这是我在views文件夹中的代码:
<html>
<head>
<title>Form Tambah Presensi</title>
</head>
<body>
<h1>Form Tambah Data Presensi</h1>
<hr>
<!-- Menampilkan Error jika validasi tidak valid -->
<div style="color: red;"><?php echo validation_errors(); ?></div>
<?php echo form_open("presensi/tambah"); ?>
<tr>
<td>ID</td>
<td><input type="number" name="input_id" value="<?php echo set_value('input_id'); ?>"></td>
</tr><br><br>
<tr>
<td>Status:</td><br>
<input type="submit" id="input_status" name="input_status" value="masuk">
<label for="masuk"></label><br>
</tr>
<tr>
<input type="submit" id="input_status" name="input_status" value="istirahat">
<label for="istirahat"></label><br>
</tr>
<tr>
<input type="submit" id="input_status" name="input_status" value="kembali">
<label for="kembali"></label><br>
</tr>
<tr>
<input type="submit" id="input_status" name="input_status" value="pulang">
<label for="pulang"></label><br><br>
</tr>
<?php echo form_close(); ?>
</body>
</html>
我在模型文件夹中的代码:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class PresensiModel extends CI_Model {
// Fungsi untuk validasi form tambah dan ubah
public function validation($mode){
$this->load->library('form_validation'); // Load library form_validation untuk proses validasinya
// Tambahkan if apakah $mode save atau update
if($mode == "save")
$this->form_validation->set_rules('input_id', 'id', 'required|numeric|max_length[11]');
$this->form_validation->set_rules('input_status', 'status');
$this->form_validation->set_rules('input_waktu', 'waktu', 'required');
if($this->form_validation->run()) // Jika validasi benar
return TRUE; // Maka kembalikan hasilnya dengan TRUE
else // Jika ada data yang tidak sesuai validasi
return FALSE; // Maka kembalikan hasilnya dengan FALSE
}
// Fungsi untuk melakukan simpan data ke tabel presensi
public function save(){
$data = array(
"id" => $this->input->post('input_id'),
"status" => $this->input->post('input_status'),
"waktu" => $this->input->post('input_waktu')
);
$this->db->insert('presensi', $data); // Untuk mengeksekusi perintah insert data
}
}
我在控制器文件夹中的代码:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Presensi extends CI_Controller {
public function __construct(){
parent::__construct();
$this->load->model('PresensiModel'); // Load PresensiModel ke controller ini
}
public function index(){
$data['presensi'] = $this->PresensiModel->view();
$this->load->view('presensi/form_tambah', $data);
}
public function tambah(){
if($this->input->post('submit')){ // Jika user mengklik tombol submit yang ada di form
if($this->PresensiModel->validation("save")){ // Jika validasi sukses atau hasil validasi adalah TRUE
$this->PresensiModel->save(); // Panggil fungsi save() yang ada di SiswaModel.php
redirect('presensi');
}
}
$this->load->view('presensi/form_tambah');
}
}
【问题讨论】:
标签: php codeigniter datetime button