Thứ Năm, 23 tháng 6, 2016

Phần 57 - Làm phần cập nhật sản phẩm trang chủ

- Tiếp theo là làm phần  cập nhật sản phẩm trang chủ vào bảng 'san_pham' , bạn tạo file 'sua_san_pham_trang_chu.php' trong thư mục 'san_pham_trang_chu' với nội dung sau :

<?php
    if(!isset($bien_bao_mat)){exit();}
    for($i=1;$i<=10;$i++)
    {
        $ten_select="select_".$i;
        $ten_input="input_".$i;
        $ten_id="id_".$i;
        if(isset($_POST[$ten_id]))
        {
            $id=$_POST[$ten_id];
            $trang_chu=$_POST[$ten_select];
            $sap_xep_trang_chu=$_POST[$ten_input];
            $tv="update san_pham set
                    trang_chu='$trang_chu',
                    sap_xep_trang_chu='$sap_xep_trang_chu'
                    where id='$id';
            ";
            mysql_query($tv);
        }
    }
?>


- Bạn xem giải thích code (phần chữ xanh)  của file 'sua_san_pham_trang_chu.php' ở phần bên dưới :


<?php
    if(!isset($bien_bao_mat)){exit();} // xuất ra trang trắng nếu truy cập trực tiếp vào file này
    for($i=1;$i<=10;$i++)
    // cho biến $i chạy từ 1 đến 10 (để tạo tên cho thẻ 'select' , 'input' )
    // (tên thẻ select là "select_1" -> "select_10" , tên thẻ input là 'input_1' -> 'input_10' , tên thẻ input ẩn là 'id_1' -> 'id_10'  )
    {
        $ten_select="select_".$i; // tạo tên cho thẻ 'select' , tùy chọn select này cũng chính là tùy chọn trang chủ của sản phẩm
        $ten_input="input_".$i; // tạo tên cho thẻ 'input' , thẻ 'input' này chính là thứ tự sắp xếp trang chủ của sản phẩm
        $ten_id="id_".$i; // tạo tên cho thẻ 'input' ẩn , thẻ 'input' ẩn này chính là id chủ của sản phẩm
        if(isset($_POST[$ten_id]))
        // kiểm tra sự tồn tại của sản phẩm (sản phầm chỉ tồn tại khi có id sản phẩm , tức là tồn tại biến $_POST[$ten_id] )
        {
            $id=$_POST[$ten_id]; // lấy id sản phẩm từ biểu mẫu form rồi gán vào biến $id
            $trang_chu=$_POST[$ten_select]; // lấy tùy chọn sản phẩm từ biểu mẫu form rồi gán vào biến $trang_chu
            $sap_xep_trang_chu=$_POST[$ten_input]; // lấy thứ tự sắp xếp trang chủ từ biểu mẫu form rồi gán vào biến $sap_xep_trang_chu
            $tv="update san_pham set // cập nhật bảng 'san_pham' bằng lệnh update
                    trang_chu='$trang_chu', // cho cột 'trang_chu' ( trong bảng 'san_pham' ) có giá trị là biến $trang_chu
                    sap_xep_trang_chu='$sap_xep_trang_chu'
                    // cho cột 'sap_xep_trang_chu' 
( trong bảng 'san_pham' ) có giá trị là biến $sap_xep_trang_chu
                    where id='$id';
                    // cập nhật sản phẩm ở nơi cột id có giá trị là biến $id (cũng là id của 1 hoặc nhiều id của trang sản phẩm trang chủ trước đó )
            ";
            mysql_query($tv); // gửi câu truy vấn vào mysql
        }
    }
?>


- Sau đó mình tiến hành cập nhật sản phẩm trang chủ thì thấy đã cập nhật được , kết quả mình nhận được :



- Khi bạn thực hiện gửi biểu mẫu sửa sản phẩm trang chủ thì web sẽ chạy file 'xu_ly_post_get.php' , lúc này sẽ tồn tại biến $_POST['bieu_mau_san_pham_trang_chu'] , từ đó file 'xu_ly_post_get.php' sẽ gọi file  'sua_san_pham_trang_chu.php' ( để xử lý sửa thông tin sản phẩm trang chủ ) bằng đoạn code sau :

if(isset($_POST['bieu_mau_san_pham_trang_chu']))
{
    include("chuc_nang/san_pham_trang_chu/sua_san_pham_trang_chu.php");
    trang_truoc_html();
}

- File 'sua_san_pham_trang_chu.php' sẽ thực hiện sửa thông tin trong bảng 'san_pham' bằng lệnh update