2011-10-07 51 views
0

我有这样的查询:PHP选择形式,如果选择匹配,那么什么让它选择

while($stmt->fetch()){ 
    echo "<option value=\"".$sku_brandname."\">".$sku_brandname."</option>"; 
} 

我需要做的就是创建一个说,如果sku_brandname =“东西”,然后做出一个声明选择。

我不知道该怎么做,因为我无法在echo中创建if语句。

我想是这样的:

if($sku_brandname = "$brand") { 
    $selected = " selected"; 
} 

,但不能完全得到它的工作,它显示了所有他们的选择。

回答

1

或者你可以把它做成这样一行。我不记得那个声明到底是什么

while($stmt->fetch()){ 
    $selected = ($sku_bandname == 'Something') ? ' selected="selected"' : ''; 
    echo '<option value="{$sku_brandname}" {$selected} >{$sku_brandname}</option>'; 
} 
+0

谢谢!出于某种原因,他们都被选中。难道我做错了什么? $ sku_brandname应该等于另一个字符串$ brand。 – Drew

+0

你对'Something'值进行硬编码还是另一个变量?如果它是另一个变量,请检查它的值,以确保它与$ sku_bandname不同。$ sku_bandname – Ole

+0

我明白了,非常感谢 – Drew

0

像下面的东西应该做的工作。

while($stmt->fetch()){ 
    if($sku_bandname == 'Something') 
    $selected = ' selected="selected" '; 
    else 
    $selected = ''; 
    echo '<option value="{$sku_brandname}" {$selected} >{$sku_brandname}</option>'; 
} 
+0

P.R. Ribeiro即使只有一行代码,也不应该跳过{}。这只是教学不好的做法 – Ole