• 07-05-2022, 17:38:36
    #1
    Üyeliği durduruldu
    Merhaba arkadaşlar. Öncelikle mesajlarınız ve yardımınız için teşekkür ederim. Daha önce kaç kere yaptığım şeyi unuttum mantığım da almıyor kafam durdu sizden yardım istiyorum. Şimdi veritabanımdan gelen while ile bir döngüye aldığım verilerim var. Bu verileri datatable içerisine yazdırdım. fotoğrafı aşağdaki gibidir.


    Bu değerlere göre veritabanı tablo yapımda atutar kolonu (bu alan 83.07 yazan yer tutar kısmıdır. ), aiskonto kolonu (iskonto tutarı sadece numeric rakam yazıyor.) ve doviz kolonu (buda TL mi EUR mu yoksa USD mi sabit 3 veri geliyor. )
    Bu bilgilere göre while dışarısında her satırdaki fiyatı iskontolarını düşüp çıkan sonucu TL olanları ayrı EUR olanları ayrı USD olanları ayrı toplatmam gerekiyor. Misal olarak aşağıda örnek gösteriyorum.

    ÖRNEk:
    (83.07 * 35)/100 çıkan sonucu da 83.07 den çıkarınca 54 kalıyor. tüm satırları bu şekilde hesaplayıp çıkan sonuçları dövizlere göre gruplayıp yazdırmam lazım.

    TL olanlar: 54+35 = 69
    EUR olanlar: misal 50
    DOLAR olanlar: 45 gibi

    Bu konuda bana yardımcı olur musunuz? Gerekiyorsa ücretli de olur
  • 07-05-2022, 17:59:10
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Gruplama işlemini array_filter ile yapabilirsiniz. Belirli bir koşula uyan elemanları yeni bir array olarak döndürecektir.

    $veriler = database_veri_al(); // Veritabanından gelen veriler
    
    // array_filter fonksiyonu ile verilerin doviz değeri (veritabanından gelen döviz sütunu) belirli bir değere eşit olanları bu şekilde ayırıyoruz
    $liralar = array_filter($veriler, fn($k) => $k['doviz'] == 'TL');
    $dolarlar = array_filter($veriler, fn($k) => $k['doviz'] == 'USD');
    $eurolar = array_filter($veriler, fn($k) => $k['doviz'] == 'EUR');
    
    // Ayırdığımız yeni array'leri while veya foreach ile kullanabiliriz
    foreach($liralar as $veri) {
        $sonuc = $veri['atutar'] - (($veri['atutar'] * $veri['aiskonto']) / 100) + $veri['aiskonto'];
    }
  • 07-05-2022, 18:05:12
    #3
    Üyeliği durduruldu
    berkealp adlı üyeden alıntı: mesajı görüntüle
    Gruplama işlemini array_filter ile yapabilirsiniz. Belirli bir koşula uyan elemanları yeni bir array olarak döndürecektir.

    $veriler = database_veri_al(); // Veritabanından gelen veriler
    
    // array_filter fonksiyonu ile verilerin doviz değeri (veritabanından gelen döviz sütunu) belirli bir değere eşit olanları bu şekilde ayırıyoruz
    $liralar = array_filter($veriler, fn($k) => $k['doviz'] == 'TL');
    $dolarlar = array_filter($veriler, fn($k) => $k['doviz'] == 'USD');
    $eurolar = array_filter($veriler, fn($k) => $k['doviz'] == 'EUR');
    
    // Ayırdığımız yeni array'leri while veya foreach ile kullanabiliriz
    foreach($liralar as $veri) {
        $sonuc = $veri['atutar'] - (($veri['atutar'] * $veri['aiskonto']) / 100) + $veri['aiskonto'];
    }
    Parse error: syntax error, unexpected '=>' (T_DOUBLE_ARROW), expecting ',' or ')' in ogteklifdetay.php on line 348
    ilk bu hatayı verdi sonrasında hallettim fakat yemedi hocam.