Php 无法在codeigniter中插入到数据库
我想检查何时插入机组id我们必须检查机组id是否已用于其他车队。当已使用显示消息错误且未使用时,可以将另一个车队单元id插入数据库 这是控制器中的代码Php 无法在codeigniter中插入到数据库,php,mysql,codeigniter,if-statement,Php,Mysql,Codeigniter,If Statement,我想检查何时插入机组id我们必须检查机组id是否已用于其他车队。当已使用显示消息错误且未使用时,可以将另一个车队单元id插入数据库 这是控制器中的代码 function add_fleet_member() { $this->data['unit_list']= $this->munit_list->get_all_unit_list2(); $this->data['fleet'] = $this->mfleet-&
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'));
}
}
}
功能添加车队成员()
{
$this->data['unit_list']=$this->munit_list->get_all_unit_list2();
$this->data['fleet']=$this->mfleet->get_fleet();
$this->form_validation->set_规则('id_fleet','id fleet','required');
$this->form_validation->set_rules('unit_id','unit','required | callback_unit_check');
如果($this->form\u validation->run()==FALSE)
{
$this->data['contents']=$this->load->view('fleet_member',$this->data,true);
$this->load->view('template/wrapper',$this->data);
}
其他的
{
$fleet=$this->input->post('id_fleet');
$unit_id=$this->input->post('unit_id');
$records=array();
对于($i=0;$i$fleet,
“单位id”=>$unit\U id[$i]
);
}
$query=$this->database\u three->query(“选择
从车队成员中将(id车队成员)计数为jumlah
其中id_fleet='$fleet'和unit_id='$unit_id'
按车队成员分组(id车队);
$ans=$query->row();
$check=$this->database\u three->query(“
选择fleet.fleet\u status作为status,fleet\u member.unit\u id作为unit
来自车队,车队成员
其中fleet_member.unit_id=“$unit_id”和fleet.id_fleet=“$fleet”);
$ans2=$query->row();
如果($ans->jumlah>0)
{
$this->session->set_flashdata('message',generateErrorMessage('Data Fleet ID Sudah Digunakan'));
重定向(站点url(“车队成员”);
}
其他的
{
如果($ans2->unit==$unit\U id&&$ans2->status==$fleet){
$this->session->set_flashdata('message',generateErrorMessage('Data Unit ID Sudah Digunakan'));
重定向(站点url(“车队成员”);
}
其他的
{
foreach($记录为$数据)
{
$query=“插入车队成员(id车队,单位id)值(“$data['id车队]”,“$data['unit\U id'])”);
$this->database\u three->query($query);
}
$this->session->set_flashdata('message',generateSuccessMessage('Data berhasil ditambah');
重定向(站点url(“车队成员”);
}
}
}
我的代码出错了
当我在另一个车队中插入具有相同单位id的单位id时,数据无法插入数据库并显示“数据单位id Sudah Digunakan”。(其右侧)
当我用另一个机组id插入机组id时,机组数据无法插入数据库并显示“数据机组id Sudah Digunakan”(错误),因为它必须插入数据库
您能帮我解决这个问题吗?您可以定义自己的回调函数并验证数据是否唯一。请查看codeigniter用户指南的表单验证部分。另一个问题-您没有使用任何模型,对吗?这不是一个好的做法。首先,从控制器中清理数据,然后使用模型访问数据并操纵数据