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' 
}

?> >
4

4 回答 4

5

有一个简单的语法错误。在 echo 语句后需要一个分号:

echo 'selected';

还有你的 if 语句: if($cats1 == '$cats2')需要:

if ($cats1 == $cats2)

您拥有它的当前方式,它是一个实际的字符串。

要打开错误报告,您可以添加:error_reporting(E_ALL);.

于 2012-11-25T17:58:35.087 回答
4

你错过了一个分号:

echo 'selected'; // <-- here

将来您应该打开错误报告或查看错误日志。白屏表示 500 内部服务器错误,在这种情况下表示 PHP 致命错误。

error_reporting(E_ALL);
ini_set('display_errors', '1');
于 2012-11-25T17:59:26.960 回答
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
}

?> >
于 2012-11-25T18:01:45.270 回答
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 的语法规则,每个可执行语句必须以分号结尾。

于 2012-11-25T18:08:21.643 回答