• 19-01-2021, 11:18:08
    #1
    arkadaşlar profil doluluk oranı sistemi yapıyorum 5 tane zorunlu alanı var bunları doldurunca doluluk oranı yüzde 100 demesi lazım bi yerde bu kodu buldum tam istediğim gibi ama takıldığım nokta kişinin kaç tane şartı yerine getirdiği yardımcı olacak varsa çok sevinirim
    $zorunlu = 5;
    $kisininyaptigi = ?;
    echo 'Doluluk oranı: %'.(int)(($kisininyaptigi/$zorunlu)*100);
  • 19-01-2021, 11:21:48
    #2
    echo 'Doluluk oranı: %'.(int)(($kisininyaptigi*20);

    Bunu denediniz mi?
  • 19-01-2021, 11:22:54
    #3
    emreyavsan adlı üyeden alıntı: mesajı görüntüle
    echo 'Doluluk oranı: %'.(int)(($kisininyaptigi*20);

    Bunu denediniz mi?
    hocam sorun o değil benim kullanıcının kaç tane şartı yerine getirdiğini bulmam lazım
  • 19-01-2021, 11:24:15
    #4
    yusok32 adlı üyeden alıntı: mesajı görüntüle
    hocam sorun o değil benim kullanıcının kaç tane şartı yerine getirdiğini bulmam lazım
    javascript ile daha kolay yaparsınız
  • 19-01-2021, 11:24:45
    #5
    emreyavsan adlı üyeden alıntı: mesajı görüntüle
    javascript ile daha kolay yaparsınız
    nasıl hocam
  • 19-01-2021, 11:54:42
    #6
    yusok32 adlı üyeden alıntı: mesajı görüntüle
    nasıl hocam
    Şöyle bir şey yaptım, benim de bilgim yok denecek kadar az JavaScript konusunda. Elbette daha kolay ve performanslı bir yolu vardır. Kısaca JavaSript kodu inputlardaki verileri 2 saniyede bir kontol edip yüzdelik puanlama yapıyor.

    <!DOCTYPE html><html><head>    <title>Deneme</title></head><body>
        <input type="text" id="ad" placeholder="Adınız"> <br>    <input type="text" id="soyad" placeholder="Soyadınız"> <br>    <input type="email" id="mail" placeholder="Mailiniz"> <br>    <input type="phone" id="tel" placeholder="Telefon Numaranız"> <br>    <input type="text" id="adres" placeholder="Adresiniz">
        <div id="yuzde"></div>
    
    <script type="text/javascript">    
        let delay = 2000;
    let timerId = setTimeout(function request() {  var ad=document.getElementById("ad").value;  var soyad=document.getElementById("soyad").value;  var mail=document.getElementById("mail").value;  var tel=document.getElementById("tel").value;  var adres=document.getElementById("adres").value;        var sayac = 0;        if(ad.length > 0){            sayac = sayac + 20;        }
             if(soyad.length > 0){            sayac = sayac + 20;        }
             if(mail.length > 0){            sayac = sayac + 20;        }
             if(tel.length > 0){            sayac = sayac + 20;        }
             if(adres.length > 0){            sayac = sayac + 20;        }
    document.getElementById("yuzde").innerHTML = "%"+sayac;
      timerId = setTimeout(request, delay);
    }, delay);    </script></body></html>
  • 19-01-2021, 12:13:55
    #7
    Biraz araştırma yaptım ve Jquery ile daha sağlıklı bir şeyler yaptım. Bu kod da direkt inputta değişiklik algılanınca gerekli kontrolleri yapıyor. Biraz daha araştırma yaparsanız daha da kısalabilir bence. Orası da artık sizde

    <!DOCTYPE html><html><head>    <title>Deneme</title>    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous"></script></head><body>
        <input type="text" id="ad" placeholder="Adınız"> <br>    <input type="text" id="soyad" placeholder="Soyadınız"> <br>    <input type="email" id="mail" placeholder="Mailiniz"> <br>    <input type="phone" id="tel" placeholder="Telefon Numaranız"> <br>    <input type="text" id="adres" placeholder="Adresiniz">
        <div id="yuzde"></div>
    
    <script type="text/javascript">    var sayac = 0;
    document.getElementById("yuzde").innerHTML = "%"+sayac;$('#ad').bind('change', function() {    var ad=document.getElementById("ad").value;           if(ad.length > 0){            sayac = sayac + 20;                    }        if (ad.length == 0) {            sayac = sayac - 20;        }        document.getElementById("yuzde").innerHTML = "%"+sayac;});
    $('#soyad').bind('change', function() {    var soyad=document.getElementById("soyad").value;   if(soyad.length > 0){            sayac = sayac + 20;        }                if (soyad.length == 0) {            sayac = sayac - 20;        }        document.getElementById("yuzde").innerHTML = "%"+sayac;});
    $('#mail').bind('change', function() {    var mail=document.getElementById("mail").value;   if(mail.length > 0){            sayac = sayac + 20;        }        if (mail.length == 0) {            sayac = sayac - 20;        }        document.getElementById("yuzde").innerHTML = "%"+sayac;});
    $('#adres').bind('change', function() {    var adres=document.getElementById("adres").value;   if(adres.length > 0){            sayac = sayac + 20;        }        if (adres.length == 0) {            sayac = sayac - 20;        }document.getElementById("yuzde").innerHTML = "%"+sayac;});
    
    $('#tel').bind('change', function() {    var tel=document.getElementById("tel").value;   if(tel.length > 0){            sayac = sayac + 20;        }
            if (tel.length == 0) {            sayac = sayac - 20;        }        document.getElementById("yuzde").innerHTML = "%"+sayac;});
    
    
    </script></body></html>