83 lines
2.0 KiB
PHP
Executable File
83 lines
2.0 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);
|
|
|
|
|
|
|
|
function inSubsetSum(array $a, int $t, array $memo = []) : ?array {
|
|
$s = array_reduce($memo, function (?int $carry, array $value) {
|
|
return $carry + $value[1];
|
|
});
|
|
|
|
if ($s === $t) {
|
|
return $memo;
|
|
}
|
|
|
|
if ($s >= $t) {
|
|
return null;
|
|
}
|
|
|
|
$len = count($a);
|
|
$keys = array_keys($a);
|
|
for ($i = 0; $i < $len; ++$i) {
|
|
$k = $keys[$i];
|
|
$v = $a[$k];
|
|
$rem = array_slice($a, $i + 1, null, true);
|
|
$res = inSubsetSum($rem, $t, array_merge($memo, [[$k, $v]]));
|
|
if ($res !== null) {
|
|
return $res;
|
|
}
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
function subsetSum(array $a, int $t) : ?array {
|
|
$subset = inSubsetSum($a, $t);
|
|
$result = [];
|
|
foreach ($subset as $_ => [$k, $v]) {
|
|
$result[$k] = $v;
|
|
}
|
|
return $result;
|
|
}
|
|
|
|
// Example usage
|
|
$v = array(
|
|
55 => 222,
|
|
34 => 243,
|
|
546 => 657,
|
|
66 => 222123,
|
|
43 => 22245,
|
|
768 => 1234,
|
|
657 => 7657,
|
|
33 => 435,
|
|
756 => 345);
|
|
$sum = 232349;
|
|
$EE = subsetSum($v, $sum);
|
|
|
|
PRINT_R($EE);
|
|
|
|
|
|
|
|
|
|
|
|
} catch (PDOException $e) {
|
|
echo "Error: " . $e->getMessage();
|
|
}
|
|
?>
|