是否正确传递.有什么想法吗?
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>";
哇啦!