68 lines
2.2 KiB
PHP
Executable File

<?php
ini_set('memory_limit', '512M');
set_time_limit(300);
// بيانات الاتصال بقاعدة البيانات
$host = 'localhost';
$dbname = 'aqdamypanel_aqdamy';
$user = 'aqdamypanel_mysql';
$pass = 'AST4dxy6vEsi';
try {
// الاتصال بقاعدة البيانات باستخدام PDO
$pdo = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);
$pdo->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();
}
?>