PHP'de Para İşlemleri, MySQL Kolon Tipi ve Kullanımı

Bir proje hazırlıyorsanız,dışardan kullanıcıya para birimi girdirmek istiyorsanız ve bunu nasıl yapacağınızı bilmiyorsanız; mysql veri tipi ne olacak ? dışardan para birimini , (virgüllü) mü girsek . (noktalı) mı girsek veya girdirsek mi vs diyorsanız bu makale tam size göre.

Aşağıdaki temizle fonksiyonu dışardan girilen değeri düzenler, şimdi satır satır inceleyelim.
    function temizle($veri)
    {
    $veri1=substr($veri,0,-3); //Virgülden önceki değeri veri1 değişkenine alıyoruz.
    $veri2=substr($veri,-3,3); //virgül dahil son 3 karakteri veri2 değişkenine alıyoruz.
   
    $veri1=str_replace(",","",$veri1); //veri1 deki varsa ,(virgül) karakterini sildiriyoruz.
    $veri1=str_replace(".","",$veri1); //veri1 deki varsa .(nokta) karakterini sildiriyoruz.
  
    $veri2=str_replace(",",".",$veri2); //veri2 deki varsa ,(virgül) karakterini noktaya çeviriyoruz.
    $son=$veri1.$veri2; //ayarları yaptıktan sonra iki sayıyı birleştirip son değişkeninde yolluyoruz.
    return $son;
    }
bu fonksiyonu arayüz kodlarında kullanmak için;
$deger1=temizle("$deger1"); //değer1i temizle fonk. ile çağırdık.
$sonFiyat=number_format($deger1,2,",","."); //bu format türkiye para birimi için geçerli.
veritabanına kayıt yaparken kullanacağınız değişken $sonFiyat değişkenidir.
1.365,96 sayisi için işlemler şu şekilde ilerleyecek

önce;
veri1=1.365
veri2=,96

daha sonra;
veri1=1365
veri2=.96 olacak

sonra bu sayılar 1365.96 olarak $son değişkeninde yollanacak.
bu değer number_format fonksiyonuna girecek sondan 2 basamak aktif olacak şekilde son 2 rakam virgül ondan öncekiler . olacak şekilde ayıracak. yani 1.365,96 olarak database e yazıcaktır.

Mysql Sutun veri tipi ise varchar(255) optimum seviyededir. Bunu kullanmanız önerilir. Decimal,float vs belli bir seviyeden sonra uçuyor.

İyi çalışmalar.