substr() Kullanımı etiketine sahip kayıtlar gösteriliyor.
substr() Kullanımı etiketine sahip kayıtlar gösteriliyor.

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.

Php substr() fonksiyonu kullanımı

Php kütüphanesindeki önemli fonksiyonlardan bir tanesi de substr() fonksiyonudur. Karakter grubu üzerindeki belirlenen bölgeyi almaya yarar. Yani bir isim veya bir cümle üzerindeki belli bir parçayı kopyalayıp belirlediğimiz değişkene atamaya yarar.

substr() Fonksiyonu Kullanımı:

substr ($degisken, $baslangic, $sayi) şeklinde 3 adet bölüme sahiptir bunları inceleyecek olursak;
- $degisken: Bu kısım işlemi yapacağımız cümle veya karakter grubunun bulunduğu değişkeni içerir.
- $baslangic: Değişken içinde hangi karakterden başlanacağını bu belirler. (-) negatif değerler alabilir.
- $sayi: Başlangıç karakterinden itibaren kaç karakterin kopyalanacağını belirler.

substr() Fonksiyon Örnekleri:

İlk örneğimizde "Php deneme ve örnekler" adlı cümlemizdeki ilk 5 karakteri belirlediğimiz değişkene atamaya yarayan bir php kod hazırlayalım.
<? php
$degisken = 'Php deneme ve örnekler';
$sonhali = substr($degisken, 0, 5); // "Php d"
?>
Sonuç olarak yeni değişkenimize "Php d" değeri atanacaktır.
Yeni örneğimizde ise aynı cümlenin sondan 5 karakterini değişken içine atayalım. Bu örnekteki başlangıç değerinin -5 olmasına dikkat edelim. Yani geriye doğru 5 karakter say anlamındadır. Geriye doğru ilk karakteri, cümledeki son harf olan "r" olduğunu biliniz. Geriye doğru ikinci karakter ise "e" dir.
<? php
$degisken = 'Php deneme ve örnekler';
$sonhali = substr($degisken, -5, 5); // "ekler"
?>
Sonuç olarak yeni değişkenimize "ekler" değeri atanacaktır.
Mesela elimizdeki kelime sayısından daha çok bir kopyalama işlemi yapılmaya çalışılırsa; Örnek olarak değişkenimiz "Elma" olsun burada seçilen 13 karakter say komutunun bir işlevi olmayacaktır. Çünkü değişkenimiz sadece 4 karakterdir ve 4 karakter üstünde işlem yapılmayacaktır.
<? php
$degisken = 'Elma';
$sonhali = substr($degisken, 0, 13); // "Elma"
?>
Sonuç olarak yeni değişkenimize "Elma" değeri atanacaktır.
Bu örneğimizde ise yukarıdaki cümlenin 4. karakterinden itibaren 12 karakterini kopyalamak istersek.
<? php
$degisken = 'Php deneme ve örnekler';
$sonhali = substr($degisken, 3, 12); // "deneme ve ör"
?>
Sonuç olarak yeni değişkenimize "deneme ve ör" değeri atanacaktır.
Burada dikkat edilmesi gereken başlangıç karakteri 0 dan başlamaktadır yani 4. karakterden başlamak istersek yapmamız gereken başlangıç bölümünü 3 yapmak olacaktır. Yukarıdaki örnekte anlatmak istediğimiz gözükmektedir.
Son örneğimizde ise gösterilecek karakter sayısı 20 den fazla olduğu zaman tabloda ve tasarımda bozukluk oluşturacak bir kodu engellemek için 20 karakterden fazlasını gösterirken ilk 17 karakteri alan ve son 3 karakter yerine nokta koyan yani sonuç olarak tablo içinde 20 karakter gösteren bir kod uygulamasını inceleyelim. Örnekte ayrıca değişken içindeki karakter sayısını saymak için strlen() fonksiyonu kullanılmıştır.
<? php
$degisken = 'Tablo içinde gösterilecek olan değişken';
if (strlen($degisken) > 20) {
$sonhali = substr($degisken, 0, 12); // "Tablo içinde göst"
$sonhali = $sonhali . '';
}
?>
Sonuç olarak yeni değişkenimize "Tablo içinde göst…" değeri atanacaktır.
Bu fonksiyon ile uygulamalarımızda birçok işlem yapabiliriz. Mesela tablo içinde yeterli olmayan bölgelerde kısaltma işlemi yapabilir veya devamı için tıklayınız şeklinde özellikle makale scriptlerinde kullanılan uygulamalar geliştirebiliriz.