• 13-06-2022, 23:18:47
    #1
    Merhaba Arkadaşlar
    explode ile parçaladığım checkboxlerımın verilerini mysql veritabanıma nasıl implode edebilirim, bu konuda yardımcı olabilecek arkadaş varmı, kod bloğum aşağıdaki gibi

    Explode ile parçalayıp post ettiğim verilerim

    <?php
    $deger1 = explode("<+>",$admin['emlk-19']);
    $deger2 = explode("<+>",$admin['emlk-20']);
    $cdelm1 = count($deger1);
    $cdelm2 = count($deger2);
    if($cdelm1 > 1 OR $cdelm2 > 1 ){
    ?>
    
    <div id="ic_ozellikler">
                                                            <?php
                                                        if($cdelm1 > 1){
                                                            $ielm = explode("<+>",$ilan->ic_ozellikler);
                                                            ?>
                                                            <div class="ilanozellik">
                                                                <h4><?=$admin['emlk-31'];?></h4>
                                                                <?php
                                                            foreach($delm2 as $key => $val){
                                                                #$checked = (in_array($val,$ielm)) ? 'checked' : '';
                                                                ?>
                                                                <span><label><input name="ic_ozellikler[]" type="checkbox" <?=$checked;?> value="<?=$key;?>"><?=$val;?></label></span>
                                                                <? } ?>
                                                            </div>
                                                            <? } ?>
                                                        </div>
    
    <div id="dis_ozellikler">
                                                            <?php
                                                        if($cdelm2 > 1){
                                                            $ielm = explode("<+>",$ilan->dis_ozellikler);
                                                            ?>
                                                            <div class="ilanozellik">
                                                                <h4><?=$admin['emlk-36'];?></h4>
                                                                <?php
                                                            foreach($delm3 as $key => $val){
                                                                #$checked = (in_array($val,$ielm)) ? 'checked' : '';
                                                                ?>
                                                                <span><label><input name="dis_ozellikler[]" type="checkbox" <?=$checked;?> value="<?=$key;?>"><?=$val;?></label></span>
                                                                <? } ?>
                                                            </div>
                                                            <? } ?>
                                                        </div>
    veritabanıma implode ve post ettiğim kod yapısı

    <?php
    if (isset($_POST["kaydet"])){
    if(count($ic_ozellikler) > 0)
            $ic_ozellikler= implode("<+>",$ic_ozellikler);
        // Dış Özellikler
        if(count($dis_ozellikler) > 0)
            $dis_ozellikler= implode("<+>",$dis_ozellikler);
    
    $kaydet = $db->prepare("INSERT INTO ilanlar SET ic_ozellikler=:ilnicozllk, dis_ozellikler=:ilndisozllk");
    $insert = $kaydet->execute(["ilnicozllk" => $_POST["ic_ozellikler"], "ilndisozllk" => $_POST["dis_ozellikler"]]);
    if ($insert) {
            Header("Location:../ilanlar.php?durum=ok");
        } else {
            Header("Location:../ilanlar.php?durum=no");
        }
    }
    ?>
  • 14-06-2022, 01:03:02
    #2
    <?php
    if (isset($_POST["kaydet"])){
    $ic_ozellikler = (count($_POST["ic_ozellikler"]) > 0) ? implode("<+>",$_POST["ic_ozellikler"]) : '';
    $dis_ozellikler = (count($_POST["dis_ozellikler"]) > 0) ? implode("<+>",$_POST["dis_ozellikler"]) : '';
    
    $kaydet = $db->prepare("INSERT INTO ilanlar SET ic_ozellikler=:ilnicozllk, dis_ozellikler=:ilndisozllk");
    $insert = $kaydet->execute(["ilnicozllk" => $ic_ozellikler, "ilndisozllk" => $dis_ozellikler ]);
    if ($insert) {
    Header("Location:../ilanlar.php?durum=ok");
    } else {
    Header("Location:../ilanlar.php?durum=no");
    }
    }
    ?>
    Ekleme : db ye bu şekilde kaydetmek yerine json olarak kaydetmeni taviye ederim
  • 15-06-2022, 22:45:24
    #3
    aSSembLy adlı üyeden alıntı: mesajı görüntüle
    <?php
    if (isset($_POST["kaydet"])){
    $ic_ozellikler = (count($_POST["ic_ozellikler"]) > 0) ? implode("<+>",$_POST["ic_ozellikler"]) : '';
    $dis_ozellikler = (count($_POST["dis_ozellikler"]) > 0) ? implode("<+>",$_POST["dis_ozellikler"]) : '';
    
    $kaydet = $db->prepare("INSERT INTO ilanlar SET ic_ozellikler=:ilnicozllk, dis_ozellikler=:ilndisozllk");
    $insert = $kaydet->execute(["ilnicozllk" => $ic_ozellikler, "ilndisozllk" => $dis_ozellikler ]);
    if ($insert) {
    Header("Location:../ilanlar.php?durum=ok");
    } else {
    Header("Location:../ilanlar.php?durum=no");
    }
    }
    ?>
    Ekleme : db ye bu şekilde kaydetmek yerine json olarak kaydetmeni taviye ederim
    json olarak olarak örnek verme şansın varmı Hocam
    çok sağol Hocam dediğin şekilde yaptım çalıştı, Allah sende razı olsun