การลบข้อมูลหลายแถว ด้วย checkbox

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 28508
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

การลบข้อมูลหลายแถว ด้วย checkbox

โพสต์ที่ยังไม่ได้อ่าน โดย thatsawan »

การสร้าง Checkbox
ไฟล์ template
- สร้าง ตัวรับ

โค้ด: เลือกทั้งหมด

<input type="checkbox" name="check[]" value="{row.RANK_ID}" />
- สร้างปุ่มกด เพื่อ ส่งค่า เข้า เงื่อนไข

โค้ด: เลือกทั้งหมด

<input type="submit" name="delmarked" value="{L_DELETE_MARKED}" />
<input type="hidden" name="submode" value="{CHECK}" /></form>
- สร้างเมนูเพื่อ เลือกทั้งหมด และ ยกเลิกที่เลือก

โค้ด: เลือกทั้งหมด

<p class="small"><a href="#" onclick="marklist('chk', 'check', true); return false;">{L_MARK_ALL}</a> &bull; <a href="#" onclick="marklist('chk', 'check', false); return false;">{L_UNMARK_ALL}</a></p>
**('chk', 'check', true)**
Chk = id ของฟอร์ม
'check' = ชื่อของ checkbox
Ture = ค่า


ไฟล์ php
- สร้างตัวแปรเพื่อ ส่งค่า ทำงานตามเงื่อนไข

โค้ด: เลือกทั้งหมด

default:
$template->assign_vars(array(
            'U_ACTION'            => $this->u_action,
            'SUBACCTION'              =>'add',
            'CHECK'             =>'checkbox',
));                
break; 
- สร้างเงื่อนไข ในการลบ

โค้ด: เลือกทั้งหมด

case 'checkbox' :
foreach($check as $rank_id)
            {                        
        $sql = 'DELETE FROM ' . RANKS_TABLE . "
             WHERE rank_id = $rank_id";
        $db->sql_query($sql);    
            }
break; 
- สร้างตัวแปรรับค่า ที่ส่งมาเป็น array

โค้ด: เลือกทั้งหมด

$check = request_var('check', array(''=>''), true); 
- สร้าง ปุ่มยืนยัน ก่อนลบ

โค้ด: เลือกทั้งหมด

case 'checkbox' :
        if (confirm_box(true))
        {
        foreach($check as $rank_id)
         {                        
        $sql = 'DELETE FROM ' . RANKS_TABLE . "
        WHERE rank_id = $rank_id";
        $db->sql_query($sql);    
        }
            $message = $user->lang['DELETE'];
            trigger_error($message . adm_back_link($this->u_action));    
        }else{    
            confirm_box(false, $user->lang['CONFIRM_OPERATION'], build_hidden_fields(array(
                'submode'    => 'checkbox',
                'check' => $check,
            )));
            }
        $message = $user->lang['BACK'];
        trigger_error($message . adm_back_link($this->u_action));    
    break; 
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: Bing [Bot] และบุคลทั่วไป 101