需要帮助创建if函数

时间:2017-10-09 04:36:56

标签: php if-statement

我目前正在制作一个包含5种产品的自我处理表格,用户可以在这些表格中输入5种产品中的任何一种。我保存了他们输入的数量

$_POST[qty_entered] 

因为我有以下功能来打印产品显示:

// Print the product display
for ($i = 0; $i < sizeof ($product_display); $i++){
print "<tr><td>" .$product_display[$i]['image'] . "</td>"; 
print "<td>" . $product_display[$i]['model'] . "</td>"; 
print "<td> $" . $product_display[$i]['price'] . "</td>" ; 

// Allow user inqut for quantity

print "<td> <input type = 'text' name = 'qty_entered[]' value ='0' size = '3' maxlength = '3'>  </td> </tr>";} ?>
    </table>

            <br><input type = 'submit' name = 'submit_button' value = 'Submit Order'><br><br>

用户输入数量后,按下提交按钮,我必须检查他们是否输入了有效数量(这是一个正整数),然后在用户输入有效数量时打印发票。如果他们没有输入有效数量,我需要打印错误信息而不显示发票。以下代码就是我现在所拥有的,我在使其正确显示时遇到问题。我认为错误的一件事是我不知何故需要参考$ _POST ['qty_entered']中保存的多个数量但是我不知道如何在不使用[0] [1] [2]的情况下做到这一点如果我使用多个,它会给我一个错误。 [$ i]也不起作用。

// Make sure quantity entered is a positive whole number and print table row
       $errors = FALSE;
if (array_key_exists ('submit_button', $_POST) && is_numeric($_POST['qty_entered'][0]) && $_POST['qty_entered'][0] > 0) {
print "<h2>Invoice</h2> <br> <table style='border-collapse: collapse; text-align: center'
                  height='319' border='1' bordercolor='#111111'
                  cellpadding='0' cellspacing='0' width='514'>

        <!-- create header use <th> -->
        <tr>
            <th>Phone</th>
            <th>Price</th>
            <th>Quantity</th>
            <th>Extended Price</th>
        </tr>";
}
else {
    $errors = TRUE;
    Print "Please enter a valid quantity.";
}

请帮我创建一个正确的if-function来检查用户按下提交按钮后是否输入了有效数量。如果输入的数量有效,请打印发票,否则,打印错误消息。

谢谢!

1 个答案:

答案 0 :(得分:0)

使用foreach:

// Start out assuming all products have quantities
$allProductsHaveQuantities = true;
foreach($_POST['qty_entered'] as $idx => $qty)
{
  // Look for any quantities that are zero
  if($qty == 0)
  {
    // One is enough, so set the flag and stop the loop
    $allProductsHaveQuantities = false;
    break;
  }
}

// Now check the result of the flag
if(!$allProductsHaveQuantities)
{
  ...your error message here...
}