【问题标题】:PHP Color the lowest price in a table [closed]PHP颜色表中的最低价格[关闭]
【发布时间】:2016-02-01 12:46:43
【问题描述】:

我尝试在表格中插入 7 个价格值并为最低价格着色。我不知道在哪里放置$lowestprice。我知道这是糟糕的代码,但在我尝试添加颜色之前它一直有效。

for ($i = 1; $i <= 7; $i++){
    ${"price".$i} = preg_replace($regexp, $match, ${"rawprice".$i});
        if (preg_match('/'.$article.'/i', ${"stock".$i}))
        {
            $list[$i] =  ${"price".$i};
            $lowestprice = min($list);
            if (preg_match('/^'.$lowestprice.'/i', ${"price".$i}))
            {
                echo ${"url".$i}." class=\"lowestprice\">".${"price".$i}." €</a></td>"; // lowest price in color with css
            }
            else
            {
                echo ${"url".$i}." class=\"price\">".${"price".$i}." €</a></td>";
            }                   
        }
        else
        {
            echo "<td>Out of stock</td>";
        }
}

【问题讨论】:

  • 语法高亮似乎在您的echo 行中发现了一个错字。在类名后面有一个额外的双引号。
  • 似乎您可能将 PHP 语法与 jQuery $ 语法混淆了。您需要在此处连接。
  • @David Thanx,已编辑。
  • “但在我尝试添加颜色之前它一直有效” - 颜色,什么颜色?正如我所说,您的代码类似于 jQuery 语法。
  • @Fred-ii- 我用 CSS 修改颜色 class="lowestprice"

标签: php colors html-table price


【解决方案1】:

首先,不要使用${"string".$i}类型的变量。当然,它的工作原理很棒,但是如果您正在处理似乎遵循数组结构的数据,只需使用数组即可。少一些杂乱,少一些戏剧性,大家都开心。

$rawprice 应该是一个包含 7 个整数的数组,其中 7 个价格以美分为单位。然后你会做这样的事情:

$lowestPrice = min( $rawPrice );

for( $i = 0; $i <= 6; $i++ ) {
  if( inStock( $article[$i] ) ) {
    $price = str_replace( ".", ",", (string) ($rawPrice[$i] / 100 ) );

    if( $rawPrice[$i] == $lowestPrice ) {
      $class = "lowestprice";
    } else {
      $class = "price";
    }

    echo "<td><a href=\"{$url[$i]}\" class=\"{$class}\">{$price} €</a></td>";
  } else {
    echo "<td>Out of stock</td>";
  }
}

【讨论】:

  • 感谢您的帮助,效果更好!
猜你喜欢
  • 1970-01-01
  • 2019-04-14
  • 2019-06-13
  • 2020-10-02
  • 1970-01-01
  • 2015-09-16
  • 2013-07-21
  • 1970-01-01
  • 2023-03-14
相关资源
最近更新 更多