删除自定义 wp db 中的行 [英] delet row in custom wp db

查看:29
本文介绍了删除自定义 wp db 中的行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试从我在 WP db 中创建的自定义表中删除一行.问题是删除总是删除最后一行,而不是所需的行.不确定 $_POST['field_id']; 是否正确传递.有什么想法吗?

I'm trying to delete a row from my custom table created in WP db. The problem is that the delete always removes the last row, not the row desired. Not sure if the $_POST['field_id']; was passed properly. Any ideas?

global $wpdb;
global $current_user;
get_currentuserinfo();
$user_id = $current_user->ID;
$table_add_one = $wpdb->prefix . "wwy_data_one";
$table_add_two = $wpdb->prefix . "wwy_data_two";


$row = $wpdb->get_results( "SELECT * FROM wp_wwy_data_one WHERE user_id=$user_id  ORDER BY slide_number");
echo '<form action="" method="post" enctype="multipart/form-data">';
    echo "<table class='display'>"; 
    echo "<th>Slide#</th>";
    //echo "<th>User ID</th>";
    echo "<th>Map</th>";
    echo "<th>Date</th>";
    echo "<th>Lenght</th>";
    echo "<th>Caption</th>";
    echo "<th>Action</th>";
    echo "<th>Markers</th>";
    if (!$row){ echo "<tr><td colspan='6'>No Slides created!</td></tr>";}

    foreach ( $row as $row ) 
    { 
    // delete row
    $warn_del = '"Are you sure to delete this slide?"';

    if(isset($_POST['field_id'])) {
     $table_add_one = $wpdb->prefix . "wwy_data_one";   
     $the_value = $_POST['field_id'];
     $rows_affected_one = $wpdb->delete( $table_add_one, array( 'field_id' => $the_value ));     
    }             
     echo "<tr>";    
     echo "<td>" . $row->slide_number . "</td>";
    // echo "<td>" . $row->user_id . "</td>";
     echo "<td>" . $row->map_type . "</td>";
     echo "<td>" . $row->date . "</td>";
     echo "<td>" . $row->length . "</td>";
     echo "<td>" . $row->caption . "</td>";  
     echo "<td><input type='hidden' name='field_id' value='$row->field_id'><input onclick='return confirm($warn_del);' type='submit' value='delete' class='delete'></td>";   
    echo '<td><label><input type="radio" name="geo" rel="'.$row->slide_number.'" />Show</label></td>';  
    echo "</tr>";
    } 
    echo "</table>";
    echo "</form>";

推荐答案

这可能有帮助

echo "<td><input type='hidden' name='field_id' value='$row->field_id'><input onclick='return confirm($warn_del);' type='submit' value='delete' class='delete'></td>";

像这样使用

echo "<td><input type='submit' name='field_id' value='" . $row->field_id . "' placeholder='Delete'  onclick='return confirm($warn_del);'><td>";

哇啦!

这篇关于删除自定义 wp db 中的行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆