setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // قراءة البيانات من الجدول $stmt = $pdo->query("SELECT id, pay FROM `VAT_report_2024_I` WHERE (`date_time` >= '2023-04-01 00:00:00' AND `date_time` < '2023-07-01 00:00:00') AND `branch_id` != 9"); $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); // الهدف $target_sum = 138231.74; // وظيفة لحساب مجموع جميع العناصر في مجموعة function array_sum_values($array, $key) { $sum = 0; foreach ($array as $item) { $sum += $item[$key]; } return $sum; } // دالة لتوليد جميع المجموعات الممكنة function generate_combinations($array, $target) { $results = []; $count = count($array); $totalCombinations = pow(2, $count); // التكرار عبر جميع المجموعات الممكنة for ($i = 1; $i < $totalCombinations; $i++) { $combination = []; for ($j = 0; $j < $count; $j++) { if ($i & (1 << $j)) { $combination[] = $array[$j]; } } if (array_sum_values($combination, 'value') == $target) { $results[] = $combination; } } return $results; } // استدعاء الدالة للحصول على المجموعات $combinations = generate_combinations($rows, $target_sum); // عرض النتائج foreach ($combinations as $combination) { echo "Combination:\n"; foreach ($combination as $item) { echo "ID: " . $item['id'] . " - Value: " . $item['pay'] . "\n"; } echo "\n"; } } catch (PDOException $e) { echo "Error: " . $e->getMessage(); } ?>