Rumah  >  Artikel  >  rangka kerja php  >  Bagaimana untuk melaksanakan fungsi pilih semua dan padam dalam thinkphp

Bagaimana untuk melaksanakan fungsi pilih semua dan padam dalam thinkphp

WBOY
WBOYke hadapan
2023-06-02 19:48:39602semak imbas

1 Pelaksanaan fungsi pilih semua

1. Dalam fail lihat, kita perlu menambah butang pilih semua, serupa dengan kod berikut:

<input type="checkbox" name="chkall" onclick="check_all(this)">

Antaranya, fungsi check_all() adalah untuk memilih atau nyahpilih semua:

function check_all(obj){
   $(&#39;:checkbox&#39;).prop(&#39;checked&#39;, $(obj).prop(&#39;checked&#39;));
}

Di sini, pemilih jQuery digunakan untuk memilih semua kotak semak dan ditetapkan menggunakan kaedah prop() Its atribut yang disemak.

2. Mengambil ThinkPHP sebagai contoh, kami menganggap bahawa kami telah memperoleh data yang perlu dipilih dan menghantarnya ke halaman paparan Pada masa ini, kami perlu menggunakan gelung for untuk melintasi setiap data dan tambahkannya kotak semak dan ID, kodnya adalah seperti berikut:

<?php foreach($list as $data):?>
<tr>
    <td><input type="checkbox" name="ckb[]"  value="<?php echo $data[&#39;id&#39;];?>" ></td>
    <td><?php echo $data[&#39;title&#39;];?></td>
</tr>
<?php endforeach;?>

Di sini, untuk memudahkan operasi, tatasusunan digunakan untuk menghantar nilai kotak semak Nama kotak semak ialah ckb[] , dan nilai yang sepadan ialah nilai ID bagi baris data.

3. Pada masa ini, kami hanya perlu mendapatkan semua kotak pilihan semasa menyerahkan borang dan menggabungkan nilai yang sepadan ke dalam tatasusunan baharu untuk mencapai fungsi memilih semua. Kod pelaksanaan khusus adalah seperti berikut:

public function all(){
   $ids = input(&#39;post.ckb/a&#39;);
   if(empty($ids)){
       return $this->error(&#39;请选择要删除的数据!&#39;);
   }
   $ids = implode(&#39;,&#39;,$ids);
   $where[&#39;id&#39;] = array(&#39;in&#39;,$ids);
   $result = db(&#39;table&#39;)->where($where)->delete();
   if($result){
       return $this->success(&#39;删除成功!&#39;);
   }else{
       return $this->error(&#39;删除失败!&#39;);
   }
}

Di sini, input('post.ckb/a') digunakan untuk mendapatkan nilai semua kotak pilihan diluluskan semasa menyerahkan borang, gunakan kaedah implode() untuk menggabungkannya menjadi rentetan dan gunakannya untuk menanyakan data pangkalan data.

2. Pelaksanaan fungsi pemadaman kelompok

Untuk melaksanakan fungsi pemadaman kelompok, anda perlu menggabungkan fungsi pilih semua yang sebelumnya adalah seperti berikut:

1 Mula-mula, Pengguna perlu memilih data yang perlu dipadamkan, dan kemudian klik butang padam (atau butang tersuai lain Pada masa ini, data yang dipilih perlu diperoleh dan dipadamkan).

2. Untuk kemudahan, kami boleh menggabungkan semua nilai ID data yang dipilih ke dalam rentetan (dipisahkan dengan koma), dan kemudian menghantarnya ke fungsi pemprosesan seterusnya.

3 Gunakan fungsi where() untuk menetapkan keadaan pemadaman kepada id in (ids) (di mana id ialah ID semua data yang akan dipadamkan), dan kemudian gunakan fungsi delete() untuk memadam data. yang menepati syarat.

Kod pelaksanaan khusus adalah seperti berikut:

public function delete(){
   $ids = input(&#39;post.ids/s&#39;,&#39;&#39;);
   if(empty($ids)){
       return $this->error(&#39;请选择要删除的数据!&#39;);
   }
   $where[&#39;id&#39;] = array(&#39;in&#39;,$ids);
   $result = db(&#39;table&#39;)->where($where)->delete();
   if($result){
       return $this->success(&#39;删除成功!&#39;);
   }else{
       return $this->error(&#39;删除失败!&#39;);
   }
}

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan fungsi pilih semua dan padam dalam thinkphp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam