我对我的项目有点麻烦,它只是一个简单的订单系统..我关心的是如何比较我的表单输入的值与我创建的数组,然后它将自动声明我只选择项目名称的项目价格。这是我的代码.. PLs帮助。
欢迎来到简单的CARENDERYA !!! 简单订单系统
<div class="container">
<!-- Menu -->
<table class="table table-striped table-hover table-bordered">
<tr>
<thead>
<th>Menu</th>
<th>Price:</th>
<th>Drinks</th>
<th>Price:</th>
</thead>
</tr>
<tbody>
<tr>
<td style="color:red;">Fried Chicken</td>
<td>P 300.00</td>
<td style="color:red;">Coke</td>
<td>P 25.00</td>
</tr>
<tr>
<td style="color:red;">Adobong Baboy</td>
<td>P 400.00</td>
<td style="color:red;">Sprite</td>
<td>P 25.00</td>
</tr>
<tr>
<td style="color:red;">Spaghetti</td>
<td>P 500.00</td>
<td style="color:red;">Iced Tea</td>
<td>P 30.00</td>
</tr>
<tr>
<td style="color:red;">Barbeque</td>
<td>P 600.00</td>
<td style="color:red;">Pineapple Juice</td>
<td>P 25.00</td>
</tr>
</tbody>
</table>
<!-- end menu -->
<div class="col-lg-4 col-md-4 col-sm-4">
<form class="form" method="post" action="">
<div class="form-group">
<label for="pick">Select your order (select one):</label>
<select class="form-control" name="pick" id="pick">
<option value="None">None</option>
<option value="Sample1">Fried Chicken</option>
<option value="Sample2">Abobong Baboy</option>
<option value="Sample3">Spaghetti</option>
<option value="Sample4">Barbeque</option>
</select>
</div>
<div class="form-group">
<label for="amount">Select your amount:</label>
<select class="form-control" id="amount" name="amount">
<option value="None">None</option>
<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>
</select>
</div>
</div>
<div class="col-lg-4 col-md-4 col-sm-4">
<div class="form-group">
<label for="drinks">Select Drinks:</label>
<select id="drinks" name="drinks" class="form-control">
<option>None</option>
<option value="Coke">Coke</option>
<option>Sprite</option>
<option>Iced Tea</option>
<option>Pineapple Juice</option>
</select>
</div>
<div class="form-group">
<label for="drinks-amount">Select Drinks:</label>
<select id="drinks-amount" name="drinks-amount" class="form-control">
<option>None</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
</select>
</div>
<button class="btn btn-danger" name="submit" type="submit">PAY</button>
</form>
</div>
<div class="col-lg-4 col-md-4 col-sm-4">
<h3 class="white">Total:</h3>
<?php
if (isset($_POST['submit']))
{
$pick = $_POST['pick'];
$amount = $_POST['amount'];
$drinks = $_POST['drinks'];
$drinks_amount = $_POST['drinks-amount'];
$menu = array( 'Sample1' => '300.00', 'Sample2' => '400.00', 'Sample3' => '500.00', 'Sample4' => '600.00' );
$beverage = array( 'Coke' => '25.00', 'Sprite' => '25.00' );
$order1 = '';
$order2 = '';
//Condition 1
if( $pick == 'Sample1' || $drinks == 'Coke' )
{
$order1 = $menu['Sample1'] * $amount;
$order2 = $beverage['Coke'] * $drinks_amount;
$total = $order1 + $order2;
echo '<h2 class="white">','P '.$total.' . 00','</h2>';
echo '<button class="btn btn-warning" name="view" type="reset">Show Order</button>';
return $total;
}
//Condition 2
elseif( $pick == 'Sample2' || $drinks == 'Coke' )
{
$order1 = $menu['Sample2'] * $amount;
$order2 = $beverage['Coke'] * $drinks_amount;
$total = $order1 + $order2;
echo '<h2 class="white">','P '.$total.' . 00','</h2>';
echo '<button class="btn btn-warning" name="view" type="reset">Show Order</button>';
return $total;
}
//Condition 3
elseif( $pick == 'Sample3' || $drinks == 'Coke' )
{
$order1 = $menu['Sample3'] * $amount;
$order2 = $beverage['Coke'] * $drinks_amount;
$total = $order1 + $order2;
echo '<h2 class="white">','P '.$total.' . 00','</h2>';
echo '<button class="btn btn-warning" name="view" type="reset">Show Order</button>';
return $total;
}
//Condition 4
elseif( $pick == 'Sample4' || $drinks == 'Coke' )
{
$order1 = $menu['Sample4'] * $amount;
$order2 = $beverage['Coke'] * $drinks_amount;
$total = $order1 + $order2;
echo '<h2 class="white">','P '.$total.' . 00','</h2>';
echo '<button class="btn btn-warning" name="view" type="reset">Show Order</button>';
return $total;
}
else
{
echo '<h2 class="white">P 0.00</h2>';
echo '<h3 style="color:red;">Sorry You Dont have an Order..</h3>';
}
}
?>
</div>
嗯,这是有用的人,但我真的想用相同的输出缩短我的代码。所以大家请帮帮我。
答案 0 :(得分:0)
我试图修复你的代码。我希望这正是你所需要的。
<?php
if (isset($_POST['submit']))
{
$pick = $_POST['pick'];
$amount = $_POST['amount'];
$drinks = $_POST['drinks'];
$drinks_amount = $_POST['drinks-amount'];
$menu = array( 'Sample1' => '300.00', 'Sample2' => '400.00', 'Sample3' => '500.00', 'Sample4' => '600.00' );
$beverage = array( 'Coke' => '25.00', 'Sprite' => '25.00' );
//Try to do not mix Strings with numbers.
$order1 = 0;
$order2 = 0;
//First check if your variables are empty or not.
if(isset($pick) && trim($pick) != null){
//if the variable pick has a value check if the key is a key of the array
if(array_key_exists($pick,$menu)){
$order1 = $menu[pick] * $amount;
}else{
echo "Select a correct menu";
}
}
if(isset($drinks) && trim($drinks) != null){
//if the variable $drinks has a value
if(array_key_exists($drinks,$beverage)){
$order2 = $beverage[$drinks] * $drinks_amount;
}else{
echo "Select a correct drink";
}
}
$total = $order1 + $order2;
echo '<h2 class="white">','P '.$total.' . 00','</h2>';
echo '<button class="btn btn-warning" name="view" type="reset">Show Order</button>';
//if your code is in a function use return. If not you don't need it
return $total;
}
?>
显然,你可以使用一个if语句来实现它。为了让事情变得简单,我把两者分开了。
答案 1 :(得分:0)
有一种更简单的方法可以做到这一点:
if (isset($_POST['submit'])) {
$pick = $_POST['pick'];
$amount = $_POST['amount'];
$drinks = $_POST['drinks'];
$drinks_amount = $_POST['drinks-amount'];
$menu = array( 'Fried Chicken' => '300.00',
'Abobong Baboy' => '400.00',
'Spaghetti' => '500.0',
'Coke' => '25.00',
'Sprite' => '25.00');
if( array_key_exists($pick,$menu) {
$total = $menu[$pick] * $amount + (($drinks == 'Coke')? $menu[$drinks] * $drinks_amount : 0 );
echo '<h2 class="white">','P '.$total.' . 00','</h2>';
echo '<button class="btn btn-warning" name="view" type="reset">Show Order</button>';
return $total;
} else {
echo '<h2 class="white">P 0.00</h2>';
echo '<h3 style="color:red;">Sorry You Dont have an Order..</h3>';
}