I am trying to read data from wordpress custom table. I created table and got data from it. Now I need to create link for every row from table and when I click on link it should delete only one row.
global $wpdb;
$table_name = $wpdb->prefix . 'customtable';
$sql = "SELECT * FROM $table_name";
$check = $wpdb->get_results($sql);
echo '<div class="col-lg-2">';
foreach ($check as $loc){
echo $loc->row1;
echo '<br>';
echo '<form action="" method="post" enctype="multipart/form-data">';
echo '<input type="submit" name="delete" value="Delete" />';
echo '</form>';
echo '<br>';
}
echo '</div>';
if( isset( $_REQUEST['delete'] ))
{
$wpdb->delete( $table_name, [ 'id' => $loc->id] );
}
Link is working but I can't delete specific row.
I tried creating function delete
function delete($id){
global $wpdb;
$table_name = $wpdb->prefix . 'customtable';
$wpdb->delete( $table_name, [ 'id' => $id] );
}
and then outside of foreach loop I defined
if (isset($_REQUEST['delete'])){
$this->delete($loc->id);
}
but again only last row is deleted.