• 09-04-2014, 20:42:54
    #1
    Merhaba, php den çok anlamıyorum ufak bir sorunum var yardımcı olursanız sevinirim.

    Bir kaç yıl önce yazdırdığım eticaret panelinde fatura yazdırma bölümü var adı siparis_yazdir.php

    aşağıdaki kod olan satırda siparişin kdv dahil GENEL TOPLAM fiyatını veriyor

    <?=$rs["siparis_ucret"]?> TL
    Benim istediğim şu: bu satırın hemen üstüne %8 kdv, bir satır üstüne de GENEL TOPLAM'ın kdv siz hali

    Örnek vermem gerekirse yukarıdaki kod satırında diyelim 108 lira yazıyor,
    bir üst satıra 8 lira, ikinci üst satıra da 100 lira yazdırmam lazım.
    En alt satıra da GENEL TOPLAM yani 108 lirayı metin olarak yazdırmam lazım.


    Sanırım bir fonksiyon yazıp daha sonra kdv ve kdv hariç satırlarına bu fonksiyona göre kodlar girmek ama nasıl yapacağım detaylı anlatan olursa çok sevinirim.

    Şimdiden yardımcı olanlara çok teşekkür ederim.
  • 09-04-2014, 20:57:20
    #2
    nasıl hesaplayacağını söyleyeyim, kod yazmaya üşendim açıkcası

    ilk olarak kdv hesaplamanın kolay yolu nedir;
    100tl kdv'siz fiyat olsun, kdv miktarımız da %8 olsun.
    100*0,08 = 8 tl
    100+8 = 108tl kdv'li fiyat.

    %18 olsaydı;
    100*0,18 = 18tl
    100+18 = 118tl.

    şimdi senin sorduğun sorunun cevabı, yani elimizde kdv dahil fiyat varsa kdv'siz fiyatı nasıl buluruz?

    108tl kdv dahil fiyat ise, %8 kdv miktarıysa;
    108/1,08=100tl
    118/1,18=100tl

    artık bunu koda sen çevirirsin
  • 09-04-2014, 21:57:47
    #3
    Üstat sen bildiklerimi yazmışsın bilmediklerimi de yap demişsin

    fatihsarac adlı üyeden alıntı: mesajı görüntüle
    nasıl hesaplayacağını söyleyeyim, kod yazmaya üşendim açıkcası

    ilk olarak kdv hesaplamanın kolay yolu nedir;
    100tl kdv'siz fiyat olsun, kdv miktarımız da %8 olsun.
    100*0,08 = 8 tl
    100+8 = 108tl kdv'li fiyat.

    %18 olsaydı;
    100*0,18 = 18tl
    100+18 = 118tl.

    şimdi senin sorduğun sorunun cevabı, yani elimizde kdv dahil fiyat varsa kdv'siz fiyatı nasıl buluruz?

    108tl kdv dahil fiyat ise, %8 kdv miktarıysa;
    108/1,08=100tl
    118/1,18=100tl

    artık bunu koda sen çevirirsin
  • 09-04-2014, 22:07:50
    #4
    $fiyat = $rs["siparis_ucret"];
    $kdv = $fiyat * 0.08;
    $urun = $fiyat - $kdv;
    // $kdv = kdv fiyatıdır
    // $urun = urunun vergisiz fiyatıdır
  • 09-04-2014, 22:22:30
    #5
    Anasayfam adlı üyeden alıntı: mesajı görüntüle
    Üstat sen bildiklerimi yazmışsın bilmediklerimi de yap demişsin

    function KdvsizBul($para, $kdv){
    	return $para/(1+($kdv/100));
    }
    
    function KdvBul($para, $kdv){
    	$ilkpara = $para/(1+($kdv/100));
    	return $para-$ilkpara;
    }
    
    
    
    $para 	= 118;
    $kdv 	= 18;
    echo KdvsizBul($para, $kdv) ."<br />";
    echo KdvBul($para, $kdv);

    sen detaylı anlatım demişsin, ben de detaylı anlatmıştım
    bu da kodu işte. lakin burada dikkat etmen gereken nokta bu hesaplamaları senin belirttiğin kdv dahil fiyat üzerinden yapıyor.
  • 09-04-2014, 23:08:29
    #6
    üstat burası tutarı çekmiyor

    $fiyat = $rs["siparis_ucret"];
    şu şekilde yaptığımda 0 yazıyor

    <?echo $fiyat;?>
    halbuki bunların üstünde şu satır var

    <?=$rs["siparis_ucret"]?> TL
    sonuç 125 TL



    PsdBul adlı üyeden alıntı: mesajı görüntüle
    $fiyat = $rs["siparis_ucret"];
    $kdv = $fiyat * 0.08;
    $urun = $fiyat - $kdv;
    // $kdv = kdv fiyatıdır
    // $urun = urunun vergisiz fiyatıdır
  • 09-04-2014, 23:58:41
    #7
    Developer
    )

    <?php
    if(!function_exists('kdv'))
    {
        function kdv($rakam,$oran=18,$islem='-')
        {
            $oranhesap = ($oran/100);
            switch($islem)
            {
                case '-';
                    $kdvrakam = (1+$oranhesap);
                    $rakam = @number_format($rakam/$kdvrakam, 2, '.', ',');
                break;
                case '+';
                    $kdvrakam = (100*($oranhesap));
                    $rakam = @number_format($rakam+$kdvrakam, 2, '.', ',');
                break;
                case '-+';
                    $kdvrakam = (1+$oranhesap);
                    $rakam = @number_format($rakam-$rakam/$kdvrakam, 2, '.', ',');
                break;
                case '+-';
                    $kdvrakam = (100*($oranhesap));
                    $rakam = @number_format($kdvrakam, 2, '.', ',');
                break;
            }
            return @number_format($rakam, 2, '.', ',');
        }
    }
    /* fiyattan kdv düser, son fiyati doner */
    
    echo kdv(118,18,'-'); // 1. parametre rakam, 2. parametre kdv oran , 3. parametre islem
    
    echo '<hr>'; /* cizgi kodu onemsiz */
    
    
    
    /* fiyata kdv ekler */
    
    echo kdv(100,18,'+');
    
    echo '<hr>'; /* cizgi kodu onemsiz */
    
    
    /* cikacak kdvsini hesaplar */
    
    echo kdv(118,18,'-+');
    
    echo '<hr>'; /* cizgi kodu onemsiz */
    
    
    /* eklenecek kdv hesapla */
    
    echo kdv(100,18,'+-');
    
    echo '<hr>'; /* cizgi kodu onemsiz */
    
    ?>
  • 10-04-2014, 00:16:14
    #8
    üstatlar başka bir kaynaktan bir şey buldum php nin bunun için basit bir yöntemi varmış

    <?=money_format('%(#10n',((($rs["siparis_ucret"])/108)*8))?>
    böyle yaptım kdv yi yazdı

    birilerine lazım olur diye belirteyim istedim
  • 10-04-2014, 03:07:26
    #9
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Sorun şu ki arkadaşım ilettiği kod PHP değil, ASP Kimse tag'leri de görmemiş galiba