File manager - Edit - /home/webapp69.cm.in.th/u69319090034/Shop 034/config.php
Back
<?php // ไฟล์กำหนดการเชื่อมต่อฐานข้อมูล (config.php) if (session_status() === PHP_SESSION_NONE) { session_start(); } $host = 'localhost'; //$user = 'root'; //$pass = ''; //$dbname = 'shop034'; $user = 'u69319090034'; $pass = '@6934'; $dbname = 'shop69319090034'; try { // เชื่อมต่อฐานข้อมูล shop034 โดยตรง $conn = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8mb4", $user, $pass); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $conn->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); $conn->exec("SET NAMES utf8mb4"); $conn->exec("SET CHARACTER SET utf8mb4"); } catch (PDOException $e) { echo "<div style='padding: 30px; background-color: #ffe3e3; border: 2px solid #ffb3b3; border-radius: 12px; font-family: sans-serif; color: #cc0000; margin: 40px auto; max-width: 600px; text-align:center;'>"; echo "<h2 style='margin-top: 0;'>❌ ไม่สามารถเชื่อมต่อฐานข้อมูลได้</h2>"; echo "<p>กรุณาตรวจสอบว่าได้เปิดใช้งาน <strong>Apache</strong> และ <strong>MySQL</strong> ใน XAMPP Control Panel แล้ว</p>"; echo "<p style='font-size:13px; margin-top:10px;'><strong>Error:</strong> " . htmlspecialchars($e->getMessage()) . "</p>"; echo "<p style='font-size:13px; margin-top:10px;'>หากยังไม่มีฐานข้อมูล กรุณารันคำสั่ง: <br><code>mysql -u root < database.sql</code> หรือนำเข้าผ่าน phpMyAdmin</p>"; echo "</div>"; exit; } // ฟังก์ชันดึงรายการสินค้าพร้อมระบบกรอง (Filters) function getProducts($category_id = null, $min_price = null, $max_price = null, $color = null, $size = null) { global $conn; // ใช้ subquery สำหรับรูปภาพ เพื่อหลีกเลี่ยงผลลัพธ์ซ้ำจากการ JOIN หลายตาราง $sql = "SELECT DISTINCT p.*, c.name as category_name, (SELECT image_url FROM product_images WHERE product_id = p.id AND is_main = 1 LIMIT 1) as main_image, (SELECT image_url FROM product_images WHERE product_id = p.id ORDER BY sort_order ASC LIMIT 1) as fallback_image FROM products p LEFT JOIN categories c ON p.category_id = c.id WHERE p.status = 'active'"; $params = []; if ($category_id) { $sql .= " AND p.category_id = :category_id"; $params[':category_id'] = $category_id; } // กรองตามสีสินค้า (ต้อง JOIN variant_option_values) if ($color) { $sql .= " AND p.id IN ( SELECT pv2.product_id FROM product_variants pv2 JOIN variant_option_values vov2 ON pv2.id = vov2.variant_id JOIN attribute_values av2 ON vov2.attribute_value_id = av2.id WHERE av2.attribute_id = 1 AND av2.value = :color )"; $params[':color'] = $color; } // กรองตามไซซ์สินค้า if ($size) { $sql .= " AND p.id IN ( SELECT pv3.product_id FROM product_variants pv3 JOIN variant_option_values vov3 ON pv3.id = vov3.variant_id JOIN attribute_values av3 ON vov3.attribute_value_id = av3.id WHERE av3.attribute_id = 2 AND av3.value = :size )"; $params[':size'] = $size; } // กรองตามช่วงราคา if ($min_price !== null) { $sql .= " AND p.base_price >= :min_price"; $params[':min_price'] = $min_price; } if ($max_price !== null) { $sql .= " AND p.base_price <= :max_price"; $params[':max_price'] = $max_price; } $sql .= " ORDER BY p.id DESC"; $stmt = $conn->prepare($sql); $stmt->execute($params); return $stmt->fetchAll(); } ?>
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.26 |
proxy
|
phpinfo
|
Settings