我遇到了最糟糕的错误......下面的代码正在按预期运行并按预期访问if
语句的两半(我可以说因为我得到“TRUE”和“FALSE” '添加到错误日志中,并将它们添加到导致它们的条件的输出上方。)
但是,当我访问TRUE
的{{1}}部分时,由于某种原因,它不会回显。我知道代码部分没有被跳过(因为if
仍在运行)。
逐步执行状态列表,输出HTML标记的一半(有条件地添加一个中间位),然后输出结尾一半。
error_log("TRUE");
答案 0 :(得分:0)
尝试构建一个字符串,然后在末尾回显所有
function createStateOptions($country, $state) {
$output = '';
$sql = "SELECT * FROM tbl_state WHERE disabled != true AND deleted != true AND country = :country ORDER BY state ASC";
$result = executeSQL($sql, array(':country' => $country));
if (is_array($result)) {
foreach ($result as $record) {
$output = '<option value="' . htmlentities($record["state"], ENT_QUOTES) . '" ';
if($state == $record["state"]) {
$output .= " selected";
error_log("TRUE");
} else {
error_log("FALSE");
}
$output .= '>' . htmlentities($record["state"], ENT_QUOTES) . '</option>';
error_log("'".$state."' == '".$record["state"]."'");
echo $output;
}
}
}