Home >PHP Framework >ThinkPHP >How to implement the select all and delete functions in thinkphp
ThinkPHP is a very popular PHP development framework. It provides developers with a convenient and efficient development method and rich functions, and is widely used in various types of Web development projects. In development projects, it involves operations after selecting data. At this time, we need to select all and delete functions. Let's introduce how to use ThinkPHP to implement the select all and delete functions.
1. Implementation of select all function
1. In the view file, we need to add a select all button, similar to the following code:
<input type="checkbox" name="chkall" onclick="check_all(this)">
Among them, check_all()
The function is to select or deselect all:
function check_all(obj){ $(':checkbox').prop('checked', $(obj).prop('checked')); }
Here, the jQuery selector is used to select all checkboxes and use the prop() method to set its checked attribute .
2. Taking ThinkPHP as an example, we assume that we have obtained the data that needs to be selected and passed it to the view page. At this time, we need to use a for loop to traverse each data and add it checkbox and ID, the code is as follows:
<?php foreach($list as $data):?> <tr> <td><input type="checkbox" name="ckb[]" value="<?php echo $data['id'];?>" ></td> <td><?php echo $data['title'];?></td> </tr> <?php endforeach;?>
Here, in order to facilitate the operation, an array is used to pass the value of the checkbox. The name of the checkbox is ckb[]
, and its corresponding value is the line The ID value of the data.
3. At this time, we only need to obtain all selected checkboxes when submitting the form and combine their corresponding values into a new array to achieve the function of selecting all. The specific implementation code is as follows:
public function all(){ $ids = input('post.ckb/a'); if(empty($ids)){ return $this->error('请选择要删除的数据!'); } $ids = implode(',',$ids); $where['id'] = array('in',$ids); $result = db('table')->where($where)->delete(); if($result){ return $this->success('删除成功!'); }else{ return $this->error('删除失败!'); } }
Here, input('post.ckb/a')
is used to obtain the values of all checkboxes passed when submitting the form, using implode( )
method concatenates it into a string and uses it to query data in the database.
2. Implementation of batch deletion function
To implement the batch deletion function, you need to combine the previous select all function. The specific steps are as follows:
1. First, the user needs to select the items that need to be deleted. data, and then click the delete button (or other custom button). At this time, you need to obtain the selected data and delete it.
2. In order to facilitate operation, we can combine all selected data ID values into a string (separated by English commas), and then pass it to the next processing function.
3. Use the where() function to set the deletion condition to id in (ids)
(where ids is the ID of all the data to be deleted), and then use the delete() function to delete the Conditional data is sufficient.
The specific implementation code is as follows:
public function delete(){ $ids = input('post.ids/s',''); if(empty($ids)){ return $this->error('请选择要删除的数据!'); } $where['id'] = array('in',$ids); $result = db('table')->where($where)->delete(); if($result){ return $this->success('删除成功!'); }else{ return $this->error('删除失败!'); } }
The above is how to use ThinkPHP to implement the select all and batch delete functions. Through the above introduction, I hope it will be helpful to everyone in development. I also hope that everyone should pay attention to the standardization and safety of the code while using the framework.
The above is the detailed content of How to implement the select all and delete functions in thinkphp. For more information, please follow other related articles on the PHP Chinese website!