Разместите идентификатор при удалении в codeigniter - PullRequest
0 голосов
/ 01 января 2019

У меня есть две таблицы users и posts, где первичный ключ - id.Когда я нажимаю на кнопку удаления, я хочу опубликовать id.

Вот мой просмотр:

<table class="table">
    <thead class="thead-dark">
        <tr>
            <th scope="col">Title</th><th scope="col">Hit</th>
            <th scope="col">Edit</th><th scope="col">Delete</th><th scope="col">Read More</th>
        </tr>
    </thead>
    <tbody>
        <?php foreach($posts as $post) : ?>
            <?php if($this->session->userdata('username') ==  $_SESSION["username"]): ?>
                <tr>
                    <td><?php echo $post['title']; ?> </td>
                    <td><?php echo $post['post_views']; ?></td>
                    <td><a class="btn btn-default" href="<?php echo base_url(); ?>posts/edit/<?php echo $post['slug']; ?>">Edit</a></td>
                    <td>
                        <?php echo form_open('/posts/delete/'.$post['id']); ?>
                            <input type="submit" value="Delete" class="btn btn-danger">
                            <input type="hidden" name="id" value="<?php echo $post['id'] ?>" />
                        </form>
                    </td>
                    <td><p><a class="btn btn-default" href="<?php echo site_url('/posts/'.$post['slug']); ?>">Read More</a></p></td>
                </tr>
            <?php endif; ?>
        <?php endforeach; ?>
    </tbody>
</table>

Ответы [ 3 ]

0 голосов
/ 02 января 2019

удалить ссылку с конфитацией

<a href="javascript:;" class="btn btn-danger" onclick="delete('<?php echo $post['id'] ?> ')">Delete</a>

вызвать метод удаления в js и затем показать сообщение msg.

0 голосов
/ 02 января 2019

Почему вы используете тег form для вызова функции?Вы можете легко сделать это с помощью тега привязки и передать id.Этот однострочный код будет отлично работать

<td><a class="btn btn-danger" href="<?= site_url('posts/delete/'.$post['id']) ?>">Delete</a></td>

В контроллере delete функция будет такой:

public function delete($id){
   echo $id;
}
0 голосов
/ 02 января 2019

Существует так много способов сделать это, самый лучший из них - получить его от url, например:

$id = @end($this->uri->segment_array());

Или вот:

$id = $this->uri->segment(3);

Или вы можете сделать это, передав его в виде скрытого ввода:

<?php echo form_open('/posts/delete/'.$post['id']); ?>
    <input type="submit" value="Delete" class="btn btn-danger">
    <input type="hidden" name="id" value="<?php echo $post['id'] ?>" />
</form>

Или используя ajax.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...