23 Ağustos 2014 Cumartesi

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.

SQL'de DECLARE & SET Kullanımı

  • SQL'de değişken tanımlamalarında DECLARE komutu kullanılır.    
  • Tanımladığımız değişken için değer atama işlemlerinde SET komutu kullanılır. 

DECLARE & SET Kullanımı : DECLARE @<Değişken_Adı> <Değişken_tipi>

NOT : Örnek sorgulamalarda Northwind Database'i kullanacağım. bk: Nortwind Database Kurulumu


Örnek Sorgu: Products tablomuzdaki en yüksek birim fiyata sahip ürünü DECLARE komutu ile değişken tanımlayıp SET ile atamasını yapalım ve MAX fonksiyonu ile en büyük değeri bulup listeleyelim.

DECLARE @enyüksek_birimfiyat MONEY
SET @enyüksek_birimfiyat=(select max(UnitPrice) from Products)
SELECT @enyüksek_birimfiyat AS 'Birim fiyatı en yüksek ürün'


SQL'de USE, ALTER ve DROP Kullanımları

USE Kullanımı
  • USE kullanımı hangi database üzerinde işlem yapacağımızı belirtir.
  • New Query (Ctrl+N) ile yeni sorgu penceremizi açtığımızda default olarak gelen database Available Databases kutucuğunda görünmektedir.
 USE Kullanımı: USE <veritabanı adı>


ALTER ve DROP Kullanımları

Bir tablo kullanılmaya başlandıktan sonra kullanıcılar tablolarda mevcut bulunan verilere ilişkin ek bilgiler depolama ihtiyacı hissederler.

ALTER Kullanımı: ALTER <Nesne_Adı>  <Değişim_Cümlesi>

Örnek Sorgu 1: SQL'de CREATE Kullanımı başlıklı yazımda oluşturduğumuz Kitaplar veritabanında mevcut Bilimkurgu tablomuza yeni bir sütun ekleyip değerinin ise NULL olabilir şekilde ayarlayalım.

ALTER TABLE Bilimkurgu ADD Sayfa INT NULL


Örnek Sorgu 2: Bilimkurgu tablomuzda önceden kaydettiğimiz bir sütunun özelliğini değiştirelim. Yazar alanı 25 karakter değer alabilirken biz bu değeri 30 karakter ile değiştirelim.

ALTER TABLE Bilimkurgu ALTER COLUMN Yazar VARCHAR(30)

Tablo Silmek (DROP TABLE)

Veritabanların yapısı zamanla değişir ve büyür. Yeni değerleri temsil eden yeni tablolar oluşturulur ve bazen eski tablolara gereksinim duyulmaz. Gereksinim duyulmayan bir tabloyu veritabanından silmek için DROP TABLE ifadesini kullanırız.

DROP TABLE Bilimkurgu

Veritabanımızdan Bilimkurgu tablomuzu siler.

NOT: DROP TABLE ifadesi veritabanından bir tablo sildiğinde tablonun tanımı ve tüm içeriği kaybolur.

SQL'de CREATE Kullanımı

  • CREATE TABLE ifadesi veritabanında yeni bir tablo oluşturmamızı sağlar.
  • CREATE DATABASE ifadesi yeni bir veritabanı oluşturmamızı sağlar.
Örnek Sorgu :  CREATE DATABASE ifadesi ile veritabanı yaratalım...ve bu veritabanında tablolar oluşturalım.

CREATE DATABASE KITAPLAR
CREATE TABLE Bilimkurgu(BlkrgId INT,Name VARCHAR(25) )



SQL'de DELETE Kullanımı

  • DELETE ifadesi tablodaki satırları silmek için kullanılır.
  • DELETE ifadesi içerisinde WHERE isteğe bağlıdır
  • Koşul belirtilmez ise bütün kayıtları tablomuzdan siler.
  • DELETE ifadesi ile kayıtlar silinse dahi tablo  ve sütünların tanımı  veritabanında saklanır.
  • Potansiyel riskler nedeniyle DELETE ifadesi kullanılırken her zaman bir arama koşulu tanımlanmalıdır.
DELETE Kullanımı: DELETE FROM <tablo adı> WHERE <sütun adı>=<aranan değer>

NOT : Örnek sorgulamalarda Northwind Database'i kullanacağım. bk: Nortwind Database Kurulumu 

Örnek Sorgu : Employees (Çalışanlar) tablumuzda EmployeeID'si 5 olan kaydı silelim.

DELETE FROM Employees WHERE EmployeeID=5 SELECT * FROM Employees

Copyright 2013-2017 | İbrahim BAYRAKTAR /dev/null Web Günlüğü