v2.5.2
Giriş yap

PHP Array Aynı Veri Olunca Üzerine Yazması

antrode
384 defa görüntülendi ve 1 kişi tarafından değerlendirildi

Merhaba,

Bir ürün var o ürün ölçüleri var ölçüleri farklı olunca başka bir eleman oluşturmasını istiyorum.

Ürün ölçüleri aynı olunca adet yükseltiyor
Fakat Farklı Ölçüde olunca başka bir eleman yazdıramadım üzerine yazdırıyor.

Aynı ürün id sahip olduğunda üzerine yazdırıyor.

https://i.hizliresim.com/1dj604t.PNG

ob_start();
session_start();
include("config/baglan.php");

if (isset($_GET['urun_id']) && isset($_GET['olcum']) && isset($_GET['adet'])) {

    $urun_id = intval($_GET['urun_id']);
    $olcum = $_GET['olcum'];
    $adet = $_GET['adet'];
    
    $urun = $baglanti->prepare("SELECT * FROM urunler WHERE urun_id = ?");
    $urun->execute(array($urun_id));
    $urunver = $urun->fetch(PDO::FETCH_ASSOC);

    if($urun->rowCount() != "0"){
    
        $baslik = $urunver["urun_baslik"];
        $resim = $urunver["urun_kapak"];
        
        
        if ($_SESSION["urunler"][$urun_id]["olcum"] == $olcum) {
        	$urun_adet = $_SESSION["urunler"][$urun_id]["urun_adet"];
        	$adet += $urun_adet;
        }
        
        $_SESSION["urunler"][$urun_id]["urun_baslik"]=$baslik;
        $_SESSION["urunler"][$urun_id]["urun_kapak"]=$resim;
        $_SESSION["urunler"][$urun_id]["olcum"]=$olcum;
        $_SESSION["urunler"][$urun_id]["urun_adet"]=$adet;
    
    }
}

print_r($_SESSION["urunler"]);
tayfunerbilen
1279 gün önce

o zaman yapacağın şey ürün id'si altında yeni dizi tanımlayarak oluşturmak olabilir.

$_SESSION["urunler"][$urun_id][] = [
    'urun_baslik' => $baslik,
    'urun_kapak' => $resim,
    'olcum' => $olcum,
    'urun_adet' => $adet
];

böylece aynı ürün id'li birden fazla farklı veri ekleyebilirsin. Tabi bu sefer kontrollerini isset($_SESSION['urunler'][$urun_id]) şeklinde değilde bu dizinin içinde eşleşene göre kontrol etmen gerekir.