• 17-02-2023, 08:20:31
    #1
    Arkadaşlar merhaba fiyatları sabit olan 5 tane seçenek arasından iki tanesini seçerek aralarında ki fiyatların toplanmasını istiyorum. Bu dediğimi yaptım ama ilk seçilen seçeneğin fiyatını almasını istemiyorum bunu nasıl yapabilirim.
    PHP kodu aşağıda ki gibi yaptım. Sistem çalışıyor ama tam olarak istediğim gibi değil. Örneğin seçenek 1'i ve 3'yi seçtiğimde ilk seçeneği toplama dahil etmesini istemiyorum 2. ve 3. seçenekleri toplasın. Kısacası seçtiğim iki seçeneğin arasındaki sayıları toplasın ama bu toplama ilk seçeneği eklemesin. Bunu nasıl yapabilirim?
    $secenekler = array(
        "1" => 10,
        "2" => 20,
        "3" => 30,
        "4" => 40,
        "5" => 50,
    );
    
    
    $toplam_fiyat = 0;
    if (isset($_POST['secim1']) && isset($_POST['secim2'])) {
        $secim1 = $_POST['secim1'];
        $secim2 = $_POST['secim2'];
    
        $baslangic_indexi = array_search($secim1, array_keys($secenekler));
        $bitis_indexi = array_search($secim2, array_keys($secenekler));
    
    
        if ($baslangic_indexi > $bitis_indexi) {
            $temp = $baslangic_indexi;
            $baslangic_indexi = $bitis_indexi;
            $bitis_indexi = $temp;
        }
    
    
        $secenekler_arasi_fiyat = 0;
        for ($i = $baslangic_indexi; $i <= $bitis_indexi; $i++) {
            $secenekler_arasi_fiyat += $secenekler[array_keys($secenekler)[$i]];
        }
        $toplam_fiyat = $secenekler_arasi_fiyat;
    }
    
    
    echo "Toplam fiyat: ₺" . $toplam_fiyat;
    <form method="post">
        <label for="secim1">Seçim 1:</label>
        <select name="secim1" id="secim1">
            <option value="">-- Secenek Secin --</option>
            <option name="Secenek 1" value="1">Secenek 1</option>
            <option name="Secenek 2" value="2">Secenek 2</option>
            <option name="Secenek 3" value="3">Secenek 3</option>
            <option name="Secenek 4" value="4">Secenek 4</option>
            <option name="Secenek 5" value="5">Secenek 5</option>
        </select>
        <br>
        <label for="secim2">Seçim 2:</label>
        <select name="secim2" id="secim2">
            <option value="">-- Secenek Secin --</option>
            <option name="Secenek 1" value="1">Secenek 1</option>
            <option name="Secenek 2" value="2">Secenek 2</option>
            <option name="Secenek 3" value="3">Secenek 3</option>
            <option name="Secenek 4" value="4">Secenek 4</option>
            <option name="Secenek 5" value="5">Secenek 5</option>
        </select>
        <br>
        <input type="submit" value="Toplam Fiyat Hesapla">
    </form>
  • 17-02-2023, 08:39:37
    #2
    $i = $baslangic_indexi+1 olarak güncellemeniz kurtarır gibi görünüyor eğer istediğiniz sonuca ulaştırmazsa;
    +90 264 606 0758 whatsapp üzerinden ulaşabilirsiniz uğraşırız üstüne.
  • 17-02-2023, 08:42:58
    #3
    HOSTUDE adlı üyeden alıntı: mesajı görüntüle
    $i = $baslangic_indexi+1 olarak güncellemeniz kurtarır gibi görünüyor eğer istediğiniz sonuca ulaştırmazsa;
    +90 264 606 0758 whatsapp üzerinden ulaşabilirsiniz uğraşırız üstüne.
    hocam senden Allah razı olsun 2 saattir buna uğraşıyorum. Çok teşekkür ederim çalıştı
  • 17-02-2023, 09:49:22
    #4
    HOSTUDE adlı üyeden alıntı: mesajı görüntüle
    $i = $baslangic_indexi+1 olarak güncellemeniz kurtarır gibi görünüyor eğer istediğiniz sonuca ulaştırmazsa;
    +90 264 606 0758 whatsapp üzerinden ulaşabilirsiniz uğraşırız üstüne.
    hocam seçenekleri seçtiğim zaman hesapla tuşuna basmadan hesaplamasını nasıl yaparım? hesaplaması için tuşa basmama gerek kalmasın istiyorum bunu yapma şamsım var mıdır? her seçtiğim de hesaplamayı otomatik olarak üstte yapsın
  • 17-02-2023, 10:09:10
    #5
    HaCToR0 adlı üyeden alıntı: mesajı görüntüle
    hocam seçenekleri seçtiğim zaman hesapla tuşuna basmadan hesaplamasını nasıl yaparım? hesaplaması için tuşa basmama gerek kalmasın istiyorum bunu yapma şamsım var mıdır? her seçtiğim de hesaplamayı otomatik olarak üstte yapsın
    Bunun için javascript kullanarak işlem yapmalısınız
  • 17-02-2023, 10:17:09
    #6
    ahmtcn37 adlı üyeden alıntı: mesajı görüntüle
    Bunun için javascript kullanarak işlem yapmalısınız
    bende javascript yok hocam. rica etsem ufak bir örnek atar mısınız?
  • 17-02-2023, 10:26:33
    #7
    jQuery üzerinde onChange eventini sizin optionlara bağlayacaksınız her change eventinde birden fazla seçim olup olmadığının kontrolünü yapmalısınız eğer 2 >= şeklinde seçenek seçilmiş ise jQuery post ile yapmış olduğunuz php sayfasına post atıp dönütü ilgili yere yazmanız gerekiyor biraz kodları uzun olduğu için direkt örnek atamadım aşağıda dokümantasyonları hata alırsanız konuyu takipteyim yardımcı olmaya çalışırım.
    https://api.jquery.com/change/
    https://api.jquery.com/jquery.post/