Я пытаюсь удалить строку из моей пользовательской таблицы, созданной в WP db. Проблема в том, что удаление всегда удаляет последнюю строку, а не нужную строку. Не уверен, что $_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>";
wualla!