首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单击“删除”按钮后删除单个db行

单击“删除”按钮后删除单个db行
EN

Stack Overflow用户
提问于 2015-10-07 08:58:27
回答 4查看 3.1K关注 0票数 1

我有一个查询,当单击DB按钮时,希望从DB中删除一行。现在,它正在删除整个DB行。但是我想通过ID删除一行。

,这是 code

代码语言:javascript
复制
add_action('admin_menu', 'conference_register');
function conference_register(){
      add_options_page('Register Conference', 'Conference Registration',  'manage_options', 'conference-registration', 'display_conference');
}

function display_conference(){
    echo "<form method='post'>";
    echo "<div class='wrap'>";
    echo "<h2>Conference Registration User Details</h2>";
    global $wpdb;
    $results = $wpdb->get_results("SELECT `id`,`email`,`details` FROM `conference_register`"); ?>
    <table class="wp-list-table widefat fixed striped pages">
      <thead>
          <tr>
            <th id="posts" class="manage-column column-posts num">ID</th>
            <th id="email" class="manage-column column-email">Email</th>      
            <th id="description" class="manage-column column-description">Details</th>
            <th id="posts" class="manage-column column-posts num">Delete</th>
          </tr>
      </thead>
    <tbody id="the-list">
   <?php foreach($results as $value){
        echo "<tr>";
        echo "<td class='posts column-posts'>".$value->id."</td>";
        echo "<td class='email column-email'>".$value->email."</td>";
        echo "<td class='description column-description'><div id='col-container'>".$value->details."</div></td>";
        echo "<td class='posts column-posts'><input type='submit' name='delete_registration' value='delete'/></td>";
        echo "</tr>";
         if(isset($_POST['delete_registration'])){
            $wpdb->delete( 'conference_register', array( 'id' => $value->id ) );
        }

    }
    echo "</tbody></table></div></form>";
}

用于单击操作的code设置如下所示:

代码语言:javascript
复制
 if(isset($_POST['delete_registration'])){
    $wpdb->delete( 'conference_register', array( 'id' => $value->id ) );
}

我在这里有遗漏什么吗?任何帮助都将不胜感激。

P.S.我想删除一行而不使用jQuery

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-10-07 09:08:26

如果设置了delete_registration,则在删除行时使用此方法。您需要设置/检查每一行并删除该特定行。

代码语言:javascript
复制
<?php foreach($results as $value){
    echo "<tr>";
    echo "<td class='posts column-posts'>".$value->id."</td>";
    echo "<td class='email column-email'>".$value->email."</td>";
    echo "<td class='description column-description'><div id='col-container'>".$value->details."</div></td>";
    $delRow = "delete_registration_{$value->id}";
    echo "<td class='posts column-posts'><input type='submit' name= $delRow value='delete'/></td>";
    echo "</tr>";
     if(isset($_POST[$delRow])){
        $wpdb->delete( 'conference_register', array( 'id' => $value->id ) );
    }

}
票数 1
EN

Stack Overflow用户

发布于 2015-10-07 09:15:24

您没有传递id,或者数据库查询语法不正常。

票数 0
EN

Stack Overflow用户

发布于 2015-10-07 11:38:38

用这个:

代码语言:javascript
复制
 echo "<td class='posts column-posts'><input type='submit' name= 'delete_registration_{$value->id}' value='delete'/></td>";
 echo "</tr>";
  if(isset($_POST[delete_registration_{$value->id}])){
    $wpdb->delete( 'conference_register', array( 'id' => $value->id ) );
 }

这应该能行

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32987980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档