2015-03-20 2 views
0

Как получить идентификатор пользователя из соответствующих строк таблицы для редактирования или удаления? В моей таблице есть столбец действий, в котором есть кнопка редактирования и удаления. Это мое мнение:codeigniter Как редактировать или удалять строки в таблице

<table class="table table-striped"> 
    <tr> 
    <td>First Name</td> 
    <td>Last Name</td> 
    <td>Address Name</td> 
    <td>Action</td> 
    </tr> 
    <?php foreach($results as $row): ?> 
    <tr> 
     <td><?php echo $row->first_name; ?></td> 
     <td><?php echo $row->last_name; ?></td> 
     <td><?php echo $row->address; ?></td> 
     <td><a href="" class="btn btn-info">Edit</a> 
     <a href="<?php echo base_url()."main/deleteclient" ?>"          
      class="btn btn-danger" 
       onclick="return confirm 
       ('Are you sure to Delete?')">Delete</a></td> 

       </tr> 
       <?php endforeach; ?> 

</table> 
+0

Есть ли запрос, возвращающий идентификатор? – abaracedo

+0

Вы не должны использовать ссылку (запрос GET) для удаления контента. Вместо этого используйте форму и POST. – jeroen

+0

Можете ли вы разместить свой контроллер и модель? –

ответ

0

Изменить

<a href="<?php echo base_url()."main/deleteclient" ?>"          
      class="btn btn-danger" 
      onclick="return confirm 
      ('Are you sure to Delete?')">Delete</a> 

в

<a href="<?php echo base_url()."main/deleteclient?id=".$row->id ?>"          
      class="btn btn-danger" 
      onclick="return confirm 
      ('Are you sure to Delete?')">Delete</a> 

А потом из вашего PHP скрипта проверки, если переменная «идентификатор» существует в $ _GET и обрабатывать удаление.

Работа над форматированием ответа.

+0

Вы можете разместить код для модели и контроллера? –

+0

Вы выбрали поле id (первичный ключ)? в модели ?? если вы выбрали это поле, то оно появится здесь ... –

+0

Это моя модель: public function getall() { \t \t \t $ query = $ this-> db-> query ("select * from client") ; \t \t \t return $ query-> result(); \t \t} –

0
As like you are getting other table values like first name and last name there should be (if you gave an primary id) an id for each row. So you can get that id for each row and send it to your delete function by URL. 

    <?php foreach($results as $row): ?> 
      <tr> 

       <td><?php echo $row->first_name; ?></td> 
       <td><?php echo $row->last_name; ?></td> 
       <td><?php echo $row->address; ?></td> 
       <td><a href="" class="btn btn-info">Edit</a> 

<a href="<?= base_url();?>main/deleteclient/<?= $row->id;?>"></a>          
        class="btn btn-danger" 
        onclick="return confirm 
        ('Are you sure to Delete?')">Delete</a></td> 

        </tr> 
        <?php endforeach; ?> 

ADD $ row-> идентификатор в тегах, и это будет принимать идентификатор строки в вашей функции deleteclient в главном контроллере при нажатии этой кнопки.

+0

не могли бы вы отправить код контроллера? –

+0

Проверьте эту ссылку. вы узнаете, как работает система URL в кодеригере. Если вам нужна дополнительная помощь после прочтения этого, дайте мне знать. :) https://ellislab.com/codeigniter/user-guide/general/urls.html –

+0

Статья была полезной, но я все еще не понял, чтобы получить идентификатор пользователя в контроллере. –

0

благодарю y'all so much .. Вот как я удалил строки. Дайте мне знать, есть ли у вас лучшие способы сделать это!

view: 

    <table class="table table-striped"> 
     <tr> 
     <td>First Name</td> 
     <td>Last Name</td> 
     <td>Address</td> 
     <td>Citizen Number</td> 
     <td>Action</td> 
    </tr> 
    <?php foreach($results as $row): ?> 
    <tr> 

    <td><?php echo $row->first_name; ?></td> 
    <td><?php echo $row->last_name; ?></td> 
    <td><?php echo $row->address; ?></td> 
    <td><?php echo $row->citizen_no; ?></td> 
    <td><a href="" class="btn btn-info">Edit</a> 
    <a href="<?php echo base_url(). 
    "main/deleteclient?id=".$row->client_id ? >" 
    class="btn btn-danger" 
onclick="return confirm('Are you sure to Delete?')">Delete</a></td> 

</tr> 
<?php endforeach; ?> 

</table> 

    controller: 
     public function deleteclient(){ 
    if(isset($_GET['id'])){ 
     $id=$_GET['id']; 
     $this->load->model('members'); 
     $this->members->row_delete($id); 
     redirect('main/viewclient');} 
} 
    model: 
    public function row_delete(){ 
     $id=$_GET['id']; 
     $this->db->where('client_id', $id); 
     $this->db->delete('client'); 
    } 
Смежные вопросы