在语法语法的php中解析错误,缺少一些东西
我试图从数据库中的另一个表中检索下拉列表中的字段值形式的数据库,但我不断收到解析错误:语法错误,意外的T_IF
我知道我错过了括号中的逗号,但我似乎无法看到它,
<?php
$result1 = mysql_query("SELECT `CompanyID`, `Name` FROM `company`") or trigger_error(mysql_error());
while($row1 = mysql_fetch_array($result1)) {
foreach($row1 AS $key1 => $value1) {
$row1[$key1] = stripslashes($value1);
}
echo "<option value=" . nl2br( $row1['CompanyID']) . " ". if($row['CompanyID'] == $Merchant) echo 'selected = "selected"'
. ">" . nl2br( $row1['Name']) . "</option>";
}
?>
你可以这样做:
echo 'something ' . ( true ? 'statement is true' : 'statement is false') . ' continue echo';
不能使用if
像你在你的代码做了(一个字符串)。 它什么都不返回。 用这个:
$sValue = boolean_value ? 'value if TRUE' : 'value if FALSE';
它被称为“三元运算符”。 PHP文档链接:
http://php.net/manual/en/language.operators.comparison.php#language.operators.comparison.ternary
像这样改变它,例如:
<?php
$result1 = mysql_query("SELECT `CompanyID`, `Name` FROM `company`") or trigger_error(mysql_error());
while($row1 = mysql_fetch_array($result1)) {
foreach($row1 AS $key1 => $value1) {
$row1[$key1] = stripslashes($value1);
}
$sSel = ($row['CompanyID'] == $Merchant) ? 'selected = "selected"' : '';
echo "<option value=" . nl2br( $row1['CompanyID']) . " ".sSel.">" . nl2br( $row1['Name']) . "</option>";
}
?>
您也可以使用if
,如果你想,但在其他的方式:
if($row['CompanyID'] == $Merchant) {
$sSel = 'selected = "selected"';
} else {
$sSel = '';
}
但我肯定更喜欢第一个解决方案,我向你介绍。
所有的错误都被删除了。
更正后的代码:
<?php
$result1 = mysql_query("SELECT `CompanyID`, `Name` FROM `company`") or trigger_error(mysql_error());
while ($row1 = mysql_fetch_array($result1)) {
foreach ($row1 as $key1 => $value1) {
$CompanyID = stripslashes($value1);
$CompanyID = nl2br($CompanyID);
$selected = ($CompanyID == $Merchant) ? 'selected = "selected"' : '';
echo '<option value="' . nl2br( $CompanyID) . '"' . $selected . '></option>';
}
}
?>
链接地址: http://www.djcxy.com/p/69817.html
上一篇: parse error in php for the statement syntax, missing something