• 12-03-2009, 04:55:20
    #1
    Merhaba arkadaşlar
    yazdığım bi scripti çok dilli yapmak istiyorum ve dil cümlelerini veritabanında tutmayı düşünüyorum.
    mesela vbulletinde bir cümleyi çağırırken $vbphrase['cumle'] şeklinde çağırıyoruz.
    veritabanında cümle tablosuna id, dil_id, cumle_ad, cumle_icerik şeklinde alanlar oluşturduğum diyelim.
    cumle_ad alanındaki bir satırdaki degeri yazdığımda cumle_icerik kısmını ekrana nasıl yazdırabilirim?
    mesela $cumle[''ana_sayfa] diye çağırınca ekrana o satırdaki karşılığı olan "Ana Sayfa" değerini çeksin.

    Tabi birde ayarlı olan dile göre çağıracak ama orası ayrı konu tabi
  • 12-03-2009, 09:39:33
    #2
    Üyeliği durduruldu
    ReQueM adlı üyeden alıntı: mesajı görüntüle
    Merhaba arkadaşlar
    yazdığım bi scripti çok dilli yapmak istiyorum ve dil cümlelerini veritabanında tutmayı düşünüyorum.
    mesela vbulletinde bir cümleyi çağırırken $vbphrase['cumle'] şeklinde çağırıyoruz.
    veritabanında cümle tablosuna id, dil_id, cumle_ad, cumle_icerik şeklinde alanlar oluşturduğum diyelim.
    cumle_ad alanındaki bir satırdaki degeri yazdığımda cumle_icerik kısmını ekrana nasıl yazdırabilirim?
    mesela $cumle[''ana_sayfa] diye çağırınca ekrana o satırdaki karşılığı olan "Ana Sayfa" değerini çeksin.
    Tabi birde ayarlı olan dile göre çağıracak ama orası ayrı konu tabi
    dizi halindeki ifadeyi veritabanına nasıl kaydedebilirim diye soruyorsanız serialize ve unserialize fonksiyonlarını inceleyin
  • 12-03-2009, 11:28:05
    #3
    $cumle[''ana_sayfa] şeklinde yapmak için başta bir döngü yaratıp veritabanındaki tüm kelimeleri çağırıp bu diziye($cumle) atabilirsiniz. Ama daha kolayı var bir fonksiyon yazmak. <?=$cumle["ana_sayfa"]?> değilde <?=cumle("anasayfa");?> şeklinde gösterebilirsiniz.

    Tek yapacağın şey fonksiyonu tanımlamak.

     
    function cumle($cumle_ad){
    $sorgu="select * from cumle where cumle_ad='$cumle_ad'";
    $result=mysql_query($sorgu);
    return mysql_result($result,0,'cumle_icerik');
    }
    İstersen bu fonksiyonu iki parametreli yaparsın cumle($dil_id,$cumle_ad) gibi böylelikle dil_id de tanımlanmış olur.
  • 12-03-2009, 13:45:06
    #4
    hozgune adlı üyeden alıntı: mesajı görüntüle
    $cumle[''ana_sayfa] şeklinde yapmak için başta bir döngü yaratıp veritabanındaki tüm kelimeleri çağırıp bu diziye($cumle) atabilirsiniz. Ama daha kolayı var bir fonksiyon yazmak. <?=$cumle["ana_sayfa"]?> değilde <?=cumle("anasayfa");?> şeklinde gösterebilirsiniz.

    Tek yapacağın şey fonksiyonu tanımlamak.

     
    function cumle($cumle_ad){
    $sorgu="select * from cumle where cumle_ad='$cumle_ad'";
    $result=mysql_query($sorgu);
    return mysql_result($result,0,'cumle_icerik');
    }
    İstersen bu fonksiyonu iki parametreli yaparsın cumle($dil_id,$cumle_ad) gibi böylelikle dil_id de tanımlanmış olur.
    function da olabilir ama ayardaki dile göre (tr, en gibi) $cumle['xx'] şeklinde nasıl yapılabilir?
  • 12-03-2009, 13:54:35
    #5
    Kimlik doğrulama veya yönetimden onay bekliyor.
    ReQueM adlı üyeden alıntı: mesajı görüntüle
    function da olabilir ama ayardaki dile göre (tr, en gibi) $cumle['xx'] şeklinde nasıl yapılabilir?

    $dil = "tr";
    function cumle($cumle_ad){
    global $dil;
    $tablo = "cumle".$dil;
    $sorgu="select * from $tablo where cumle_ad='$cumle_ad'";
    $result=mysql_query($sorgu);
    return mysql_result($result,0,'cumle_icerik');
    }
    $dil = tr yi örnek yazdım, bu bölümü session veya cookie ile sitede hangi dilin seçildiğini atarsın, tr ise bu cumletr tablosundan veriyi çeker, en ise cumleen tablosundan veriyi çeker.
  • 12-03-2009, 14:33:39
    #6
    İstediğin dil içinde parametreli yaparsın demiştim. Fonksiyonla 2 parametre tanımlayarak onu halledersin.
  • 12-03-2009, 17:04:08
    #7
    function suz olmuyormu bu iş
    döngüyle nasıl yapabilirim