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

Phần 59 - Làm phần cập nhật sản phẩm nổi bật

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

<?php
    if(!isset($bien_bao_mat)){exit();}
    for($i=1;$i<=10;$i++)
    {
        $ten_select="select_".$i;
        $ten_id="id_".$i;
        if(isset($_POST[$ten_id]))
        {
            $id=$_POST[$ten_id];
            $noi_bat=$_POST[$ten_select];
            $tv="update san_pham set
                    noi_bat='$noi_bat'
                    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à '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 nổi bật của sản phẩm
        $ten_id="id_".$i; // tạo tên cho thẻ 'input' , 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
            $noi_bat=$_POST[$ten_select]; // lấy tùy chọn nổi bật từ biểu mẫu form rồi gán vào biến $noi_bat
            $tv="update san_pham set // cập nhật bảng 'san_pham' bằng lệnh update
                    noi_bat='$noi_bat' // cho cột 'noi_bat' ( trong bảng 'san_pham' ) có giá trị là biến $noi_bat
                    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 nổi bật 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 nổi bật 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 nổi bật 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_noi_bat'] , từ đó file 'xu_ly_post_get.php' sẽ gọi file  'sua_san_pham_noi_bat.php' ( để xử lý sửa thông tin sản phẩm nổi bật ) bằng đoạn code sau :

if(isset($_POST['bieu_mau_san_pham_noi_bat']))
{
    include("chuc_nang/san_pham_noi_bat/sua_san_pham_noi_bat.php");
    trang_truoc_html();
}

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