• 06-01-2010, 11:00:12
    #1
    Arkadaşlar elimde bir sistem var ve bu sisteme ikinci bir dil yani tüm tablolardan kopya yapıp "en_" şeklinde prefix eklenmesini istiyorum. Ama kodlarda yine xxx şeklinde tabloya bağlanırken ingilizceye özel bağlanma dosyasında öyle bir değişiklik yapmalıyım ki tüm xxx tablolarına en_xxx şeklinde bağlanması gerekmekte.
    Yani tek dosyada bu işin çözümü olamaz mı? Tek dosya içinde veritabanındaki tabloların ismini filan da replace ile filan edemez miyim? mysql_connect() yada mysql_select_db() gibi ya da bunların bir özelliği yok mu prefix tarzı bir şey yapılacak?
  • 06-01-2010, 11:01:31
    #2
    Üyeliği durduruldu
    tüm sqlleri bulup değiştirmeniz lazim hocam direk böyle bir şansınız yok çünkü konu direk sql ifadelerini ilgilendiriyor.

    ama bunu yaparken sabit kelime degil değişken kullanirsaniz daha sonra değiştirme açısındanda rahat edersiniz
  • 06-01-2010, 11:07:23
    #3
    sdemirkeser adlı üyeden alıntı: mesajı görüntüle
    tüm sqlleri bulup değiştirmeniz lazim hocam direk böyle bir şansınız yok çünkü konu direk sql ifadelerini ilgilendiriyor.

    ama bunu yaparken sabit kelime degil değişken kullanirsaniz daha sonra değiştirme açısındanda rahat edersiniz
    SQLden en_xxx şeklinde veritabanları hazır zaten onlar kopyalandı sorun değil de kod olarak da en/ klasörü içinde ayar_en.php de bu tip bir kod yazarak normal sitedekinden farklı olarak yeni tablolardan çekebilmeli.

    str_replace("FROM kullanicilar", "FROM en_kullanicilar", $sql);
    tarzı bir şey düşünsem de her sorguyu $sql değişkeninde kullanmıyoruz. Şuan için bir sorun bu gibi gözüküyor..
  • 06-01-2010, 11:29:39
    #4
    Üyeliği durduruldu
    alorak82 adlı üyeden alıntı: mesajı görüntüle
    SQLden en_xxx şeklinde veritabanları hazır zaten onlar kopyalandı sorun değil de kod olarak da en/ klasörü içinde ayar_en.php de bu tip bir kod yazarak normal sitedekinden farklı olarak yeni tablolardan çekebilmeli.

    str_replace("FROM kullanicilar", "FROM en_kullanicilar", $sql);
    tarzı bir şey düşünsem de her sorguyu $sql değişkeninde kullanmıyoruz. Şuan için bir sorun bu gibi gözüküyor..
    bence yanlis düsünüyorsunuz bunun insert into su var update tablosu var. tabi bunlar standart formlar. yerine göre joinler bile olabilri.
    sqlleri bulup elle yapmaniz daha iyi

    dosyalarda zaten mysql_query diye aratirsaniz cok fazla sayida olacagini sanmiyorum

    define(PREFIX,'en_');

    gibi tanimlarsaniz

    sonra sqllerinizi

    "select * from tablo" yerine
    "select * from ".PREFIX."tablo"

    seklinde degistirirseniz ömür boyu rahat edersiniz
  • 06-01-2010, 11:54:00
    #5
    sdemirkeser adlı üyeden alıntı: mesajı görüntüle
    bence yanlis düsünüyorsunuz bunun insert into su var update tablosu var. tabi bunlar standart formlar. yerine göre joinler bile olabilri.
    sqlleri bulup elle yapmaniz daha iyi

    dosyalarda zaten mysql_query diye aratirsaniz cok fazla sayida olacagini sanmiyorum

    define(PREFIX,'en_');

    gibi tanimlarsaniz

    sonra sqllerinizi

    "select * from tablo" yerine
    "select * from ".PREFIX."tablo"

    seklinde degistirirseniz ömür boyu rahat edersiniz
    Karışık bir sistem var aslında elimde. Yani çok dosya var her dosyada 2-3 tane sorgu var. Tüm dosyalarda değişiklik yapmak yerine tek bir dosyada değiştirmek istiyordum. En mantıklısı o zaten yeniden kodlanılması istenmiyor. Tek dosya ile yapmak en iyisi olacaktı ama sanırım öyle bir şey olamayacak o yüzden bu tip bir şey yapacağım sanırım.