Når du får indlæg, er kolonnenavnet book_id . Når du sletter er id . Så måske skal du ændre det til book_id .
Også $this->uri->segment(3) i dette tilfælde vil returnere null, fordi function delete() havde ikke parametre. Læs flere detaljer her
Men jeg vil lave nogle ændringer:
Controller:
public function delete()
{
$id=$this->uri->segment(3); // Try to write any id here, or in function put parameter
$this->book_model->deletepost($id);
$data['books']=$this->book_model->getposts();
$this->load->view('showbooks',$data);
}
Model:
public function getposts() {
return $this->db->get('books')->result_array();
}
public function deletepost($id) {
$this->db->where('book_id',$id); // I change id with book_id
$this->db->delete('books');
}