php - How to add a logo path to my company table in Codeigniter? -
i have form adding companies database. i've added field called logo. want use field user can upload logo company. using codeigniter upload class in form.
my company table looks this:
companies --------- id companyname address postalcode country email website logo
my form looks liek this:
<tr> <td><?= form_label('bedrijfsnaam:');?></td> <td><?= form_input('bedrijfsnaam');?><small> (spaties niet toegestaan)</small></td> </tr> <tr> <td><?= form_label('adres:');?></td> <td><?= form_input('adres');?></td> </tr> <tr> <td><?= form_label('postcode:');?></td> <td><?= form_input('postcode');?></td> </tr> <tr> <td><?= form_label('plaats:');?></td> <td><?= form_input('plaats');?></td> </tr> <tr> <td><?= form_label('telefoonnummer:');?></td> <td><?= form_input('telefoonnummer');?></td> </tr> <tr> <td><?= form_label('website:');?></td> <td><?= form_input('website');?></td> </tr> <tr> <td><?= form_label('email:');?></td> <td><?= form_input('email');?></td> </tr> <tr> <td><?= form_label('profiel:');?></td> <td><?= form_textarea('profiel');?></td> </tr> <tr> <td><?= form_label('categorieen:'); ?></td> <td><?= form_dropdown('categorieen', $opties); ?></td> </tr> <tr> <td><?= form_label('logo:'); ?></td> <td><input type="file" name="logo" size="20" /></td> </tr> <tr> <td><?= form_submit('submit', 'opslaan');?> <?= form_reset('reset', 'reset');?></td> </tr>
my model looks this:
$data1 = array( 'bedrijfsnaam' => $this->input->post('bedrijfsnaam'), 'postcode' => $this->input->post('postcode'), 'plaats' => $this->input->post('plaats'), 'telefoonnummer' => $this->input->post('telefoonnummer'), 'email' => $this->input->post('email'), 'website' => $this->input->post('website'), 'profiel' => $this->input->post('profiel'), 'adres' => $this->input->post('adres'), 'logo' => $this->input->post('logo') ); $this->db->insert('bedrijven',$data1);
i know won't work can't figure out how this.
i have uploadform that's uploading images, not logo.
what's best way using upload class?
edit:
i empty field when add new company.
my controller:
function addbedrijven() { $config['upload_path'] = './assets/uploads/'; $config['allowed_types'] = 'gif|jpg|png'; $config['max_size'] = '1000'; $config['max_width'] = ''; $config['max_height'] = ''; $config['overwrite'] = true; $config['remove_spaces'] = true; $this->load->library('upload', $config); if($this->upload->do_upload('logo')){ $logo_image_data = $this->upload->data(); } $this->members_model->addbedrijf(); redirect('members/index'); }
my model:
function addbedrijf() { $logo_image_data = $this->upload->data(); $data1 = array( 'bedrijfsnaam' => $this->input->post('bedrijfsnaam'), 'postcode' => $this->input->post('postcode'), 'plaats' => $this->input->post('plaats'), 'telefoonnummer' => $this->input->post('telefoonnummer'), 'email' => $this->input->post('email'), 'website' => $this->input->post('website'), 'profiel' => $this->input->post('profiel'), 'adres' => $this->input->post('adres'), 'logo' => $logo_image_data['full_path'] ); $this->db->insert('bedrijven',$data1); }
you can use codeigniter
upload
class within same form
$config_logo_image = array( 'allowed_types' => 'jpg|jpeg|gif|png', 'upload_path' => upload_path, 'max_size' => 2000, ); $this->load->library('upload', $config_logo_image ); if($this->upload->do_upload('logo_image')){ $logo_image_data = $this->upload->data(); }
and through data in $data
array
$data1 = array( 'bedrijfsnaam' => $this->input->post('bedrijfsnaam'), 'postcode' => $this->input->post('postcode'), 'plaats' => $this->input->post('plaats'), 'telefoonnummer' => $this->input->post('telefoonnummer'), 'email' => $this->input->post('email'), 'website' => $this->input->post('website'), 'profiel' => $this->input->post('profiel'), 'adres' => $this->input->post('adres'), 'logo' => $logo_image_data ['full_path'] // full path of image ); $this->db->insert('bedrijven',$data1);
'logo' =>$logo_image_data ['file_name'] //only file name
hope makes sense
Comments
Post a Comment