【问题标题】:How to create edit and delete for table that receiving data in mysql?如何为在mysql中接收数据的表创建编辑和删除?
【发布时间】:2018-06-05 00:42:12
【问题描述】:

我想用表格显示数据库中的所有帖子,并能够从数据库中删除和编辑帖子。 这是我的代码:

<div id="addPost">
<table border="2">
    <tr>
        <th>ID</th>
        <th>Author Name</th>
        <th>Author ID</th>
        <th>Date</th>
        <th>Title</th>
        <th>Content</th>
    </tr>
    <tr>
        <?php
        // Check connection
        if (!can_connectToDBwithConstant()) {
            return FALSE;
        }
        // Create connection
        $con = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); 
        $query = mysqli_query($con, "SELECT ID,post_author_name,post_author_id,post_date,post_title,post_content FROM  `wp_posts`");
            //php loop to load all post 
            while ($row = mysqli_fetch_array($query)):
                $id = $row['ID'];
                $authorName = $row['post_author_name'];
                $authorID = $row['post_author_id'];
                $date = $row['post_date'];
                $title = $row['post_title'];
                $content = $row['post_content'];
        ?>

        <td><?php echo $id; ?></td>
        <td><?php echo $authorName; ?></td>
        <td><?php echo $authorID; ?></td>
        <td><?php echo $date; ?></td>
        <td><?php echo $title; ?></td>
        <td><?php echo $content; ?></td>
        <td>Edit | Delete</td>
    </tr>
    <?php endwhile; mysqli_close($con); ?>
</table>

问题是:我们如何知道哪些帖子是选中的帖子来编辑或删除?我该怎么做?

【问题讨论】:

  • 您将所有数据放入表中,然后当用户想要“更新”数据时,您从表中读取所有数据并将新数据放入数据库中。你可以用更复杂的方式来做(如果 inputy 改变了,inputz 改变了,那么就只读取和存储它们),但是鉴于你拥有的值数量有限,不只是读取和写入它们吗?

标签: php mysql html-table


【解决方案1】:

有很多方法可以解决这个问题,其中一种是通过标记编辑和删除标签或其他一些元素(td、tr 或从您已有的 id 字段中获取值)。这是一个非常简单的(不是最好的,但它可以非常清楚地了解如何处理这些事情):

<td>
    <button id="edit_<?php echo $id ?>">Edit</button>
    <button id="delete_<?php echo $id ?>">Delete</button>
</td>

通过这个,您可以使用 Jquery o javascript 从按钮中提取 id 值。

【讨论】:

    【解决方案2】:

    这很简单。
    您应该在服务器端有一个 php 脚本来处理删除具有给定 ID 的任何帖子。 就像你不使用 OOP 一样,通过 $_GET 或 $_POST 获取要删除的帖子的 ID,然后处理删除查询,然后重定向到列表页面。

    <?php
        // Check connection
        if (!can_connectToDBwithConstant()) {
            return FALSE;
        }
        // Create connection
        $deleteID = $_GET['id'];
        $con = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); 
        $query = mysqli_query($con, "DELETE from TABLE_NAME where id_column = '".$deleteID."'");
    header('Location: listin.php');
    ?>
    


    并在清单代码中 -

    <a href="www.hostname.com/process_delete.php?id=<?php echo $row["id"]; ?>"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多