再次编辑行时出现问题,这是在php codeigniter中插入新行
我有一个问题,编辑和更新一行是有文件上传字段。 我的问题是当我插入一行时,如果有一个上传的文件,然后插入该行,然后在编辑时它不显示文件,再次要求上传文件。 这是我的控制器:再次编辑行时出现问题,这是在php codeigniter中插入新行,php,jquery,mysql,codeigniter,Php,Jquery,Mysql,Codeigniter,我有一个问题,编辑和更新一行是有文件上传字段。 我的问题是当我插入一行时,如果有一个上传的文件,然后插入该行,然后在编辑时它不显示文件,再次要求上传文件。 这是我的控制器: public function addclient() { $logo = 'logo'; $status = ""; $msg = ""; $file_extension = ""; $this->
public function addclient()
{
$logo = 'logo';
$status = "";
$msg = "";
$file_extension = "";
$this->load->library('form_validation');
$this->form_validation->set_rules('name','Name','trim|required');
$this->form_validation->set_rules('location', 'Location', 'trim|required');
$this->form_validation->set_rules('address', 'Address', 'trim|required');
$this->form_validation->set_rules('mobile', 'Mobile', 'trim|required');
$this->form_validation->set_rules('landline', 'Land Line', 'trim|required');
$this->form_validation->set_rules('personname', 'Contact Person Name','trim|required');
$this->form_validation->set_rules('persondesignation', 'Contact Person Designation', 'trim|required');
$this->form_validation->set_rules('personmobile','Contact Person Mobile','trim|required');
$this->form_validation->set_rules('email','Email Address','trim|required');
$this->form_validation->set_rules('personemail','Contact Person Email Address','trim|required');
$this->form_validation->set_rules('otherinfo','Other Information','trim|required');
//$this->form_validation->set_rules('logo','Logo','trim');
$this->form_validation->set_rules('url','Website Url','trim|required');
if($this->form_validation->run() == FALSE)
{
$status = 'error';
echo $msg = validation_errors();
//echo json_encode(array('st'=>0, 'msg' => validation_errors()));
}
/******* extracting file extension ********/
$org_filename = $_FILES['logo']['name'];
//$path_parts = pathinfo($org_filename);
//$file_extension = $path_parts['extension'];
$file_extension = pathinfo($org_filename, PATHINFO_EXTENSION);
/***** end extracting file extension ******/
$config['upload_path'] = './uploads/client';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = 1024 * 1000;
$final_file_name = $config['file_name'] = 'client_'.time().'.'.$file_extension;
$this->load->library('upload', $config);
if (!$this->upload->do_upload($logo))
{
$error = $this->upload->display_errors();
echo $error;
//echo json_encode($error);
}
else
{
//...save values to database
$this->load->model('vadmin/clientmodel','',true);
$this->clientmodel->addUpadteClientForm($final_file_name);
$status = 'success';
echo 'Submitted ok...!';
}
}
以下是我的模型函数:
public function get($client_id)
{
$sql = "SELECT * FROM ".TB_CLIENTS." WHERE client_id='".$client_id."'";
$ex = $this->db->query($sql);
return $ex->row_array();
}
public function addUpadteClientForm($final_file_name = '')
{
$name = $this->input->post('name');
$location = $this->input->post('location');
$address = $this->input->post('address');
$mobile = $this->input->post('mobile');
$landline = $this->input->post('landline');
$personname = $this->input->post('personname');
$persondesignation = $this->input->post('persondesignation');
$personmobile = $this->input->post('personmobile');
$email = $this->input->post('email');
$personemail = $this->input->post('personemail');
$otherinfo = $this->input->post('otherinfo');
$partnerflag = $this->default_client_partner_flag;
$logodisplayflag = $this->default_client_logo_display_flag;
$logo = $final_file_name;
$url = $this->input->post('url');
$status = $this->default_client_status ;
$client_id = $this->input->post('id');
if(is_numeric($client_id) && $client_id > 0)
{
//mysql_real_escape_string or addslashes()
//edit query
$sql = "UPDATE ".TB_CLIENTS." SET
client_name='".mysql_real_escape_string($name)."',client_location='".mysql_real_escape_string($location)."',client_address='".mysql_real_escape_string($address)."',client_mobile='".mysql_real_escape_string($mobile)."',client_landline_number='".mysql_real_escape_string($landline)."',client_contact_person_name='".mysql_real_escape_string($personname)."',client_contact_person_designation='".mysql_real_escape_string($persondesignation)."',client_contact_person_mobile='".mysql_real_escape_string($personmobile)."',client_email_address='".mysql_real_escape_string($email)."',client_contact_person_email_address='".mysql_real_escape_string($personemail)."',client_other_info='".mysql_real_escape_string($otherinfo)."',partner_flag='".mysql_real_escape_string($partnerflag)."',logo_display_flag='".($logodisplayflag)."',logo='".mysql_real_escape_string($logo)."',client_website_url='".mysql_real_escape_string($url)."',status='".mysql_real_escape_string($status)."' WHERE client_id='".mysql_real_escape_string($client_id)."'" ;
echo $sql;
}
else
{
$sql = "INSERT INTO ".TB_CLIENTS." (client_name,client_location,client_address,client_mobile,client_landline_number,client_contact_person_name,client_contact_person_designation,client_contact_person_mobile,client_email_address,client_contact_person_email_address,client_other_info,partner_flag,logo_display_flag,logo,client_website_url,status)
VALUES (".$this->db->escape(trim($name)).",".$this->db->escape(trim($location)).",".$this->db->escape(trim($address)).",".$this->db->escape(trim($mobile)).",".$this->db->escape(trim($landline)).",".$this->db->escape(trim($personname)).",".$this->db->escape(trim($persondesignation)).",".$this->db->escape(trim($personmobile)).",".$this->db->escape(trim($email)).",".$this->db->escape(trim($personemail)).",".$this->db->escape(trim($otherinfo)).",".$this->db->escape(trim($partnerflag)).",".$this->db->escape(trim($logodisplayflag)).",".$this->db->escape(trim($logo)).",".$this->db->escape(trim($url)).",".$this->db->escape(trim($status)).")";
return $this->db->query($sql);
}
}
只有当
if(is_numeric($client\u id)&&&$client\u id>0)
isfalse
只有else部分在运行查询时,才运行查询
改变
return $this->db->query($sql);
}
到
您必须使用CodeIgniter的活动记录实现来确保它的安全。这没关系,但现在我想编辑并更新它。thaks用于回复,当再次编辑时,这不是我的问题,要求文件必须上载。如果我在编辑时上传,然后提交,则会插入另一条记录。
} // move this up
return $this->db->query($sql);