我想检查插入unit_id时我们必须检查unit_id alraedy用于其他车队。当已经使用过show message error而没用过另一个fleet unit_id可以插入数据库。
这是控制器中的代码
function add_fleet_member()
{
$this->data['unit_list']= $this->munit_list->get_all_unit_list2();
$this->data['fleet'] = $this->mfleet->get_fleet();
$this->form_validation->set_rules('id_fleet', 'ID Fleet', 'required');
$this->form_validation->set_rules('unit_id', 'Unit', 'required|callback_unit_check');
if ($this->form_validation->run() == FALSE)
{
$this->data['contents'] = $this->load->view('fleet_member',$this->data, true);
$this->load->view('template/wrapper',$this->data);
}
else
{
$fleet = $this->input->post('id_fleet');
$unit_id = $this->input->post('unit_id');
$records = array();
for ($i=0; $i < count($unit_id) ; $i++) {
$records[] = array(
'id_fleet' => $fleet,
'unit_id' => $unit_id[$i]
);
}
$query = $this->database_three->query("select
count(id_fleet_member) as jumlah from fleet_member
where id_fleet = '$fleet' AND unit_id = '$unit_id'
group by fleet_member.id_fleet");
$ans = $query->row();
$check = $this->database_three->query("
select fleet.fleet_status as status, fleet_member.unit_id as unit
from fleet, fleet_member
where fleet_member.unit_id = '$unit_id' AND fleet.id_fleet = '$fleet'");
$ans2 = $query->row();
if ($ans->jumlah > 0)
{
$this->session->set_flashdata('message', generateErrorMessage('Data Fleet ID Sudah Digunakan'));
redirect(site_url('fleet_member'));
}
else
{
if ($ans2->unit == $unit_id && $ans2->status == $fleet) {
$this->session->set_flashdata('message', generateErrorMessage('Data Unit ID Sudah Digunakan'));
redirect(site_url('fleet_member'));
}
else
{
foreach ($records as $data)
{
$query = "insert into fleet_member (id_fleet, unit_id) values ('".$data['id_fleet']."','".$data['unit_id']."')";
$this->database_three->query($query);
}
$this->session->set_flashdata('message', generateSuccessMessage('Data berhasil ditambah'));
redirect(site_url('fleet_member'));
}
}
}
我收到此代码的错误。
当我在另一个车队中插入具有相同unit_id的unit_id数据时,无法插入数据库并显示按摩数据单元ID Sudah Digunakan&#39;。 (右)
当我在anohter车队中插入unit_id与另一个unit_id时,数据无法插入数据库并显示按摩&#39;数据单元ID Sudah Digunakan&#39;。 (它的错误)因为它必须插入数据库。
你可以帮我解决这个问题吗?答案 0 :(得分:0)
您可以定义自己的回调函数并验证您的数据是否唯一。检查codeigniter的用户指南表单验证部分。另一个问题 - 你还没有使用任何型号,对吧?这不是好习惯。首先,从控制器清理数据,然后使用模型访问数据和操作数据。