Server IP : 43.241.58.20 / Your IP : 216.73.216.25 Web Server : Apache/2 System : Linux ns1-1556229.dragonhispeed.com 3.16.0 #1 SMP Fri Mar 29 22:50:14 MSK 2024 x86_64 User : ratsitne ( 1130) PHP Version : 5.6.40 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname MySQL : ON | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /home/ratsitne/.trash/files/admin/ |
Upload File : |
<?php include '../config.php'; include 'auth.php'; $page_title = 'รายการสินค้า'; ob_start(); // Handle search and filter $search_keyword = isset($_GET['search_keyword']) ? $_GET['search_keyword'] : ''; $category_id = isset($_GET['category_id']) ? $_GET['category_id'] : ''; $product_type = isset($_GET['product_type']) ? $_GET['product_type'] : ''; // Handle sorting $sort_by = isset($_GET['sort_by']) ? $_GET['sort_by'] : 'id'; $sort_order = isset($_GET['sort_order']) ? $_GET['sort_order'] : 'asc'; $next_sort_order = $sort_order == 'asc' ? 'desc' : 'asc'; // Pagination settings $limit = 10; $page = isset($_GET['page']) ? $_GET['page'] : 1; $offset = ($page - 1) * $limit; // Build query $query = "SELECT p.id, p.sku, p.name, p.sale_price, p.stock, p.product_type, c.category_name FROM products p INNER JOIN categories c ON p.category_id = c.id WHERE 1=1"; if ($search_keyword) { $query .= " AND (p.name LIKE '%$search_keyword%' OR p.sku LIKE '%$search_keyword%')"; } if ($category_id) { $query .= " AND p.category_id = $category_id"; } if ($product_type) { $query .= " AND p.product_type = '$product_type'"; } $query .= " ORDER BY $sort_by $sort_order"; $query .= " LIMIT $limit OFFSET $offset"; $result = mysqli_query($conn, $query); // Get total records for pagination $total_query = "SELECT COUNT(*) as total FROM products p WHERE 1=1"; if ($search_keyword) { $total_query .= " AND (p.name LIKE '%$search_keyword%' OR p.sku LIKE '%$search_keyword%')"; } if ($category_id) { $total_query .= " AND p.category_id = $category_id"; } if ($product_type) { $total_query .= " AND p.product_type = '$product_type'"; } $total_result = mysqli_query($conn, $total_query); $total_row = mysqli_fetch_assoc($total_result); $total_records = $total_row['total']; $total_pages = ceil($total_records / $limit); // Determine sort icon function get_sort_icon($current_sort_by, $current_sort_order, $column) { if ($current_sort_by == $column) { return $current_sort_order == 'asc' ? '<i class="bi bi-sort-alpha-down"></i>' : '<i class="bi bi-sort-alpha-down-alt"></i>'; } return ''; } ?> <div class="card"> <div class="card-header"> <h3 class="card-title">รายการสินค้า</h3> <div class="card-tools"> <a href="<?php echo $admin_url; ?>/product-add.php" class="btn btn-primary">เพิ่มสินค้า</a> </div> </div> <div class="card-body"> <?php if (isset($_SESSION['success_message'])): ?> <div class="alert alert-success alert-dismissible fade show"> <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button> <i class="bi bi-check-circle me-1"></i> <?php echo $_SESSION['success_message']; unset($_SESSION['success_message']); ?> </div> <?php endif; ?> <?php if (isset($_SESSION['error_message'])): ?> <div class="alert alert-danger alert-dismissible fade show"> <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button> <i class="bi bi-exclamation-triangle me-1"></i> <?php echo $_SESSION['error_message']; unset($_SESSION['error_message']); ?> </div> <?php endif; ?> <form method="GET" class="mb-3"> <div class="row"> <div class="col-md-3"> <input type="text" name="search_keyword" class="form-control" placeholder="ค้นหาสินค้า หรือ รหัสสินค้า" value="<?php echo $search_keyword; ?>"> </div> <div class="col-md-3"> <select name="category_id" class="form-select"> <option value="">เลือกหมวดหมู่</option> <?php $categories_result = mysqli_query($conn, "SELECT id, category_name FROM categories"); while ($category = mysqli_fetch_assoc($categories_result)) { $selected = $category['id'] == $category_id ? 'selected' : ''; echo "<option value='{$category['id']}' $selected>{$category['category_name']}</option>"; } ?> </select> </div> <div class="col-md-3"> <select name="product_type" class="form-select"> <option value="">ประเภทสินค้าทั้งหมด</option> <option value="สินค้านับสต๊อก" <?php echo $product_type == 'สินค้านับสต๊อก' ? 'selected' : ''; ?>>สินค้านับสต๊อก</option> <option value="สินค้าไม่นับสต๊อก" <?php echo $product_type == 'สินค้าไม่นับสต๊อก' ? 'selected' : ''; ?>>สินค้าไม่นับสต๊อก</option> <option value="สินค้าบริการ" <?php echo $product_type == 'สินค้าบริการ' ? 'selected' : ''; ?>>สินค้าบริการ</option> </select> </div> <div class="col-md-3"> <button type="submit" class="btn btn-primary">ค้นหา</button> </div> </div> </form> <table class="table table-striped"> <thead> <tr> <th style="width: 80px;"><a href="?sort_by=id&sort_order=<?php echo $next_sort_order; ?>&search_keyword=<?php echo $search_keyword; ?>&category_id=<?php echo $category_id; ?>&product_type=<?php echo $product_type; ?>">ID <?php echo get_sort_icon($sort_by, $sort_order, 'id'); ?></a></th> <th style="width: 120px;"><a href="?sort_by=sku&sort_order=<?php echo $next_sort_order; ?>&search_keyword=<?php echo $search_keyword; ?>&category_id=<?php echo $category_id; ?>&product_type=<?php echo $product_type; ?>">รหัสสินค้า <?php echo get_sort_icon($sort_by, $sort_order, 'sku'); ?></a></th> <th><a href="?sort_by=name&sort_order=<?php echo $next_sort_order; ?>&search_keyword=<?php echo $search_keyword; ?>&category_id=<?php echo $category_id; ?>&product_type=<?php echo $product_type; ?>">สินค้า <?php echo get_sort_icon($sort_by, $sort_order, 'name'); ?></a></th> <th style="width: 120px;"><a href="?sort_by=sale_price&sort_order=<?php echo $next_sort_order; ?>&search_keyword=<?php echo $search_keyword; ?>&category_id=<?php echo $category_id; ?>&product_type=<?php echo $product_type; ?>">ราคาขาย <?php echo get_sort_icon($sort_by, $sort_order, 'sale_price'); ?></a></th> <th style="width: 100px;"><a href="?sort_by=stock&sort_order=<?php echo $next_sort_order; ?>&search_keyword=<?php echo $search_keyword; ?>&category_id=<?php echo $category_id; ?>&product_type=<?php echo $product_type; ?>">คงเหลือ <?php echo get_sort_icon($sort_by, $sort_order, 'stock'); ?></a></th> <th><a href="?sort_by=category_name&sort_order=<?php echo $next_sort_order; ?>&search_keyword=<?php echo $search_keyword; ?>&category_id=<?php echo $category_id; ?>&product_type=<?php echo $product_type; ?>">หมวดหมู่ <?php echo get_sort_icon($sort_by, $sort_order, 'category_name'); ?></a></th> <th><a href="?sort_by=product_type&sort_order=<?php echo $next_sort_order; ?>&search_keyword=<?php echo $search_keyword; ?>&category_id=<?php echo $category_id; ?>&product_type=<?php echo $product_type; ?>">ประเภท <?php echo get_sort_icon($sort_by, $sort_order, 'product_type'); ?></a></th> <th style="width: 200px;"> </th> </tr> </thead> <tbody> <?php while ($row = mysqli_fetch_assoc($result)): ?> <tr> <td><?php echo $row['id']; ?></td> <td><?php echo $row['sku']; ?></td> <td><?php echo $row['name']; ?></td> <td><?php echo number_format($row['sale_price'], 2) ?></td> <td><?php echo number_format($row['stock']); ?></td> <td><?php echo $row['category_name']; ?></td> <td><?php echo $row['product_type']; ?></td> <td> <a href="<?php echo $admin_url . '/product-edit.php?id=' . $row['id']; ?>" class="btn btn-warning btn-sm"> <i class="bi bi-pencil-square me-1"></i>แก้ไข </a> <a href="<?php echo $admin_url . '/product-delete.php?id=' . $row['id']; ?>" class="btn btn-danger btn-sm" onclick="return confirm('ยืนยันการลบสินค้านี้?');"> <i class="bi bi-trash me-1"></i>ลบ </a> </td> </tr> <?php endwhile; ?> </tbody> </table> </div> <div class="card-footer clearfix"> <ul class="pagination pagination-sm m-0 float-end"> <?php for ($i = 1; $i <= $total_pages; $i++): ?> <li class="page-item <?php echo $i == $page ? 'active' : ''; ?>"> <a class="page-link" href="?page=<?php echo $i; ?>&search_keyword=<?php echo $search_keyword; ?>&category_id=<?php echo $category_id; ?>&product_type=<?php echo $product_type; ?>&sort_by=<?php echo $sort_by; ?>&sort_order=<?php echo $sort_order; ?>"><?php echo $i; ?></a> </li> <?php endfor; ?> </ul> </div> </div> <?php $content = ob_get_clean(); $js_script = ''; include 'template_master.php'; ?>