2013-05-27 52 views
0

我有我的編輯companydata如窗體:姓名,國家,電話號碼,等...如何編輯公司的編輯形式,除了1場笨

我也有一個形式加入企業我的數據庫。在addform中我有一個上傳功能,所以公司可以上傳一個Logo。

我的問題是,當我想編輯公司時,我已經刪除了上傳功能。但是,當我提交徽標字段設置爲0,因爲我把它留空。

我該如何解決這個問題?

我想是這樣我f(isset($this->input->post('logo'))){ some code }else{ 'Logo' => $this->input->post('Logo') };

我editform看起來是這樣的:

<?= form_open('members/update/'.$id);?> 
<table> 
<br/> 
<b>NAW Gegevens</b> 
    <tr> 
    <td><?= form_label('Bedrijfsnaam:');?></td> 
    <td><?= form_input('Bedrijfsnaam', $info['Bedrijfsnaam']);?><small> (Spaties niet toegestaan)</small></td> 
    </tr> 

    <tr> 
    <td><?= form_label('Adres:');?></td> 
    <td><?= form_input('Adres', $info['Adres']);?></td> 
    </tr> 

    <tr> 
    <td><?= form_label('Postcode:');?></td> 
    <td><?= form_input('Postcode', $info['Postcode']);?></td> 
    </tr> 

    <tr> 
    <td><?= form_label('Plaats:');?></td> 
    <td><?= form_input('Plaats', $info['Plaats']);?></td> 
    </tr> 

    <tr> 
    <td><?= form_label('Telefoonnummer:');?></td> 
    <td><?= form_input('Telefoonnummer', $info['Telefoonnummer']);?></td> 
    </tr> 

    <tr> 
    <td><?= form_label('Website:');?></td> 
    <td><?= form_input('Website', $info['Website']);?></td> 
    </tr> 

    <tr> 
    <td><?= form_label('Email:');?></td> 
    <td><?= form_input('Email', $info['Email']);?></td> 
    </tr> 

    <tr> 
    <td><?= form_label('Profiel:');?></td> 
    <td><?= form_textarea('Profiel', $info['Profiel']);?></td> 
    </tr> 

    <tr> 
    <td><?= form_label('Categorieen'); ?></td> 
    <td><?= form_dropdown('categorieen', $opties); ?></td> 
    </tr> 

    <tr> 
    <td><?= form_submit('submit', 'Opslaan');?> <?= form_reset('reset', 'Reset');?></td> 
    </tr> 


</table> 
<?= form_close()?> 

我的控制器功能:

function updatebedrijven() 
{ 
    $dbres = $this->db->get('categorieen'); 
    $ddmenu = array(); 
    foreach ($dbres->result_array() as $tablerow) { 
     $ddmenu[$tablerow['idcategorieen']] = $tablerow['Categorie'];  
    } 
    $data['opties'] = $ddmenu; 
    $id = $this->uri->segment(3); 

    $data['info'] = $this->members_model->getbedrijf($id); 
    $data['id'] = $id; 
    $this->load->view('members/header'); 
    $this->load->view('members/editform', $data); 
    $this->load->view('members/footer');  
} 

function update() 
{ 
    $id = $this->uri->segment(3); 
    echo 'id: '.$id; 
    $data = 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->members_model->updatebedrijf($id, $data); 
    $b = $this->session->userdata('idbedrijven'); 
    redirect("members/$b"); 
} 

我怎樣才能讓我的形式記住當前標識將字段留空?

回答

1

$this->input->post('logo')返回false如果該字段爲空或不存在(請參閱http://ellislab.com/codeigniter/user-guide/libraries/input.html)。

由於您使用false值更新了徽標字段,因此它在數據庫中被覆蓋。請檢查您是否設置此字段前場設置:'logo' => $this->input->post('logo')

你可以看看http://ellislab.com/codeigniter/user-guide/database/active_record.html#update

+0

我不知道怎麼去解決它,這就是爲什麼我問的問題。我已閱讀關於更新的文檔。 –

+0

你使用哪個數據庫? MySQL的? – 3x14159265

+0

是的。我正在使用mysql。 –