如何编辑此php函数以根据值使用不同的模板?

如何编辑此php函数以根据值使用不同的模板?,php,Php,下面的代码当前只是根据计数旋转标志以加载不同的模板。但是我想使用标志1进行销售,如果它不为空,或者使用标志2进行购买 我怎么能做到 $content = ''; $flag = 1; while ($row = $db->doRead()) { $content .= Template::Load('market-' . $flag++, array ( 'na

下面的代码当前只是根据计数旋转标志以加载不同的模板。但是我想使用标志1进行销售,如果它不为空,或者使用标志2进行购买

我怎么能做到

    $content = '';
    $flag = 1;
    while ($row = $db->doRead())
    {
        $content .= Template::Load('market-' . $flag++, 
            array
            (
                'name' => $row['UserID'], 
                'buy' => $row['Buy'],
                'sell' => $row['Sell'],
                'Item' => $row['Item'],
                'Item2' => $row['Item2']
            )
        );
        if ($flag > 2) $flag = 1;
    }

检查
$row['Sell']
是否为空,并相应地设置
$flag

if (! is_null($row['Sell'])) {
   $flag = 1;
}
else {
   $flag = 2;
}

不确定我是否正确理解您,但这应该可以:

    $content = '';
    while ($row = $db->doRead())
    {
        $flag = $row['Sell']?1:2;
        $content .= Template::Load('market-' . $flag, 
            array
            (
                'name' => $row['UserID'], 
                'buy' => $row['Buy'],
                'sell' => $row['Sell'],
                'Item' => $row['Item'],
                'Item2' => $row['Item2']
            )
        );
    }

它不起作用。它将买入值显示为空,因为它被计为卖出,但这可能是什么原因呢?它不希望正确显示。如果有3行,它只显示那些带有SELL(2)的行,另一行在其购买后不显示,但如果我再次购买,它总共显示3行,但它的NULL而不是BUY。因此,只有卖出才能正确显示。是什么原因造成的?从您提供的代码中不可能知道。您需要提供更多的上下文。