<?php if(!isset($bien_bao_mat)){exit();} ?> <?php $so_dong_tren_mot_trang=10; if(!isset($_GET['trang'])){$_GET['trang']=1;} $tv="select count(id) from san_pham where trang_chu='co' "; $tv_1=mysql_query($tv); $tv_2=mysql_fetch_array($tv_1); $so_trang=ceil($tv_2[0]/$so_dong_tren_mot_trang); $vtbd=($_GET['trang']-1)*$so_dong_tren_mot_trang; $tv="select id,ten,gia,hinh_anh,sap_xep_trang_chu from san_pham where trang_chu='co' order by sap_xep_trang_chu desc limit $vtbd,$so_dong_tren_mot_trang"; $tv_1=mysql_query($tv); ?> <form method="post" > <table width="990px" class="tb_a1" > <tr style="background:#CCFFFF;height:40px;" > <td width="120px" ><b>Hình ảnh</b></td> <td width="450px" ><b>Tên</b></td> <td align="center" width="140px" ><b>Giá</b></td> <td align="center" width="140px" ><b>Trang chủ</b></td> <td align="center" width="140px" ><b>Thứ tự</b></td> </tr> <?php $i=1; while($tv_2=mysql_fetch_array($tv_1)) { $id=$tv_2['id']; $ten=$tv_2['ten']; $gia=$tv_2['gia']; $gia=number_format($gia,0,",","."); $link_hinh="../hinh_anh/san_pham/".$tv_2['hinh_anh']; $sap_xep_trang_chu=$tv_2['sap_xep_trang_chu']; $ten_select="select_".$i; $ten_input="input_".$i; $ten_id="id_".$i; ?> <tr class="a_1" > <td align="center" > <img src="<?php echo $link_hinh; ?>" style="width:100px;margin-top:10px;margin-bottom:10px;" border="0" > </td> <td> <?php echo $ten; ?> </td> <td align="center" > <?php echo $gia; ?> </td> <td align="center" > <select name="<?php echo $ten_select; ?>" > <option value="" >Không</option> <option value="co" selected >Có</option> </select> </td> <td align="center" > <input value="<?php echo $sap_xep_trang_chu; ?>" style="width:50px" name="<?php echo $ten_input; ?>" > <input type="hidden" value="<?php echo $id; ?>" name="<?php echo $ten_id; ?>" > </td> </tr> <?php $i++; } ?> <tr> <td colspan="3" align="center" > </td> <td colspan="2" align="center" > <br> <input type="submit" name="bieu_mau_san_pham_trang_chu" value="Cập nhật" style="width:180px;height:50px;font-size:24px" > <br><br> </td> </tr> <tr> <td colspan="5" align="center" > <br> <?php for($i=1;$i<=$so_trang;$i++) { $link_phan_trang="?thamso=san_pham_trang_chu&trang=".$i; echo "<a href='$link_phan_trang' class='phan_trang' >"; echo $i; echo "</a> "; } ?> <br><br> </td> </tr> </table> </form> |
- Bạn xem giải thích code (phần chữ xanh) của file '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 ?> <?php $so_dong_tren_mot_trang=10;// số sản phẩm xuất ra trong 1 trang , ở đây là 10 sản phẩm if(!isset($_GET['trang'])){$_GET['trang']=1;} // nếu không tồn tại biến 'trang' trên url thì biến này có giá trị là 1 , làm như vậy là để tính biến $vtbd // biến $vtbd là vị trí bắt đầu giới hạn menu trong câu truy vấn select , limit phía dưới // giá trị biến $vtbd tùy theo biến 'trang' trên url // (nghĩa là giá trị của biến $vtbd tùy vào trang đang hiện hành) $tv="select count(id) from san_pham where trang_chu='co' "; // đếm số sản phẩm trong bảng 'san_pham' mà có xuất ra ngoài trang chủ (cột 'trang_chu' mang giá trị là 'co' ) $tv_1=mysql_query($tv); $tv_2=mysql_fetch_array($tv_1); $so_trang=ceil($tv_2[0]/$so_dong_tren_mot_trang); // tính số trang xuất ra của phần sản phẩm trang chủ (nếu lớn hơn 10 thì số trang lớn hơn 1 ) // số trang bằng tổng dữ liệu của câu truy vấn trên chia cho số dòng (số sản phẩm) trong 1 trang rồi làm tròn số $vtbd=($_GET['trang']-1)*$so_dong_tren_mot_trang; // tính vị trí bắt đầu giới hạn của bảng 'san_pham' tùy theo trang hiện hành // ở đây , nếu là trang 1 thì $vtbd=0 , nếu là trang 2 thì $vtbd=10 , nếu là trang 3 thì $vtbd=20 ... $tv="select id,ten,gia,hinh_anh,sap_xep_trang_chu from san_pham where trang_chu='co' order by sap_xep_trang_chu desc limit $vtbd,$so_dong_tren_mot_trang"; // lệnh truy cập vào bảng 'san_pham' (chỉ áp dụng cho sản phẩm xuất ra ngoài trang chủ : where trang_chu='co' ) // sắp xếp theo cột 'sap_xep_trang_chu' giảm dần với giới hạn là tùy theo trang hiện tại // ban đầu thì vị trí bắt đầu giới hạn là 0 $tv_1=mysql_query($tv); ?> <form method="post" > // xuất biểu mẫu để cập nhật sản phẩm trang chủ <table width="990px" class="tb_a1" > // xuất ra bảng chứa danh sách các sản phẩm với class là 'tb_a1' , class này sẽ được dùng trong file 'giao_dien.css' <tr style="background:#CCFFFF;height:40px;" > // hàng đầu tiên có chiều cao 40px và có màu nền là 1 mã màu (#CCFFFF) <td width="120px" ><b>Hình ảnh</b></td> <td width="450px" ><b>Tên</b></td> <td align="center" width="140px" ><b>Giá</b></td> <td align="center" width="140px" ><b>Trang chủ</b></td> <td align="center" width="140px" ><b>Thứ tự</b></td> </tr> <?php $i=1; // tạo biến $i để chạy cùng vòng lặp while (biến này dùng để tạo tên cho thẻ 'select' , 'input' )($i tăng 1 khi chạy trong vòng lặp while ) while($tv_2=mysql_fetch_array($tv_1)) // xuất dòng dữ liệu từ bảng 'san_pham' ra , dữ liệu được gán vào mảng $tv_2 { $id=$tv_2['id']; // gán cột 'id' của dòng dữ liệu đang được lấy dữ liệu vào biến $id $ten=$tv_2['ten']; // gán cột 'ten' của dòng dữ liệu đang được lấy dữ liệu vào biến $ten $gia=$tv_2['gia']; // gán cột 'gia' của dòng dữ liệu đang được lấy dữ liệu vào biến $gia $gia=number_format($gia,0,",","."); // định dạng lại giá tiền cho dễ xem $link_hinh="../hinh_anh/san_pham/".$tv_2['hinh_anh']; // tạo ra liên kết hình , hình ảnh trong thư mục 'hinh_anh/san_pham' (cách viết ../ là lùi về 1 thư mục) $sap_xep_trang_chu=$tv_2['sap_xep_trang_chu']; // gán cột 'sap_xep_trang_chu' của dòng dữ liệu đang được lấy dữ liệu vào biến $sap_xep_trang_chu $ten_select="select_".$i; // tạo tên ( name ) cho thẻ select (thẻ này nhằm xác định tùy chọn trang chủ của sản phẩm hiện tại) $ten_input="input_".$i; // tạo tên ( name ) cho thẻ input (thẻ này nhằm xác định thứ tự ở phía ngoài trang chủ của sản phẩm hiện tại) $ten_id="id_".$i; // tạo tên ( name ) cho thẻ input chứa id của sản phẩm hiện tại ?> <tr class="a_1" > <td align="center" > <img src="<?php echo $link_hinh; ?>" style="width:100px;margin-top:10px;margin-bottom:10px;" border="0" > // xuất hình ảnh , hình ảnh rộng 100px , cách trên cách dưới 10px </td> <td> <?php echo $ten; ?> // xuất tên sản phẩm </td> <td align="center" > <?php echo $gia; ?> // xuất giá sản phẩm </td> <td align="center" > <select name="<?php echo $ten_select; ?>" > // xuất hộp chọn tùy chọn trang chủ , lấy dữ liệu hộp tùy chọn này bằng cách viết $_POST[$ten_select] <option value="" >Không</option> <option value="co" selected >Có</option> // cho tùy chọn "Có" hiển thị trước ( selected ) </select> </td> <td align="center" > <input value="<?php echo $sap_xep_trang_chu; ?>" style="width:50px" name="<?php echo $ten_input; ?>" > // xuất thứ tự sắp xếp trang chủ , lấy dữ liệu thứ tự này bằng cách viết $_POST[$ten_input] <input type="hidden" value="<?php echo $id; ?>" name="<?php echo $ten_id; ?>" > // xuất thẻ input ẩn ( type="hidden" ) chứa id của sản phẩm xuất ra // lấy dữ liệu chỗ này bằng cách viết $_POST[$ten_id] // id này sẽ được dùng xác định vị trí sửa sản phẩm (được dùng tại chỗ where khi sửa sản phẩm trong cơ sở dữ liệu) </td> </tr> <?php $i++; // tăng biến $i lên 1 , tăng lên như vậy để tạo sự khác nhau khi đặt tên cho thẻ select và input // do có 10 thẻ select và 20 thẻ input (trong đó có 10 thẻ input ẩn) khác nhau } ?> <tr> <td colspan="3" align="center" > </td> <td colspan="2" align="center" > <br> <input type="submit" name="bieu_mau_san_pham_trang_chu" value="Cập nhật" style="width:180px;height:50px;font-size:24px" > // tạo nút gửi biểu mẫu sửa sản phẩm trang chủ với name là 'bieu_mau_san_pham_trang_chu' // 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_san_pham_trang_chu']) ) // định dạng css của nút này (thuộc tính style) là : rộng 180px , cao 50px , kích cỡ chữ 24px <br><br> </td> </tr> <tr> <td colspan="5" align="center" > <br> <?php for($i=1;$i<=$so_trang;$i++) // chạy từ trang 1 đến trang cuối cùng { $link_phan_trang="?thamso=san_pham_trang_chu&trang=".$i; // tạo liên kết phân trang , liên kết phân trang đến trang nào thì biến 'trang' trên url có giá trị là trang đó echo "<a href='$link_phan_trang' class='phan_trang' >"; // xuất liên kết phân trang với class là 'phan_trang' echo $i; echo "</a> "; } ?> <br><br> </td> </tr> </table> </form> |
- Mình bấm vào liên kết 'Sản phẩm trang chủ' tại trang chủ của trang quản trị thì nhận được kết quả sau :
- Kết quả phần dưới của liên kết mình đã bấm vào :
- Khi mình bấm vào liên kết sản phẩm trang chủ (ở file 'trang_chu_2.php' ) thì web sẽ đến trang ?thamso=san_pham_trang_chu , web sẽ tải file 'dieu_huong.php' và gọi file 'san_pham_trang_chu.php' bằng đoạn code sau :
case "san_pham_trang_chu": include("chuc_nang/san_pham_trang_chu/san_pham_trang_chu.php"); break; |
- Từ đó sẽ xuất ra trang sản phẩm trang chủ , nếu muốn chỉnh sửa sản phẩm trang chủ thì vào trang này