Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 8 of 8
  1. #1
    Senior Coder
    Join Date
    Oct 2003
    Location
    Australia
    Posts
    1,963
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Basic js-to-php conversion

    G'day
    I've found myself flooded by new additions from a client merely a week before beta testing was meant to start ... Contracts,eh? Won't forget next time
    Anyway, there is a purpose to this, and that is this:

    One of the features requested by the client is a js grants calculator that they use on their intranet. Leaving this as js just ain't gonna happen on my watch, but I'm knee deep in administration sections, access level permissions and other such mumbo. I fear that small things like this calculator might bite me in the butt on the last day and I'm asking if there is a kind soul out their who could take ten minutes of their time to convert this js function to php
    Code:
    function calculate(y, e, s){
    var rate = [0.4, 0.2, 0.1, 0.075, 0.05];
    if(y<3 && e>=20000){var grant = (e-15000)/2;}
    else if(e>=20000){
    var ge = (e-15000)/2;
    var gs = s*rate[y-3];
    if(ge<gs){var grant = ge;}
    else{var grant = gs;}
    }
    else{var grant = 0; alert("Applicants need a minimum of $20,000 in eligible expenditure to be entitled to claim.");}
    
    if(grant<0 || isNaN(grant)){grant=0; alert("Check your input and try again.");}
    document.gui.grant.value=grant;
    }
    Thanks in advance if anyone decides to help me out

    Andrew.
    Last edited by mindlessLemming; 06-11-2004 at 02:59 PM. Reason: I learnt to spell in three minutes

    I take no responsibility for the above nonsense.


    Left Justified

  • #2
    Regular Coder
    Join Date
    May 2004
    Location
    sweden
    Posts
    236
    Thanks
    0
    Thanked 0 Times in 0 Posts
    I need some test data to do a proper conversion. But try this:

    PHP Code:
    <?php

    function calculate($y$e$s){
    $rate = array(0.40.20.10.0750.05);

    if(
    $y<&& $e>=20000){
        
    $grant = ($e-15000)/2;
    }
    elseif(
    $e>=20000){
        
    $ge = ($e-15000)/2;
        
    $gs $s*$rate[$y-3];
            if(
    $ge<$gs){
                
    $grant $ge;
                }
            else{
                
    $grant $gs;
                }
        }
    else{
        
    $grant 0?>
        <script>alert("Applicants need a minimum of \$20\,000 in eligible expenditure to be entitled to claim.");</script>
    <?php }

    if(
    $grant || $grant === false ){
        
    $grant 0?> 
        <script>alert("Check your input and try again.")</script>";
    <?php    }
    return 
    $grant;
    }


    print 
    calculate(6,600,7000);
    ?>
    Last edited by carl_mcdade; 06-11-2004 at 04:05 PM.
    Carl McDade
    _____________
    Hiveminds Magazine
    for web publisher and community builders
    eRuby Tutorials

  • #3
    Senior Coder
    Join Date
    Oct 2003
    Location
    Australia
    Posts
    1,963
    Thanks
    0
    Thanked 0 Times in 0 Posts

    That's perfect Carl, thankyou so much.
    If you ever want a second brain to go over a crazy css bug or similar please feel free to PM me, I owe you one

    I never cease to be impressed by the helpfullness and friendly attitude of this community.

    I take no responsibility for the above nonsense.


    Left Justified

  • #4
    Regular Coder
    Join Date
    May 2004
    Location
    sweden
    Posts
    236
    Thanks
    0
    Thanked 0 Times in 0 Posts
    I forgot to escape a couple of slashes in the js so try the latest edit if you get a js error.
    Carl McDade
    _____________
    Hiveminds Magazine
    for web publisher and community builders
    eRuby Tutorials

  • #5
    Senior Coder
    Join Date
    Oct 2003
    Location
    Australia
    Posts
    1,963
    Thanks
    0
    Thanked 0 Times in 0 Posts
    That's cool, I'm going to replace those two script alerts with text printed to the screen. Just to remove all functionality from the hands of js.
    Thanks again

    I take no responsibility for the above nonsense.


    Left Justified

  • #6
    Senior Coder
    Join Date
    Oct 2003
    Location
    Australia
    Posts
    1,963
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Back for more...

    I've got it tweaked now, but it's not returning any values
    I think it might be my if statement that's freakin' it out:
    PHP Code:
    <?php //check if already submitted, display result. 
    if (isset($_GET['exp'])) {
    $y $_GET['year'];
    $e $_GET['exp'];
    $s $_GET['sales'];
    print 
    "<p>".calculate($y$e$s)."</p>";
    }
    ?>
    And here's the whole script:
    PHP Code:

    <?php
    $selfPost 
    $_SERVER['PHP_SELF'];

    function 
    calculate($y$e$s){
    $rate = array(0.40.20.10.0750.05);
    if(
    $y<&& $e>=20000){
        
    $grant = ($e-15000)/2;
    }
    elseif(
    $e>=20000){
    $ge = ($e-15000)/2;
    $gs $s*$rate[$y-3];
    if(
    $ge<$gs){
        
    $grant $ge;
            
    $ret "You are elligible for up to \$".number_format($grant).".";
        }
    else{
        
    $grant $gs;
            
    $ret "You are elligible for up to \$".number_format($grant).".";
        }
    }
    else{
        
    $grant 0
        
    $ret =  "Applicants need a minimum of \$20\,000 in eligible expenditure to be entitled to claim.";
    }
    if(
    $grant<){
        
    $grant=0
        
    $ret =  "Check your input and try again";
        }
    return 
    $ret;
    }


    //print calculate(6,60000,700000);
    ?> 
    <form action="<?php echo $selfPost?>" name="calc" method="get">
    <fieldset>
    <legend>EMDG Grant Calculator</legend>
    <?php //check if already submitted, display result. 
    if (isset($_GET['exp'])) {
    $y $_GET['year'];
    $e $_GET['exp'];
    $s $_GET['sales'];
    print 
    "<p>".calculate($y$e$s)."</p>";
    }
    ?>
    <label for="exp">Total Eligible Expenditure:</label> <br />
    <input type="text" name="exp" id="exp" /> <br />
    <label for="sales">Total Export Sales:</label> <br />
    <input type="text" name="sales" id="sa;es" /> <br />
    <label for="year">Select Grant Year</label> <br />
    <select name="year" id="year">
            <option>1</option>
            <option>2</option>
            <option>3</option>
            <option>4</option>
            <option>5</option>
            <option>6</option>
            <option>7</option>
    </select>
    <input type="submit" />
    </fieldset>
    </form>
    Any ideas?

    I take no responsibility for the above nonsense.


    Left Justified

  • #7
    Regular Coder
    Join Date
    May 2004
    Location
    sweden
    Posts
    236
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Uhh, you for got the values in your HTML, php needs them. I think the javascript collected the text.


    Code:
    <select name="year" id="year"> 
            <option value="1">1</option> 
            <option value="2">2</option> 
            <option value="3">3</option> 
            <option value="4">4</option> 
            <option value="5">5</option> 
            <option value="6">6</option> 
            <option value="7">7</option> 
    </select>
    Carl McDade
    _____________
    Hiveminds Magazine
    for web publisher and community builders
    eRuby Tutorials

  • #8
    Senior Coder
    Join Date
    Oct 2003
    Location
    Australia
    Posts
    1,963
    Thanks
    0
    Thanked 0 Times in 0 Posts
    I was surprised that the original form didn't have values, although the query string still sends the correct number, so that isn't the problem...
    Thanks anyway.

    I take no responsibility for the above nonsense.


    Left Justified


  •  

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •