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

Bagaimana untuk melaksanakan fungsi pilih semua dan padam dalam thinkphp

WBOY
Lepaskan: 2023-06-02 19:48:39
ke hadapan
658 orang telah melayarinya

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)">
Salin selepas log masuk

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;));
}
Salin selepas log masuk

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;?>
Salin selepas log masuk

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;);
   }
}
Salin selepas log masuk

Di sini, input(&#39;post.ckb/a&#39;) 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;);
   }
}
Salin selepas log masuk

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!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan