来自任何输入类型的数据的数组自动结果

时间:2016-01-13 07:10:01

标签: php arrays

我对我的项目有点麻烦,它只是一个简单的订单系统..我关心的是如何比较我的表单输入的值与我创建的数组,然后它将自动声明我只选择项目名称的项目价格。这是我的代码.. 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>

  

嗯,这是有用的人,但我真的想用相同的输出缩短我的代码。所以大家请帮帮我。

2 个答案:

答案 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>';
        }