2011-11-20 190 views
-2

你好,我正在寻找像机场的距离成本计算器,出租车公司将有例如:距离成本计算器

从X到XX将花费...

这里就是我有发从这里的其他人的帮助:http://pastebin.com/0pSF7VsA 但是我不能解决如何让它工作,例如当用户从表单中选择数学时,请做数学运算。

这里是迄今为止我的表格:http://pastebin.com/sq14eYMQ

感谢

+1

您应该粘贴相关代码的问题里面,并着重说明你有问题,并描述正是问题(解析输入,这样做实际的数学计算等)。这将使我们能够更好地解决您的问题。 – Bryan

+0

你应该把地点/价格放在一个数组中,这样处理起来会容易得多。 –

回答

1

继承人清理和后后计算的例子。希望能帮助到你。

<?php 
error_reporting(E_ALL); 

/* places array, multi dimensional could also be used but noticed prices are the same */ 
$data = array("Algeciras"=>10,"Almuñecar"=>20,"Alora"=>30,"Antequera"=>10,"Benahavis"=>15, 
"Benalmadena costa"=>20,"Benalmadena pueblo"=>25,"Calahonda"=>30,"Cartama"=>40, 
"Coin"=>12,"Estepona"=>15,"El Faro"=>20,"Frigiliana"=>16,"Fuengirola"=>30,"Gibraltar frontier - La Linea"=>12, 
"Granada"=>30,"La Cala de Mijas"=>10,"La Cala Golf Resort"=>20,"Malaga"=>5,"Manilva"=>12,"Marbella"=>20,"Mijas Costa"=>7, 
"Mijas Pueblo"=>20,"Nerja"=>10,"Puerto Banus"=>15,"Puerto de la Duquesa"=>10,"Rincon de la victoria"=>23, 
"Ronda"=>20,"San Pedro de Alcantara"=>10,"San Roque"=>20,"Sierra Nevada"=>12,"Sotogrande"=>19,"Tarifa"=>20, 
"Torre del Mar"=>30,"Torremolinos"=>10,"Torremuelle"=>14,"Torrenueva"=>18,"Torrox Costa"=>11); 


/* number of people array */ 
$car=array('1'=>0,'2'=>50,'3'=>70,'4'=>90,'5+'=>110); 


$now = date("H:i"); 
$cutoff = "18:56"; 

function rateOffset($now, $cutoff){ 
    if ($now < strtotime($cutoff)){ 
     // if less than 6:56pm add 20.00 20.00 euros to price 
     return 20.00; 
    } else { 
     // if more than 6:56pm add only 6 euros to price 
     return 6.00; 
    } 
} 

//This is a basic example of how to check if the form was posted 
if(isset($_POST['name']) && isset($_POST['to'])){ 

    if(isset($_POST['from']) && $_POST['from']=='Gibraltar'){ 
     /* places array to overwrite malaga prices */ 
     $data = array("Algeciras"=>10,"Almuñecar"=>20,"Alora"=>30,"Antequera"=>10,"Benahavis"=>15, 
     "Benalmadena costa"=>20,"Benalmadena pueblo"=>25,"Calahonda"=>30,"Cartama"=>40, 
     "Coin"=>12,"Estepona"=>15,"El Faro"=>20,"Frigiliana"=>16,"Fuengirola"=>30,"Gibraltar frontier - La Linea"=>12, 
     "Granada"=>30,"La Cala de Mijas"=>10,"La Cala Golf Resort"=>20,"Malaga"=>5,"Manilva"=>12,"Marbella"=>20,"Mijas Costa"=>7, 
     "Mijas Pueblo"=>20,"Nerja"=>10,"Puerto Banus"=>15,"Puerto de la Duquesa"=>10,"Rincon de la victoria"=>23, 
     "Ronda"=>20,"San Pedro de Alcantara"=>10,"San Roque"=>20,"Sierra Nevada"=>12,"Sotogrande"=>19,"Tarifa"=>20, 
     "Torre del Mar"=>30,"Torremolinos"=>10,"Torremuelle"=>14,"Torrenueva"=>18,"Torrox Costa"=>11); 
    } 

    $rateCalc = rateOffset($now, $cutoff); 

    echo $now." = $rateCalc<br />"; 
    echo "Price to {$_POST['to']} from {$_POST['from']}: ".number_format($data[$_POST['to']],2)."<br />"; 
    echo "Number of people price: ".number_format($car[$_POST['people']],2)."<br />"; 
    echo "Time rate calculator: ".$rateCalc."<br /><hr />"; 

    $total = number_format($data[$_POST['to']],2) + number_format($car[$_POST['people']],2) + $rateCalc." in euros<br /><br />"; 
    echo "Total: ".$total; 

}else{ 
    echo '<form method="POST" action=""> 
        <label>Name:</label> 
        <input type="text" value="name" name="name" /> 

        <label>From:</label> 
        <select name="from"> 
         <option selected="selected">Malaga</option> 
         <option>Gibraltar</option> 
        </select> 
        <div class="clr"></div> 

        <label>To:</label> 
        <select name="to"> 
      '; 
    foreach ($data as $place => $price){ 
     echo "<option>{$place}</option>\n"; 
    } 
    echo '</select> 
        <div class="clr"></div> 

        <label>Date:</label> 
        <input type="text" value="dd/mm/yyyy" id="date" name="date" /> 

        <label>Number of people:</label> 
        <select id="people" name="people"> 
         <option>1</option> 
         <option>2</option> 
         <option>3</option> 
         <option>4</option> 
         <option>5+</option> 
        </select> 
        <div class="clr"></div> 

        <div id="return"> 
         <label>Is this a return<br />journey?</label><div class="clr"></div> 
         <div id="radio-buttons"><input type="radio" name="return" value="Yes" class="radio" />Yes<br /> 
         <input type="radio" name="return" value="No" class="radio" />No</div> 
        </div> 
        <div class="clr"></div> 

        <input type="submit" name="submit" class="fauxButton" /> 
       </form>'; 
} 
?> 
+0

这是伟大的劳伦斯,但我如何给直布罗陀的每个地点不同的价格。 –

+0

@格拉姆巴恩斯,当我经历它时,我注意到价格是一样的:s。您可以在if语句中进行检查,以查看选择了哪个拾取点,然后从该选项中设置数据数组。 –

+0

对不起劳伦斯,但我知道很少的PHP,我把一些虚拟的数字,所以他们将完好无损都是不同的价值观。 –