<?php if(!isset($bien_bao_mat)){exit();} ?> <?php $id=$_GET['id']; $tv="select * from hoa_don where id='$id' "; $tv_1=mysql_query($tv); $tv_2=mysql_fetch_array($tv_1); $ten_nguoi_mua=$tv_2['ten_nguoi_mua']; $email=$tv_2['email']; $dien_thoai=$tv_2['dien_thoai']; $dia_chi=$tv_2['dia_chi']; $noi_dung=$tv_2['noi_dung']; $hang_duoc_mua=$tv_2['hang_duoc_mua']; $link_dong="?thamso=hoa_don&&trang=".$_GET['trang']; $link_xoa="?xoa_hoa_don_o_trang_chi_tiet=co&id=".$id."&trang=".$_GET['trang']; ?> <table width="990px" > <tr> <td width="250px" ><b style="color:blue;font-size:20px" >Sản phẩm được đặt hàng </b><br><br> </td> <td width="740px" align="right" > <a href="<?php echo $link_dong; ?>" class="lk_a1" style="margin-right:30px" >Đóng</a> </td> </tr> <tr> <td align="left" colspan="2" > <table width="880px" > <tr> <td width="100px">STT</td> <td width="300px" >Tên</td> <td width="180px">Giá bán</td> <td width="100px" >Số lượng</td> <td width="200px">Tổng cộng</td> </tr> <?php $m=explode("[|||||]",$hang_duoc_mua); $tong_lon=0; for($i=0;$i<count($m);$i++) { if(isset($m[$i])) { if($m[$i]!="") { $stt=$i+1; $m_2=explode("[|||]",$m[$i]); $id_sp=$m_2[0]; $sl_sp=$m_2[1]; $tv_sp="select id,ten,gia from san_pham where id='$id_sp' "; $tv_sp_1=mysql_query($tv_sp); $tv_sp_2=mysql_fetch_array($tv_sp_1); $ten=$tv_sp_2['ten']; $gia=$tv_sp_2['gia']; $gia_duoc_dinh_dang=number_format($gia,0,",","."); $tong=$gia*$sl_sp; $tong_duoc_dinh_dang=number_format($tong,0,",","."); $tong_lon=$tong_lon+$tong; if($sl_sp!=0) { ?> <tr> <td><?php echo $stt; ?></td> <td><?php echo $ten; ?></td> <td><?php echo $gia_duoc_dinh_dang; ?></td> <td><?php echo $sl_sp; ?></td> <td><?php echo $tong_duoc_dinh_dang; ?></td> </tr> <?php } } } } ?> <tr> <td colspan="5"> <br><br> Tổng tiền của đơn hàng là : <?php $tong_lon_duoc_dinh_dang=number_format($tong_lon,0,",","."); echo "<b>".$tong_lon_duoc_dinh_dang."</b>"; ?> <br><br> </td> </tr> </table> </td> </tr> </table> <br><br> <table width="990px" > <tr> <td width="180px" ><b style="color:blue;font-size:20px" >Thông tin người mua</b><br><br> </td> <td width="810px" align="right" > </td> </tr> <tr height="30px" > <td >Tên người mua : </td> <td > <?php echo $ten_nguoi_mua; ?> </td> </tr> <tr height="30px" > <td >Email : </td> <td > <?php echo $email; ?> </td> </tr> <tr height="30px" > <td >Điện thoại : </td> <td > <?php echo $dien_thoai; ?> </td> </tr> <tr height="30px" > <td valign="top" >Địa chỉ : </td> <td > <?php echo $dia_chi; ?> </td> </tr> <tr height="30px" > <td valign="top" >Nội dung : </td> <td > <?php echo $noi_dung; ?> </td> </tr> <tr height="30px" > <td> </td> <td> <a href="<?php echo $link_xoa; ?>" class="lk_a1" >Xóa</a> </td> </tr> </table> |
- Bạn xem giải thích code (phần chữ xanh) của file 'xem_hoa_don.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 , đây cũng là id trên hóa đơn mà người dùng bấm vào $tv="select * from hoa_don where id='$id' "; // truy cập vào bảng 'hoa_don' với biến 'id' trên url (id hóa đơn 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_nguoi_mua=$tv_2['ten_nguoi_mua']; // lấy cột 'ten_nguoi_mua' của dòng dữ liệu nhận được rồi gán vào biến $ten_nguoi_mua $email=$tv_2['email']; // lấy cột 'email' của dòng dữ liệu nhận được rồi gán vào biến $email $dien_thoai=$tv_2['dien_thoai']; // lấy cột 'dien_thoai' của dòng dữ liệu nhận được rồi gán vào biến $dien_thoai $dia_chi=$tv_2['dia_chi']; // lấy cột 'dia_chi' của dòng dữ liệu nhận được rồi gán vào biến $dia_chi $noi_dung=$tv_2['noi_dung']; // lấy cột 'noi_dung' của dòng dữ liệu nhận được rồi gán vào biến $noi_dung $hang_duoc_mua=$tv_2['hang_duoc_mua']; // lấy cột 'hang_duoc_mua' của dòng dữ liệu nhận được rồi gán vào biến $hang_duoc_mua // biến $hang_duoc_mua chứa id và số lượng của 1 hoặc nhiều sản phẩm trong đơn hàng đang được xem $link_dong="?thamso=hoa_don&&trang=".$_GET['trang']; // tạo link đóng để quay về trang quản lý hóa đơn // liên kết này sẽ dùng biến 'trang' trên url để về trang quản lý hóa đơn cùng với vị trí trang trước đó $link_xoa="?thamso=xoa_hoa_don_o_trang_chi_tiet&id=".$id."&trang=".$_GET['trang']; // tạo liên kết xóa hóa đơn , liên kết này truyền biến 'xoa_hoa_don_o_trang_chi_tiet' trên url có giá trị là 'co' để file // 'xu_ly_post_get.php' nhận biết , biến 'id' trên url nhằm xác định id hóa đơn được xóa , còn biến 'trang' trên url là để // về trang quản lý hóa đơn cùng với vị trí trang trước đó sau khi xóa đơn ?> <table width="990px" > <tr> <td width="250px" ><b style="color:blue;font-size:20px" >Sản phẩm được đặt hàng </b><br><br> </td> <td width="740px" 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 xem hóa đơn 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ý hóa đơn </td> </tr> <tr> <td align="left" colspan="2" > <table width="880px" > // phía dưới là xuất 1 hoặc nhiều sản phẩm có trong hóa đơn đang được xem <tr> <td width="100px">STT</td> <td width="300px" >Tên</td> <td width="180px">Giá bán</td> <td width="100px" >Số lượng</td> <td width="200px">Tổng cộng</td> </tr> <?php $m=explode("[|||||]",$hang_duoc_mua); // dữ liệu trong cột 'hang_duoc_mua' được mình quy định dùng ký hiệu [|||||] để phân phân biệt từng sản phẩm // vì vậy mình dung hàm explode để phân tách cột 'hang_duoc_mua' ra thành từng sản phẩm // (nếu chỉ có 1 sản phẩm thì phân tách ra được 1 sản phẩm) // sản phẩm được phân tách sẽ chứa id và số lượng (được mua) của sản phẩm đó $tong_lon=0; // biến $tong_lon dùng để tính tổng giá trị của toàn đơn hàng , ban đầu sẽ có giá trị 0 // biến $tong_lon sẽ chạy qua 1 hoặc nhiều sản phẩm rồi cộng giá tiền lại for($i=0;$i<count($m);$i++) // vòng lặp for chạy qua 1 hoặc nhiều sản phẩm được mua trong đơn hàng { // lưu ý là sản phẩm có tồn tại và thông tin sản phẩm khác rỗng thì mới xuất sản phẩm ra if(isset($m[$i])) // xác định có tồn tại sản phẩm hay không { if($m[$i]!="") // xác định thông tin sản phẩm có khác rỗng hay không { $stt=$i+1; // tính số thứ tự xuất ra , vì $i chạy từ 0 nên số thứ tự phải cộng thêm cho 1 $m_2=explode("[|||]",$m[$i]); // tách id sản phẩm và số lượng sản phẩm ra // dữ liệu trong từng phần tử mảng $m được mình quy định dùng ký hiệu [|||] để phân phân biệt id và số lượng sản phẩm // vì vậy mình dùng hàm explode để phân tách từng phần tử mảng $m ra thành id trêng , số lượng riêng $id_sp=$m_2[0]; // lấy id sản phẩm (chính là thành phần đầu của phần tử mảng $m bị phân tách) $sl_sp=$m_2[1]; // lấy số lượng sản phẩm (chính là thành phần thứ 2 của phần tử mảng $m bị phân tách) $tv_sp="select id,ten,gia from san_pham where id='$id_sp' "; // truy vấn đến bảng 'san_pham' ở nơi có cột 'id' là id sản phẩm trong cột 'hang_duoc_mua' trong bảng 'hoa_don' $tv_sp_1=mysql_query($tv_sp); // gửi truy vấn vào mysql $tv_sp_2=mysql_fetch_array($tv_sp_1); // tiến hành lấy dòng dữ liệu rồi gán vào mảng $tv_sp_2 $ten=$tv_sp_2['ten']; // lấy tên sản phẩm (lấy từ cột 'ten' trong bảng 'san_pham' ) $gia=$tv_sp_2['gia']; // lấy giá sản phẩm (lấy từ cột 'gia' trong bảng 'san_pham' ) $gia_duoc_dinh_dang=number_format($gia,0,",","."); // định dạng lại giá cho dễ xem $tong=$gia*$sl_sp; // tính tổng giá của sản phẩm hiện tại (tổng = giá sản phẩm * số lượng sản phẩm) $tong_duoc_dinh_dang=number_format($tong,0,",","."); // định dạng lại tổng giá cho dễ xem $tong_lon=$tong_lon+$tong; // cộng gộp cho tổng giá trị toàn bộ đơn hàng , sau khi chạy qua hết từng sản phẩm rồi cộng gộp // thì sẽ tính được tổng giá của toàn đơn hàng if($sl_sp!=0) // chỉ xuất sản phẩm trong hóa đơn nếu như số lượng của sản phẩm đó khác không { ?> <tr> <td><?php echo $stt; ?></td> // xuất số thứ tự ra <td><?php echo $ten; ?></td> // xuất tên sản phẩm ra (xuất biến $ten ra) <td><?php echo $gia_duoc_dinh_dang; ?></td> // xuất giá sản phẩm ra (xuất biến $gia_duoc_dinh_dang ra ) <td><?php echo $sl_sp; ?></td> // xuất số lượng sản phẩm ra (xuất biến $sl_sp ra) <td><?php echo $tong_duoc_dinh_dang; ?></td> // xuất tổng giá của sản phẩm ra </tr> <?php } } } } ?> <tr> <td colspan="5"> <br><br> Tổng tiền của đơn hàng là : <?php $tong_lon_duoc_dinh_dang=number_format($tong_lon,0,",","."); // định dạng lại giá của tổng giá trị đơn hàng cho dễ xem echo "<b>".$tong_lon_duoc_dinh_dang."</b>"; // xuất tổng giá trị của đơn hàng ra ?> <br><br> </td> </tr> </table> </td> </tr> </table> <br><br> // dữ liệu của bảng 'table' bên dưới lấy từ câu truy vấn $tv="select * from hoa_don where id='$id' "; <table width="990px" > <tr> <td width="180px" ><b style="color:blue;font-size:20px" >Thông tin người mua</b><br><br> </td> <td width="810px" align="right" > </td> </tr> <tr height="30px" > <td >Tên người mua : </td> <td > <?php echo $ten_nguoi_mua; ?> // xuất tên người mua ra (biến $ten_nguoi_mua) </td> </tr> <tr height="30px" > <td >Email : </td> <td > <?php echo $email; ?> // xuất email ra (biến $email) </td> </tr> <tr height="30px" > <td >Điện thoại : </td> <td > <?php echo $dien_thoai; ?> // xuất điện thoại ra (biến $dien_thoai) </td> </tr> <tr height="30px" > <td valign="top" >Địa chỉ : </td> <td > <?php echo $dia_chi; ?> // xuất địa chỉ ra (biến $dia_chi) </td> </tr> <tr height="30px" > <td valign="top" >Nội dung : </td> <td > <?php echo $noi_dung; ?> // xuất nội dung ra (biến $noi_dung ) </td> </tr> <tr height="30px" > <td> </td> <td> <a href="<?php echo $link_xoa; ?>" class="lk_a1" >Xóa</a> // xuất liên kết xóa ra (biến $link_xoa) </td> </tr> </table> |
- Mình bấm vào một liên kết xem hóa đơn (từ trang quản lý hóa đơn) thì nhận được kết quả sau :
- Khi mình bấm vào liên kết xem hóa đơn thì web sẽ truyền biến thamso lên url với giá trị là xem_hoa_don , web sẽ tải file 'dieu_huong.php' và gọi file 'xem_hoa_don.php' bằng đoạn code sau :
case "xem_hoa_don": include("chuc_nang/hoa_don/xem_hoa_don.php"); break; |
- Từ đó sẽ xuất ra trang xem hóa đơn