删除自定义wp数据库中的行


delet row in custom wp db

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

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>";

乌拉!