• 11-01-2015, 10:59:03
    #1

    Burda görüldüğü gibi videos tablomda parts kolonunda veriler serialize edilerek saklanıyor. ve

    Şeklinde aynı video id ile eşleşen parts tablomda bu şekilde depolanıyor. Burda part_name kolonunda yazan tr, 720p, subtitle ve nosubtitle haricindeki isimler videos tablomdaki parts kolonunda isimlerine yer verilmiyor.
    Benim yapmak istediğim bu parts tablosundaki
    a:3:{s:4:"720p";b:1;s:8:"subtitle";b:1;s:2:"tr";b:1;}
    gibi ben elimdeki veriye göre bu şekilde kayıt etmek istiyorum. Yani
    elimde tr isimli deger için bir iframe var onu hem parts tabloma hemde videos tabloma bu serialize yöntemiyle kayıt etmem gerekiyor.
    MySql sorgusunu ben hallederim php ile serialize nasıl ederim elimdeki veriyi onu bulursam sql sorgusunu ben hallederim.
    Teşekkürler arkadaşlar
  • 11-01-2015, 18:00:49
    #2
     $serialize=array("720p",true,"subtitle",true,"tr",true);
        $str = serialize($serialize);
    	echo $str;
    şeklinde ilerledim ama
    a:6:{i:0;s:4:"720p";i:1;b:1;i:2;s:8:"subtitle";i:3;b:1;i:4;s:2:"tr";i:5;b:1;}
    olmasını istedigim
    a:3:{s:4:"720p";b:1;s:8:"subtitle";b:1;s:2:"tr";b:1;}
    çıktısı oldu hem dizi de 6 değişken var dedi hemde integer degerini verdi, diziye integer degerini basmadan ve diziyi 3 e düşürüp nasıl bool true da yapıcam var mı yardımcı olabilecek.

    --Ekleme --

    Hallettim çözümü de paylaşayım ama daha iyi fikri olan varsa açığım deneyerek buldum,
    $array=array();
        $array["720p"] = "deger"==true;
        $array["subtitle"] = "varmi"==true;
        $array["tr"] = "bilmiyorum"==true;
        $str = serialize($array);
    	echo $str;
    çıktısı
    a:3:{s:4:"720p";b:1;s:8:"subtitle";b:1;s:2:"tr";b:1;}
  • 12-01-2015, 15:15:48
    #3
    Bir yerde takıldım yine arkadaşlar bakabilir misiniz?
    $array=array();
        $array["720p"] = true==array("bes","alti","yedi");
        $array["subtitle"] = "Ogren"==true;
        $array["nosubtitle"] = "Yok"==true;
        $array["tr"] = "Yok"==true;
        $str = serialize($array);
    echo $str.'<br>';
    //sonuç istediğim gibi
    //a:4:{s:4:"720p";b:1;s:8:"subtitle";b:1;s:10:"nosubtitle";b:1;s:2:"tr";b:1;}
    //fakat,
    $str = serialize($array["720p"]);
    echo $str.'<br>';
    //sonuç sadece b:1,
    //ben a:3:{i:0;s:3:"bes";i:1;s:4:"alti";i:2;s:4:"yedi";} olmasını istiyorum ikincisi serialize yaptığımda
    bu konuda yardımcı olabilecek var mı acaba?
  • 12-01-2015, 18:58:26
    #4
    Json neden kullanmadın ki ?
    json_encode ve json_decode ile daha kolay olacağı kanısındayım.


    <?php
    $array=array();
        $array["720p"] = "deger"==true;
        $array["subtitle"] = "varmi"==true;
        $array["tr"] = "bilmiyorum"==true;
        
        
        echo "Json Hali: ".json_encode($array);
        echo "<br/>";
        var_dump( json_decode(json_encode($array)) );

    cikti
    Json Hali: {"720p":true,"subtitle":true,"tr":true}
    object(stdClass)#1 (3) { ["720p"]=> bool(true) ["subtitle"]=> bool(true) ["tr"]=> bool(true) }
  • 12-01-2015, 19:30:23
    #5
    alchalade adlı üyeden alıntı: mesajı görüntüle
    Json neden kullanmadın ki ?
    json_encode ve json_decode ile daha kolay olacağı kanısındayım.
    hocam yukardaki mesajlarda istedigim sonucları yazdım o sonuçlar serialize edilmiş sonuçlar ancak serialize ile olacagı kanısındayım o yüzden.
  • 13-01-2015, 11:38:29
    #6
    arkadaşlar güncellemek durumunda kalıyorum ama çözemedim sorunumu
    ilk çıktıda
      $str = serialize($array);
    echo $str;
    a:4:{s:4:"720p";b:1;s:8:"subtitle";b:1;s:10:"nosubtitle";b:1;s:2:"tr";b:1;}
    dizi sayısı a:4, vaule degeri s8:subtitle gibi ve bool:1 true degerlerini vermesini istiyorum ilk çıktıda
    ikinci çıktı da
    $str = serialize($array["720p"]);
    echo $str;
    olmasını istediğim.
    a:3:{i:0;s:3:"bes";i:1;s:4:"alti";i:2;s:4:"yedi";}
    şeklinde dizi sayısını a:3, integer degerini i:0, s:3 bes gibi
    yani $array["720p"] çıktısını istedigim gibi alamıyorum. bu konuda yardımcı olabilir misiniz?
  • 14-01-2015, 12:38:38
    #7
    Arkadaslar yok mu yardimci olacak bu konuda
  • 14-01-2015, 14:44:04
    #8
    true==array("bes","alti","yedi"); ifadesindeki true== ifadesini kaldırırsanız istediğiniz sonucu alırsınız
  • 14-01-2015, 16:34:21
    #9
    By_MiLaT adlı üyeden alıntı: mesajı görüntüle
    true==array("bes","alti","yedi"); ifadesindeki true== ifadesini kaldırırsanız istediğiniz sonucu alırsınız
    serialize($array) yaptigimda ilk istedigim sonucu vermiyor hocam. Ben iki sonucu da yukardaki gibi olmasini istiyorum