Как удалить данные с 2 параметрами (ГДЕ ... И) в CodeIgniter - PullRequest
0 голосов
/ 11 октября 2019

У меня небольшая проблема, я хочу удалить данные на 2, где условия, может быть, я сделал что-то не так в моем представлении

Я пытаюсь удалить данные на id_user и id_produk

 //this is my view

<?php $rows = $this->db->query("SELECT * FROM V_cart where id_user='".$this->session->id_user."'")->result_array();{?>
                                <?php foreach($rows as $cr):?>
                                    <tr>
                                        <td class=""><img style="width:100px;" src="<?= base_url('assets/images/produk/').$cr['foto'];?>" alt="product img"></a>
                                        <td class="product-name"><?= $cr['nama_produk'];?></td>
                                        <td class="product-price"><?= $cr['harga'];?></td>
                                        <td class="product-price"><?= $cr['ukuran'];?></span></td>
                                        <input type="hidden" name="harga" value="<?= $cr['harga'];?>">
                                        <td><input name="jumlah" type="number" min='1' value="<?= $cr['jumlah'];?>"> </td>       
                                        <td id="amount" class="product-subtotal"><?= $cr['total_harga'];?></td>    
                                        <td class=""><a href="<?php echo base_url();?>user/del_cart/<?=$id=$cr['id_produk'];?>" href="<?php echo base_url();?>user/del_cart/<?=$id=$this->session->id_user;?>"  name="submit" style="color:#fff;" class="btn btn-small btn-danger" ><i class="fa fa-trash"></i></a>         
                                    </tr>
                                    <?php endforeach;?>   
                                    <?php } ?>
                                </tbody>

// это мой контроллер

     public function del_cart($id){
           $where=array(['id_user'=>$id],['id_produk'=>$id]); var_dump($where);
           $this->M_admin->del_cart($where,'tbl_cart');
           $this->session->set_flashdata('notif','<div class="alert alert-primary" role="alert"> <strong>Data Berhasil dihapus! </strong> <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button></div>');
           redirect('user/cart');
        }

// а это моя модель

function del_cart($where,$table){
    $this->db->where($where);
    $this->db->delete($table);
}

Я хочу удалить данные по 2 параметрам, id_user и id_produk.

Ответы [ 2 ]

0 голосов
/ 11 октября 2019
<a href="<?php echo base_url();?>user/del_cart/<?php echo $cr['id_produk'].'/'.$this->session->id_user;?>" style="color:#fff;" class="btn btn-small btn-danger" ><i class="fa fa-trash"></i></a>

Используйте тег href один раз. Просто передайте два параметра, как этот, если вы используете переменную сеанса, не нужно передавать отсюда, вы можете добавить это ваш контроллер или модель, где предложение. Код вашего контроллера будетбыть как

function del_cart($param1,$param2){
$where=array('table_col1'=>$param1,'table_col2'=>$param2);
$this -> Model_name -> del_cart($where,$table_name);
}

0 голосов
/ 11 октября 2019

Один из правильных синтаксисов для удаления:

$this->db->delete($table, $where);

Где $where - это массив , а не массив массивов .

Итак, решение это:

function del_cart($where,$table){
    $this->db->delete($table, $where);
}

И вызов:

$this->M_admin->del_cart(
    ['id_user' => $id, 'id_produk' => $id],
    'tbl_cart'
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...