// بقیه کدهای شما... // ادامه کدهای جستجو و نمایش آگهی‌ها... // دریافت پارامترهای جستجو $search = $_GET['search'] ?? ''; $province_id = $_GET['province_id'] ?? ''; $city_id = $_GET['city_id'] ?? ''; $transaction_type = $_GET['transaction_type'] ?? ''; $property_type = $_GET['property_type'] ?? ''; $min_price = $_GET['min_price'] ?? ''; $max_price = $_GET['max_price'] ?? ''; $min_area = $_GET['min_area'] ?? ''; $max_area = $_GET['max_area'] ?? ''; $bedrooms = $_GET['bedrooms'] ?? ''; $page = isset($_GET['page']) ? (int)$_GET['page'] : 1; $perPage = 12; $offset = ($page - 1) * $perPage; // شرط WHERE $whereConditions = ["p.status = 'approved'"]; $params = []; if(!empty($search)){ $whereConditions[] = "(p.title LIKE ? OR p.description LIKE ? OR p.address LIKE ?)"; $like = "%$search%"; $params[] = $like; $params[] = $like; $params[] = $like; } if(!empty($province_id)){ $whereConditions[] = "p.province_id = ?"; $params[] = $province_id; } if(!empty($city_id)){ $whereConditions[] = "p.city_id = ?"; $params[] = $city_id; } if(!empty($transaction_type)){ $whereConditions[] = "p.transaction_type = ?"; $params[] = $transaction_type; } if(!empty($property_type)){ $whereConditions[] = "p.property_type = ?"; $params[] = $property_type; } if(is_numeric($min_price) && $min_price > 0){ $whereConditions[] = "p.total_price >= ?"; $params[] = $min_price; } if(is_numeric($max_price) && $max_price > 0){ $whereConditions[] = "p.total_price <= ?"; $params[] = $max_price; } if(is_numeric($min_area) && $min_area > 0){ $whereConditions[] = "p.useful_area >= ?"; $params[] = $min_area; } if(is_numeric($max_area) && $max_area > 0){ $whereConditions[] = "p.useful_area <= ?"; $params[] = $max_area; } if(is_numeric($bedrooms) && $bedrooms > 0){ $whereConditions[] = "p.bedrooms = ?"; $params[] = $bedrooms; } $whereSQL = implode(" AND ", $whereConditions); // شمارش کل $countSQL = "SELECT COUNT(*) FROM properties p WHERE $whereSQL"; $stmtCount = $pdo->prepare($countSQL); $stmtCount->execute($params); $totalRecords = $stmtCount->fetchColumn(); $totalPages = ceil($totalRecords / $perPage); // دریافت آگهی‌ها $sql = "SELECT p.*, u.fullname, u.username, u.phone as user_phone, (SELECT name FROM cities WHERE id = p.city_id) as city_name, (SELECT name FROM provinces WHERE id = p.province_id) as province_name FROM properties p JOIN users u ON p.user_id = u.id WHERE $whereSQL ORDER BY p.created_at DESC LIMIT :limit OFFSET :offset"; $stmt = $pdo->prepare($sql); foreach($params as $idx => $val) { $stmt->bindValue($idx+1, $val); } $stmt->bindValue(':limit', $perPage, PDO::PARAM_INT); $stmt->bindValue(':offset', $offset, PDO::PARAM_INT); $stmt->execute(); $properties = $stmt->fetchAll(); // استان‌ها و شهرها $provinces = $pdo->query("SELECT id, name FROM provinces ORDER BY name")->fetchAll(); $cities = []; if($province_id){ $stmtCity = $pdo->prepare("SELECT id, name FROM cities WHERE province_id = ? ORDER BY name"); $stmtCity->execute([$province_id]); $cities = $stmtCity->fetchAll(); } ?> آژانس مسکن یاس - صفحه اصلی

حذف فیلتر