php fiyatlandırma hk
Merhabalar tarihsel fiyatlandırma sistemim var tarihsel fiyatlandırma da 1 veri olunca sistem sorunsuz çalışmakta
ama 2-3-4 tane tarihsel fiyatlandırma olunca sistem karışmakta enson veriyi almakta
$tarih1= new DateTime($parts[0]);
$tarih2= new DateTime($parts[1]);
$interval= $tarih1->diff($tarih2);
$cikan = $interval->format('%a');
Tarihsel fiyatlandırma da tarih arasındaki günleri bu şekilde buluyorum
2022-05-21 - 2022-05-22 İlk tarih veriyi düzgün hesaplıyor
2022-05-23 - 2022-05-26 İkinci tarih veriyi sapıtıyor
if ($alt['tarihsel'] != '""') {
$formatS = json_decode($alt['tarihsel']);
$selDateOne = strtotime(str_replace('/', '-', $_SESSION['alistarih']));
$selDateTwo = strtotime(str_replace('/', '-', $_SESSION['iadetarih']));
foreach ($formatS as $formats) {
$parts = explode('|', $formats);
$dateOne = strtotime($parts[0]);
$dateTwo = strtotime($parts[1]);
if ($dateOne <= $selDateOne && $dateOne <= $selDateTwo || $dateTwo <= $selDateOne && $dateTwo <= $selDateTwo) {
$parts[2];
$parts[3];
$parts[4];
$parts[5];
$parts[6];
}
}
$tarih1= new DateTime($parts[0]);
$tarih2= new DateTime($parts[1]);
$interval= $tarih1->diff($tarih2);
$cikan = $interval->format('%a');
$gun = $_GET['gun'];
$tarihsel = $cikan;
if ($_SESSION['yetiskin'] == 1) {
echo $gun > $tarihsel ? ($tarihsel * $parts[2]) + (($gun - $tarihsel) * $alt['priceOne']) : $gun * $parts[2] + $cocukfiyat;
} else if ($_SESSION['yetiskin'] == 2) {
echo $gun > $tarihsel ? ($tarihsel * $parts[3]) + (($gun - $tarihsel) * $alt['priceTwo']) : $gun * $parts[3] + $cocukfiyat;
} else if ($_SESSION['yetiskin'] == 3) {
echo $gun > $tarihsel ? ($tarihsel * $parts[4]) + (($gun - $tarihsel) * $alt['priceThree']) : $gun * $parts[4] + $cocukfiyat;
} else if ($_SESSION['yetiskin'] == 4) {
echo $gun > $tarihsel ? ($tarihsel * $parts[5]) + (($gun - $tarihsel) * $alt['priceFour']) : $gun * $parts[5] + $cocukfiyat;
} else if ($_SESSION['yetiskin'] == 5) {
echo $gun > $tarihsel ? ($tarihsel * $parts[6]) + (($gun - $tarihsel) * $alt['priceFive']) : $gun * $parts[6] + $cocukfiyat;
}
}
anlamadım. bu arada şu koşulu kaldır ya, uzayıp gitmiş, mümkünse priceOne'ları falan 1-2-3 diye numaralandır kişiyle eşit gitsin saçma olmuş
$price = str_replace(
array(1, 2, 3, 4, 5),
array('priceOne',
'priceTwo',
'priceThree',
'priceFour',
'priceFive'),
$_SESSION['yetiskin']
);
echo $gun > $tarihsel ?
($tarihsel * $parts[$_SESSION['yetiskin']]) + (($gun - $tarihsel) * $alt[$price]) :
$gun * $parts[$_SESSION['yetiskin']] + $cocukfiyat;
bu da o koşulun aynını yapıyor, $alt dizesi sayısal olsa $price değişkenine bile ihtiyaç kalmayacak
$x = $_SESSION['yetiskin'];
echo $gun > $tarihsel ? ($tarihsel * $parts[$x]) + (($gun - $tarihsel) * $alt[$x]) : $gun * $parts[$x] + $cocukfiyat;
bak $x saymazsak tek satıra düştü o kadar koşul. soruya gelicek olursak, ben anlamadım.