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

Phần 67 - Làm phần xuất biểu mẫu sửa banner

- Tiếp theo là làm phần sửa banner , bạn tạo thư mục 'banner' trong thư mục 'chuc_nang' (đường dẫn là 'quan_tri/chuc_nang')  rồi tạo file 'sua_banner.php' trong thư mục 'banner' với nội dung sau :


<?php
    if(!isset($bien_bao_mat)){exit();}
    $tv="select * from banner limit 0,1 ";
    $tv_1=mysql_query($tv);
    $tv_2=mysql_fetch_array($tv_1);
    $rong=$tv_2['rong'];
    $cao=$tv_2['cao'];
    $ten_anh=$tv_2['hinh'];
    $link_hinh="../hinh_anh/banner/".$tv_2['hinh'];   
?>
<form action="" method="post" enctype="multipart/form-data" >
    <table width="990px" >
        <tr>
            <td colspan="2" ><b style="color:blue;font-size:20px" >Sửa banner</b></td>
        </tr>
        <tr>
            <td colspan="2" valign="top" >
                <br><br>
                <img src="<?php echo $link_hinh; ?>" width="<?php echo $rong; ?>" height="<?php echo $cao; ?>" >
                <br><br><br>
                <input type="file" name="hinh_anh" >
                <input type="hidden" name="ten_anh" value="<?php echo $ten_anh; ?>" >
                <br><br><br>
            </td>
        </tr>
        <tr>
            <td width="200px" >Rộng : </td>
            <td width="790px" >
                <input style="width:400px;margin-top:3px;margin-bottom:3px;" name="rong" value="<?php echo $rong; ?>" >
            </td>
        </tr>
        <tr>
            <td>Cao : </td>
            <td>
                <input style="width:400px;margin-top:3px;margin-bottom:3px;" name="cao" value="<?php echo $cao; ?>" >
            </td>
        </tr>       
        <tr>
            <td>&nbsp;</td>
            <td>
                <br>
                <input type="submit" name="bieu_mau_sua_banner" value="Sửa banner" style="width:200px;height:50px;font-size:24px" >
            </td>
        </tr>
    </table>
</form>


- Bạn xem giải thích code (phần chữ xanh) của file 'sua_banner.php'  ở phía 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
    $tv="select * from banner limit 0,1 ";
    // truy cập vào bảng 'banner'
    $tv_1=mysql_query($tv); // gửi truy vấn vào mysql
    $tv_2=mysql_fetch_array($tv_1);// lấy dòng dữ liệu rồi đưa vào mảng $tv_2
    $rong=$tv_2['rong']; // lấy cột 'rong' của dòng dữ liệu nhận được rồi gán vào biến $rong
    $cao=$tv_2['cao']; // lấy cột 'cao' của dòng dữ liệu nhận được rồi gán vào biến $cao
    $ten_anh=$tv_2['hinh']; // lấy cột 'hinh' của dòng dữ liệu nhận được rồi gán vào biến $ten_anh
    $link_hinh="../hinh_anh/banner/".$tv_2['hinh'];   
    // tạo ra liên kết hình , hình ảnh trong thư mục 'hinh_anh/banner' (cách viết ../ là lùi về 1 thư mục)
    // liên kết hình được gán vào biến $link_hinh

?>
<form action="" method="post" enctype="multipart/form-data" >
// tạo biểu mẫu với phương thức là post (thuộc tính method)
// vì có tải ảnh nên cần ghi
enctype="multipart/form-data"
    <table width="990px" >
        <tr>
            <td colspan="2" ><b style="color:blue;font-size:20px" >Sửa banner</b></td>
        </tr>
        <tr>
            <td colspan="2" valign="top" >
                <br><br>
                <img src="<?php echo $link_hinh; ?>" width="<?php echo $rong; ?>" height="<?php echo $cao; ?>" >
                // xuất hình ảnh banner ra cùng với chiều rộng , chiều cao được lấy từ bảng 'banner' ( xuất 2 biến $rong và $cao )
                <br><br><br>
                <input type="file" name="hinh_anh" > // tạo hộp chọn ảnh với name là 'hinh_anh' (type là file )
                <input type="hidden" name="ten_anh" value="<?php echo $ten_anh; ?>" >
                // tạo thẻ input ẩn (hidden) , thẻ này chứa tên ảnh và có name là 'ten_anh'
                // trường hợp không có tải ảnh thì lưu lại tên ảnh trong thẻ này vào bảng 'banner'
                <br><br><br>
            </td>
        </tr>
        <tr>
            <td width="200px" >Rộng : </td>
            <td width="790px" >
                <input style="width:400px;margin-top:3px;margin-bottom:3px;" name="rong" value="<?php echo $rong; ?>" >
                // xuất khung nhập chiều rộng ảnh ; khung này cách trên cách dưới 3px (margin-top,margin-bottom) và rộng 400px (width)                // giá trị của khung này là chiều rộng của ảnh banner trong bảng 'banner'
                // lưu ý khung này có name là 'rong' => khi lấy dữ liệu từ khung này bằng mã php thì viết là $_POST['rong']
            </td>
        </tr>
        <tr>
            <td>Cao : </td>
            <td>
                <input style="width:400px;margin-top:3px;margin-bottom:3px;" name="cao" value="<?php echo $cao; ?>" >
                // xuất khung nhập chiều cao ảnh ; khung này cách trên cách dưới 3px (margin-top,margin-bottom) và rộng 400px (width)                // giá trị của khung này là chiều cao của ảnh banner trong bảng 'banner'
                // lưu ý khung này có name là 'cao' => khi lấy dữ liệu từ khung này bằng mã php thì viết là $_POST['cao']
            </td>
        </tr>       
        <tr>
            <td>&nbsp;</td>
            <td>
                <br>
                <input type="submit" name="bieu_mau_sua_banner" value="Sửa banner" style="width:200px;height:50px;font-size:24px" >
                // tạo nút gửi biểu mẫu sửa banner với name là 'bieu_mau_sua_banner'
                // trong file 'xu_ly_post_get.php' sẽ dùng phần name này
                // để xác định biểu mẫu có được gửi hay không ( isset($_POST['bieu_mau_sua_banner']) )
                // định dạng css của nút này (thuộc tính style) là : rộng 200px , cao 50px , kích cỡ chữ 24px
            </td>
        </tr>
    </table>
</form>


- Mình bấm vào liên kết "Thay đổi banner" từ trang chủ của trang quản trị (sau khi đăng nhập) thì nhận được kết quả sau :




- Khi mình bấm vào liên kết  "Thay đổi banner" thì web sẽ truyền biến thamso lên url với giá trị là sua_banner , web sẽ tải file 'dieu_huong.php' và  gọi file 'sua_banner.php' bằng đoạn code sau :

case "sua_banner":
    include("chuc_nang/banner/sua_banner.php");
break;

- Từ đó sẽ xuất ra biểu mẫu sửa banner