你好,我正在寻找像机场的距离成本计算器,出租车公司将有例如:距离成本计算器
从X到XX将花费...
这里就是我有发从这里的其他人的帮助:http://pastebin.com/0pSF7VsA 但是我不能解决如何让它工作,例如当用户从表单中选择数学时,请做数学运算。
这里是迄今为止我的表格:http://pastebin.com/sq14eYMQ
感谢
你好,我正在寻找像机场的距离成本计算器,出租车公司将有例如:距离成本计算器
从X到XX将花费...
这里就是我有发从这里的其他人的帮助:http://pastebin.com/0pSF7VsA 但是我不能解决如何让它工作,例如当用户从表单中选择数学时,请做数学运算。
这里是迄今为止我的表格:http://pastebin.com/sq14eYMQ
感谢
继承人清理和后后计算的例子。希望能帮助到你。
<?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>';
}
?>
这是伟大的劳伦斯,但我如何给直布罗陀的每个地点不同的价格。 –
@格拉姆巴恩斯,当我经历它时,我注意到价格是一样的:s。您可以在if语句中进行检查,以查看选择了哪个拾取点,然后从该选项中设置数据数组。 –
对不起劳伦斯,但我知道很少的PHP,我把一些虚拟的数字,所以他们将完好无损都是不同的价值观。 –
您应该粘贴相关代码的问题里面,并着重说明你有问题,并描述正是问题(解析输入,这样做实际的数学计算等)。这将使我们能够更好地解决您的问题。 – Bryan
你应该把地点/价格放在一个数组中,这样处理起来会容易得多。 –