如何在代码中正确继续if语句?

时间:2011-05-04 22:44:37

标签: php

我的脚本应该这样做:

检查产品是否有$ startprice和$ endprice。这些变量将根据产品价格的$ price进行检查。

用户可以添加($ startprice和$ endprice)或只添加其中一个或不添加任何内容。

  • 如果他只添加了 $ startprice,$ price必须 大于此。
  • 如果他只添加了 $ endprice,$ price必须更小 比这更好。
  • 在他加两者的情况下, $ price必须介于它们之间。
  • 如果他没有添加 什么,脚本将显示所有 结果。

如果数据满足语句,它将显示产品列表。在所有情况下,产品的列表代码都是相同的。

* 到目前为止,我所做的是这样,但我无法正确继续。

该产品的价格名为$ price,我可以为每种产品正确获取。

   <?php
    $startprice = $_GET['startprice'];
    $endprice = $_GET['endprice'];

    // this is the between code and it's the only I know how to do...

    if (($startprice <= $price) && ($endprice >= $price)) { ?>
    <h2> <a href="<?php the_permalink(); ?>"> <strong>  <?php the_title(); ?>  </strong></a></h2>
 <? } ?>

3 个答案:

答案 0 :(得分:0)

在这里猜测,因为你没有向我们展示太多代码:

if(!isset($startprice)) $startprice = 0;
if(!isset($endprice)) $endprice = PHP_INT_MAX;

foreach($theproducts as $product) {
    if($product['price'] >= $startprice && $product['price'] <= $endprice) {
        echo $product['name'].'<br/>';
    }
}

答案 1 :(得分:0)

您需要包含更多背景信息。

例如,很明显有一些产品,其价格根据用户指定的价格进行检查。这些产品的格式是多少,它们是多维数组吗?

例如,价格是否定义如下:

$PRODUCTS[$prod_id]['price'] = 9.99

或者可能在“价格”数组中,按产品ID索引?

$PRICE[$prod_id] = 9.99

或者也许是在一个物体中?

$product->price

我们需要更多更多上下文来提供帮助。

答案 2 :(得分:0)

你的问题不明确。但只要从我理解的内容中尝试这一点......

<?php
    $startprice = isset($_GET['startprice']) ? $_GET['startprice'] : 0;
    $endprice = isset($_GET['endprice']) ? $_GET['endprice'] : PHP_INT_MAX;

    // this is the between code and it's the only I know how to do...

    if (($startprice <= $price) && ($endprice >= $price)) { ?>
    <h2> <a href="<?php the_permalink(); ?>"> <strong>  <?php the_title(); ?>  </strong></a></h2>
 <? } ?>