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

Phần 40 - Làm phần xuất biểu mẫu sửa menu ngang

- Tiếp theo là làm phần sửa menu ngang , bạn tạo file 'sua_menu_ngang.php' trong thư mục 'menu_ngang' với nội dung sau :


<?php
    if(!isset($bien_bao_mat)){exit();}
?>
<?php
    $id=$_GET['id'];
    $tv="select * from menu_ngang where id='$id' ";
    $tv_1=mysql_query($tv);
    $tv_2=mysql_fetch_array($tv_1);
    $ten=$tv_2['ten'];
    $loai_menu=$tv_2['loai_menu'];
    $noi_dung=$tv_2['noi_dung'];
    $link_dong="?thamso=quan_ly_menu_ngang&trang=".$_GET['trang'];
?>
<form action="" method="post">
    <table width="990px" >
        <tr>
            <td width="180px" ><b style="color:blue;font-size:20px" >Sửa menu ngang</b><br><br> </td>
            <td width="810px" align="right" >
                <a href="<?php echo $link_dong; ?>" class="lk_a1" style="margin-right:30px" >Đóng</a>
            </td>
        </tr>
        <tr>
            <td >Tên : </td>
            <td >
                <input style="width:400px;margin-top:3px;margin-bottom:3px;" name="ten" value="<?php echo $ten; ?>" >
            </td>
        </tr>
        <tr>
            <td>Loại menu : </td>
            <td>
                <?php
                    $a_1="";
                    $a_2="";
                    if($loai_menu=="san_pham")
                    {
                        $a_2="selected";
                    }
                ?>
                <select name="loai_menu" style="margin-top:3px;margin-bottom:3px;" >
                    <option value="" <?php echo $a_1; ?> >Bình thường</option>
                    <option value="san_pham" <?php echo $a_2; ?> >Sản phẩm</option>
                </select>
            </td>
        </tr>
        <tr>
            <td>Nội dung : </td>
            <td>
                <script type="text/javascript">
                  tinymce.init({
                    selector: '#noi_dung',
                    theme: 'modern',
                    width: 800,
                    height: 300,
                    plugins: [
                      'advlist autolink link image lists charmap print preview hr anchor pagebreak spellchecker',
                      'searchreplace wordcount visualblocks visualchars code fullscreen insertdatetime media nonbreaking',
                      'save table contextmenu directionality emoticons template paste textcolor jbimages'
                    ],
                    toolbar: 'insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image | print preview media fullpage | forecolor backcolor emoticons jbimages',
                    relative_urls: false
                  });
                 
                  </script>
                  <textarea id="noi_dung" name="noi_dung" ><?php echo $noi_dung; ?></textarea>
            </td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>
                <br>
                <input type="submit" name="bieu_mau_sua_menu_ngang" value="Sửa menu" 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_menu_ngang.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
?>
<?php
    $id=$_GET['id']; // lấy biến 'id' trên url , id này cũng là id của menu ngang mà người dùng bấm vào
    $tv="select * from menu_ngang where id='$id' ";
    // truy cập vào bảng 'menu_ngang' với biến 'id' trên url (id menu ngang mà người dùng bấm vào )
    $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
    $ten=$tv_2['ten']; // lấy cột 'ten' của dòng dữ liệu nhận được
    $loai_menu=$tv_2['loai_menu']; // lấy cột 'loai_menu' của dòng dữ liệu nhận được
    $noi_dung=$tv_2['noi_dung']; // lấy cột 'noi_dung' của dòng dữ liệu nhận được
    $link_dong="?thamso=quan_ly_menu_ngang&trang=".$_GET['trang'];
    // tạo link đóng để quay về trang quản lý menu ngang
    // liên kết này sẽ dùng biến 'trang' trên url để về trang quản lý menu ngang cùng với vị trí trang trước đó
?>
<form action="" method="post"> // tạo biểu mẫu với phương thức là post (thuộc tính method)
    <table width="990px" >
        <tr>
            <td width="180px" ><b style="color:blue;font-size:20px" >Sửa menu ngang</b><br><br> </td>
            <td width="810px" align="right" >
                <a href="<?php echo $link_dong; ?>" class="lk_a1" style="margin-right:30px" >Đóng</a>
                // xuất liên kết đóng trang sửa menu với class là 'lk_a1' (liên kết có class 'lk_a1' được định dạng trong file 'giao_dien.css' )
                // khi bạn bấm vào liên kết 'Đóng' này thì web sẽ trở về trang quản lý menu ngang
            </td>
        </tr>
        <tr>
            <td >Tên : </td>
            <td >
                <input style="width:400px;margin-top:3px;margin-bottom:3px;" name="ten" value="<?php echo $ten; ?>" >
                // xuất khung nhập liệu tên ; 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à tên menu của liên kết menu được bấm vào : echo $ten;
                // lưu ý khung này có name là 'ten' => khi lấy dữ liệu từ khung này bằng mã php thì viết là $_POST['ten']
                // (biểu mẫu hiện tại dùng phương thức post (thuộc tính method) nên khi lấy dữ liệu thì dùng $_POST )
            </td>
        </tr>
        <tr>
            <td>Loại menu : </td>
            <td>
                <?php
                    $a_1="";
                    $a_2="";
                    // 2 biến $a_1 và $a_2 là nhằm xác định loại menu của menu ngang được sửa hiện tại
                    // 
trường hợp loại menu sản phẩm được chọn là khi biến $loai_menu có giá trị là 'san_pham'
                    // lúc này biến $a_2 sẽ có giá trị là 'selected'
                    if($loai_menu=="san_pham") // nếu biến $loai_menu sẽ có giá trị là 'san_pham'
                    {
                        $a_2="selected";
                        // thì biến $a_2 sẽ có giá trị là 'selected'                        // Bạn để ý 2 thẻ option phía dưới mình có xuất biến $a_1 và $a_2
                        // Thẻ option nào có ghi 'selected' thì thẻ option đó sẽ được chọn trong thẻ select
                        //  (nghĩa là tùy chọn option đó sẽ được chọn trước)
                        // biến $a_1 được xuất vào loại menu 'Bình thường' , biến $a_2 được xuất vào loại menu 'Sản phẩm'
                    }
                ?>
                <select name="loai_menu" style="margin-top:3px;margin-bottom:3px;" >
                 // xuất hộp tùy chọn select với name 'là loai_menu' (hộp này cũng cách trên , cách dưới 3px)
                 // khi lấy dữ liệu từ hộp này thì viết là $_POST['loai_menu']
                    <option value="" <?php echo $a_1; ?> >Bình thường</option> // cho biến $a_1 vào tùy chọn 'Bình thường'
                    <option value="san_pham" <?php echo $a_2; ?> >Sản phẩm</option> // cho biến $a_1 vào tùy chọn 'Sản phẩm'
                </select>
            </td>
        </tr>
        <tr>
            <td>Nội dung : </td>
            <td>
                <script type="text/javascript">
                  tinymce.init({ // thực hiện mã tùy chỉnh khung nhập liệu tinymce
                    selector: '#noi_dung', // hộp nhập liệu này áp dụng đối với phần tử textarea có id là 'noi_dung'
                    theme: 'modern',
                    width: 800, // chiều rộng 800px
                    height: 300, // chiều cao 300px
                    plugins: [ // các plugin được thêm vào khung nhập liệu tinymce này , để ý có plugin jbimages (dùng để tải ảnh)
                      'advlist autolink link image lists charmap print preview hr anchor pagebreak spellchecker',
                      'searchreplace wordcount visualblocks visualchars code fullscreen insertdatetime media nonbreaking',
                      'save table contextmenu directionality emoticons template paste textcolor jbimages'
                    ],
                    toolbar: 'insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image | print preview media fullpage | forecolor backcolor emoticons jbimages',
                    // hiển thị các thành phần của khung nhập liệu tinymce , để ý sẽ thấy có jbimages
                    relative_urls: false
                  });
                 
                  </script>
                  <textarea id="noi_dung" name="noi_dung" ><?php echo $noi_dung; ?></textarea>
                  // đây là khung nhập liệu tinymce , thẻ textarea này được thay thế thành khung nhập liệu tinymce vì  thẻ textarea này có id là    
                  // 'noi_dung' ; phần tùy chỉnh phía trên đã nói rằng textarea có id là 'noi_dung' chính là khung nhập liệu tinymce
                  
// thẻ textarea này có name là 'noi_dung' nên khi lấy dữ liệu khung này thì viết là $_POST['noi_dung']
                  // giá trị của thẻ textarea này là nội dung của menu ngang được bấm vào liên kết (dựa vào biến 'id' trên url) : echo $noi_dung
            </td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>
                <br>
                <input type="submit" name="bieu_mau_sua_menu_ngang" value="Sửa menu" style="width:200px;height:50px;font-size:24px" >
                // tạo nút gửi biểu mẫu sửa menu ngang với name là 'bieu_mau_sua_menu_ngang'
                // 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_menu_ngang']) )
                // đị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 sửa menu có tên là 'Menu 6' (từ trang quản lý menu) thì nhận được kết quả sau :



 - Khi mình bấm vào liên kết sửa menu có tên  "Menu 6" => web sẽ truyền biến thamso lên url với giá trị là sua_menu_ngang , web sẽ tải file 'dieu_huong.php' và  gọi file 'sua_menu_ngang.php' bằng đoạn code sau :

case "sua_menu_ngang":
    include("chuc_nang/menu_ngang/sua_menu_ngang.php");
break;

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