Sypro Mesaj tarihi: Mart 23, 2014 Mesaj tarihi: Mart 23, 2014 komik gelecek muhtemelen de bi türlü kafayı toplayıp yazamadım şunu. diyelim ki elimde şöyle 3 tane tablo var: Objects ------- ID Parent ... Languages --------- ID Name Code ... Names -------- ObjID LangID Text ... içlerinde de diyelim ki: objects: 1, 0, ... languages: 1, 'Türkçe', 'TR', ... 2, 'English', 'EN', ... names: 1, 1, 'Türkçe isim', ... 1, 2, 'İngilizce isim', ... gibi şeyler var. ulaşmaya çalıştığım nokta ise: [ { ID: 1, Parent: 1, Names: { TR: "Türkçe isim", EN: İngilizce isim, .. } }, ... ] böyle bir json üretmek. kafamın durduğu nokta bunu recursive bir sorgu halinde mi yazmak daha mantıklı olur yoksa iki parçaya ayırıp php tarafında mı birleştirmek daha mantıklı olur kısmı. saygılar, sevgiler.
Seele Mesaj tarihi: Mart 23, 2014 Mesaj tarihi: Mart 23, 2014 recursive derim heralde bana kolay gelirdi.
Sypro Mesaj tarihi: Mart 23, 2014 Konuyu açan Mesaj tarihi: Mart 23, 2014 JS Fiddle'dan sonra SQL Fiddle kimin aklına gelmişse takdir ettim. burada biraz uğraşayım bakalım.
riglous Mesaj tarihi: Mart 23, 2014 Mesaj tarihi: Mart 23, 2014 Adım adım nasıl yaptığımı (sorguları) yazdım. En sondaki istediğini veriyor. Önemli olan, DB'den alabildiğini tek seferde almak; defalarca query gönderirsen yavaş olur. Birkaç subselect'i kaldırmak mümkün olabilir, oturup incelemedim ama nasıl yapıldığını görebilmen için olabildiğince açık yazdım. SELECT o.id , o.parent , l.name , l.code FROM names n left join Objects o on n.objid = o.id left join languages l on n.langid = l.id ; SELECT o.id , o.parent , group_concat(concat(l.code,': ',n.text)) FROM names n left join Objects o on n.objid = o.id left join languages l on n.langid = l.id group by o.id, o.parent ; select concat('{' , 'ID: ', id, ',' , 'Parent: ', parent, ',' , 'Names: {', names, '}' , '}') from ( SELECT o.id , o.parent , group_concat(concat(l.code,': ',n.text)) names FROM names n left join Objects o on n.objid = o.id left join languages l on n.langid = l.id group by o.id, o.parent ) t2 ; select concat( '[' , group_concat( rec ) ,']') json from ( select concat('{' , 'ID: ', id, ',' , 'Parent: ', parent, ',' , 'Names: {', names, '}' , '}') rec from ( SELECT o.id , o.parent , group_concat(concat(l.code,': ','"',n.text,'"')) names FROM names n left join Objects o on n.objid = o.id left join languages l on n.langid = l.id group by o.id, o.parent ) t2 ) t3 ;
riglous Mesaj tarihi: Mart 29, 2014 Mesaj tarihi: Mart 29, 2014 Soru geldi, cevap verdik, ses yok. Bi teşekkür bi dürüm...
haydari Mesaj tarihi: Nisan 11, 2014 Mesaj tarihi: Nisan 11, 2014 abov siz cvp veriyo muydunuz daha burası yıkılır :)
Sypro Mesaj tarihi: Mayıs 5, 2014 Konuyu açan Mesaj tarihi: Mayıs 5, 2014 üzerinden çokça vakit geçmiş olmasına rağmen gerçekten çok teşekkür ediyorum. biraz değiştirip, biraz düzenleyip güzel bir şekle soktum ve tam olarak istediğim şeyi yaptı. aylardır çok vakit ayıramıyorum sosyal ortamlara, o yüzden geç kalmış da olsa umarım kabul görür bu teşekkür.
Öne çıkan mesajlar