Один пользователь несколько адресов доставки, как сделать это по умолчанию

0

Один пользовательский несколько адресов доставки, как сделать это по умолчанию, если нажать кнопку "Сделать как по умолчанию", этот адрес должен быть по умолчанию и оставлен по всему адресу, указанному как кнопка по умолчанию в конкретном адресном поле, за исключением поля адреса по умолчанию.

Просмотр страницы

<?php foreach ($buyer_Address as $row) { ?>
    <div class="col-md-4">
        <div class="panel panel-default add_min_height">
            <div class="panel-heading">Default:</div>
            <input type="hidden" name="de" id="de" value="<?php echo $row->b_id; ?>">
            <div class="panel-body">
                <address><?php echo $row->b_fullname; ?><br>
                    <?php echo $row->b_street_address; ?>,<?php echo $row->b_locality ?>,<br>
                    <?php echo $row->b_landmark; ?>,
                    <?php echo $row->b_city; ?>, <?php echo $row->b_state; ?>,<?php echo $row->b_pincode; ?>
                    India
                    Phone number: <?php echo $row->b_mobile_number; ?></address>
            </div>
            <div class="panel-footer">
                <a href="<?php echo base_url(); ?>index.php/welcome/buyereditaddress?id=<?php echo $row->b_id; ?>" >Edit</a> 
                <i class="fa fa-ellipsis-v"></i>
                <a href="<?php echo base_url(); ?>index.php/welcome/buyerdeleteaddress?id=<?php echo $row->b_id; ?> ">Delete</a>
                <i class="fa fa-ellipsis-v"></i>
                <?php if ($row->status == '0') { ?>
                    <button type="submit" style="color:#337ab7;background: none !important;border: none;" name="default" id="default">Make as deafault</button> 
                <?php } ?>
            </div>
        </div>
    </div>
<?php } ?>

контроллер

 public function defaultAddress() {
        $id = $this->input->post('de');
        $this->BuyerProfile_Model->defaultAddress($id);
        redirect('welcome/buyeraddresses');
    }

модель

 function defaultAddress($id) {

        $this->db->trans_start();
        $this->db->query("UPDATE buyer_order_address SET status = '0' WHERE b_id = '$id'");
        $this->db->query("UPDATE buyer_order_address SET status = '1' WHERE b_id = '$id'");
        $this->db->trans_complete();
    }

Изображение 174551

Изображение 174551

Заранее благодарю за любую помощь.

Теги:
codeigniter

1 ответ

1
Лучший ответ

Измените свою кнопку следующим образом

<button type="button" class="btn btn-info mk-def" data-id="<?php echo $candidate_id; ?>" >Make as default</button>

Добавить следующий сценарий ajax

$('.mk-def').click(function () {
    var btn = $(this);
    var candidate_id = btn.data('id');
    console.log(candidate_id);
    $.ajax({
        url: '<?=base_url("index.php/BuyerProfile_Controller/defaultAddress"); ?>',
        type: 'POST',
        data: "candidate_id="+candidate_id,
        dataType: 'TEXT',
        success: function (data) { console.log(data);
            btn.text('FINISHED'); location.reload();
        }
    });
});

измените функцию контроллера следующим образом.

public function defaultAddress() {
    $candidate_id = $this->input->post('candidate_id');
    $this->BuyerProfile_Model->defaultAddresss($candidate_id);      
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню