基本上我有一个带有数据集值的选择框,我需要做的就是选择一个等于数据集中另一个字段值的那个。以下是代码,非常感谢您的帮助: - )
<option value="<?php echo $row_menucats1['id'] ?> "
<?php
$cats1 = $row_menucats1['id'];
$cats2 = $row_options['sub_cat_id_link'];
if ($cats1 == '$cats2') {
echo 'selected'
}
?> >
答案 0 :(得分:5)
有一个简单的语法错误。你的echo语句后需要一个分号:
echo 'selected';
您的if语句:如果($cats1 == '$cats2')
需要:
if ($cats1 == $cats2)
你拥有它的当前方式,它是一个实际的字符串。
要启用error reporting,您可以添加:error_reporting(E_ALL);
。
答案 1 :(得分:4)
你错过了一个分号:
echo 'selected'; // <-- here
将来您应该打开错误报告或查看错误日志。白色屏幕表示500内部服务器错误,在这种情况下意味着PHP致命错误。
error_reporting(E_ALL);
ini_set('display_errors', '1');
答案 2 :(得分:1)
如果它导致白屏,则应启用错误报告。阅读更多:http://php.net/manual/en/function.error-reporting.php
另请阅读:
<option value="<?php echo $row_menucats1['id'] ?> "
<?php
$cats1 = $row_menucats1['id'];
$cats2 = $row_options['sub_cat_id_link'];
if ($cats1 == $cats2) { // '$cats2' is just a string, $cats2 is a variable
echo 'selected'; // You missed a semi colon here
}
?> >
答案 3 :(得分:0)
<option value="<?php echo $row_menucats1['id'] ?> "
<?php
$cats1 = $row_menucats1['id'];
$cats2 = $row_options['sub_cat_id_link'];
if ($cats1 == '$cats2') {
echo 'selected'; //semi colon is missing
}
?> >
请注意上面代码片段中提到的注释。可执行语句中缺少半冒号的语法错误。遵循PHP的语法规则,每个可执行语句必须以分号结束。