0

企業に属するオファーを追加するためのフォームがあります。それらを削除して追加することはできますが、編集を使用することはできません。

[編集] をクリックすると、1 つのテーブルのみが変更され、これを解決する方法がわかりません。コードイグナイターを使用しています。

私のテーブル構造:

Aanbiedingen
idaanbiedingen | Aanbieding | Omschrijving | prijs | conditie

fotoaanbiedingen
idfotoaanbiedingen | fotonaam

bedrijfaanbiedingen
idbedrijfaanbiedingen | idaanbiedingen | idfotoaanbiedingen | idbedrijven

私のbedrijvenテーブルは単なる会社です。ID を使用してそれらをオファーにリンクします。

私のコントローラーは次のようになります。

function editaanbieding()
{
    $id = $this->uri->segment(3);
    $data = array(
        'Aanbieding' => $this->input->post('aanbiedingnaam'),
        'Tekst' => $this->input->post('aanbiedingomschrijving'),
        'Prijs' => $this->input->post('aanbiedingprijs'),
        'Conditie' => $this->input->post('aanbiedingconditie')
    );
    $this->aanbieding_model->edit_aanbieding($data, $id);
    redirect('members/aanbiedingen');
}

私のモデルは次のようになります。

function get_aanbiedingen()
{
    $id = $this->uri->segment(2);
    $this->db->where('bedrijfaanbiedingen.idbedrijven', $id);
    $this->db->join('fotoaanbiedingen', 'bedrijfaanbiedingen.idfotoaanbiedingen = fotoaanbiedingen.idfotoaanbiedingen');
    $this->db->join('bedrijven', 'bedrijfaanbiedingen.idbedrijven = bedrijven.idbedrijven');
    $this->db->join('Aanbiedingen', 'bedrijfaanbiedingen.idaanbiedingen = Aanbiedingen.idaanbiedingen');

    $query = $this->db->get('bedrijfaanbiedingen');
    return $query->result_array();
}

function edit_aanbieding($data, $id)
{
    $this->db->where('idaanbiedingen', $id);
    $this->db->update('Aanbiedingen', $data); 

    $this->insert_bedrijfcat1($id); 
}

function insert_bedrijfcat1($id) 
{     
    $id2 = $this->session->userdata('idbedrijven');
    echo '<pre>';
    print_r($id2);
    die;
    $this->db->query("DELETE FROM `bedrijfaanbiedingen` WHERE `idaanbiedingen` = '" . $id. "'");

    $this->db->query("INSERT INTO `bedrijfaanbiedingen` (`idaanbiedingen`, `idbedrijven`, `idfotoaanbiedingen` ) VALUES ('".$id."', '".$id2."', '".$id3."')");
}   

しかし、多くのコードが欠けています。私は一日中これに苦労しています。したがって、これに対する解決策はわかりません。

私の編集フォームは次のようになります。

<div id="cpanel">
<?php foreach($aanb as $aanb) ?>
<h2>Aanbieding: <?php echo $aanb['Aanbieding']; ?> voor: <?php echo $aanb['Bedrijfsnaam'];?>, aanpassen</h2>
<br/>
<b>Pas hier uw aanbieding toe.</b>
<?php echo br(2); ?>
<?= validation_errors(); ?>
<?php $id = $this->uri->segment(3); ?>
<?= form_open_multipart("members/editaanbieding/$id");?>

<?php $options = array(
    'Nieuw' => 'Nieuw',
    'Gebruikt' => 'Gebruikt'
    );
?>

<table>

    <tr>
    <td><?= form_label('Aanbieding:');?></td>
    <td><?= form_input('aanbiedingnaam', $aanb['Aanbieding']);?></td>
    </tr>

    <tr>
    <td><?= form_label('Omschrijving:');?></td>
    <td><?= form_textarea('aanbiedingomschrijving', $aanb['Tekst']);?></td>
    </tr>

    <tr>
    <td><?= form_label('Prijs:');?></td>
    <td>€ <input type="number" name='aanbiedingprijs' step="any" value="<?php echo $aanb['Prijs']?>" /><td>
    </tr>

    <tr>
    <td><?= form_label('Conditie:');?></td>
    <td><?= form_dropdown('aanbiedingconditie', $options);?></td>
    </tr>

    <tr>
    <td><?= form_label('Foto');?></td>
    <td><?= form_upload('aanbiedingfoto');?></td>
    </tr>

    <tr>
    <td><?= form_submit('submit', 'Verzenden');?></td>
    <td><?= form_reset('reset', 'Reset'); ?></td>
    </tr>
</table>
<br/>
<a href="<?php echo base_url();?>members/aanbiedingen">Terug</a>
<?php form_close(); ?>
</div>

誰かが私を助けてくれることを願っています。

4

4 に答える 4

1

更新クエリですか?

UPDATE table_name
SET column_name
WHERE ;
于 2013-06-19T13:46:38.950 に答える
0

この方法を試してください

$this->db->where('a_id',$a_id);
$this->db->where('b_id',$b_id);
$this->db->where('c_id',$c_id);
$this->db->where('d_id',$d_id);
$this->db->update('yourtable',$data_posted);
于 2013-06-19T13:50:52.090 に答える