我想将“尚未”状态更新为“已经”
有错误
A Database Error Occurred
Error Number: 1054
Unknown column 'sudah' in 'field list'
UPDATE `tb_peserta` SET `sudah` = '' WHERE `no_pendaftaran` = '13'
Filename: C:/xampp/htdocs/codeigniter/system/database/DB_driver.php
Line Number: 691
我的 Controller
function status_verifikasi($no_pendaftaran){
$where = array('no_pendaftaran' => $no_pendaftaran);
$this->M_pendaftar->status_verifikasi($where,'tb_peserta');
redirect('admin/Ca_pendaftar');}
我的模型
function status_verifikasi($where,$tb_peserta){
if ($status_verifikasi ='belum') {
$this->db->set('sudah');
} else{
$this->db->set('belum');
}
$this->db->where($where);
$this->db->update($tb_peserta);}
我的看法
<?=anchor('admin/Ca_pendaftar/status_verifikasi/'.$tb_peserta->no_pendaftaran,
'Konfirmasi', ['class'=>'btn btn-success btn-sm' , 'onclick'=>"return confirm('Ubah status pendaftar ?');"])?>
最佳答案
Codeigniter Set
语法应该是
$this->db->set('column_name','value');
注意:等于=
是赋值运算符。要进行比较,您需要使用 ==
比较运算符
if ($status_verifikasi == 'belum') { .. }
更新1:
您需要像这样使用选择查询来检查之前的值,然后您需要根据之前的值更新状态。
function status_verifikasi($where,$tb_peserta){
$this->db->select('status_verifikasi');
$this->db->from($tb_peserta);
$this->db->where($where);
$result = $this->db->get()->result();
if($result && $result[0]->status_verifikasi =='belum')
{
$this->db->set('status_verifikasi','sudah');
} else{
$this->db->set('status_verifikasi','belum');
}
$this->db->where($where);
$this->db->update($tb_peserta);
}
关于php - 使用 Codeigniter 更新数据库表中的字段状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44584626/