0

そのため、クエリ文字列を使用して「現在の」メニュー項目を強調表示しようとしています。

URL が www.....something.php?tag=Music だとします。

そして、このコードをループして、データベース内のレコードに対して $tag をチェックしています。

<li class="<?php if(isset($_GET['tag']) && $_GET['tag'] == $record->name); 
{ echo 'current'; }?>">
<a href="?tag=<?php echo $record->name; ?>">
<?php echo $record->name; ?></a></li>

なぜそれは常に「真」になり、「現在」をエコーするのですか。

それが出力するhtmlはこれです:

<li class="current">
<a href="?tag=Music">Music</a>
</li>

<li class="current">
<a href="?tag=Film">Film</a>
</li>

<li class="current">
<a href="?tag=biscuits">biscuits</a>
</li>

確かに「音楽」に対してのみ「真」であるべきですか?

4

1 に答える 1

2

ifステートメントの後にセミコロンがあります。それを削除すると、機能するはずです。

<li class="<?php if(isset($_GET['tag']) && $_GET['tag'] == $record->name) 

短いコードの場合、および短いタグを有効にしている場合は、次を試してください。

<li class="<?=isset($_GET['tag'])&&$_GET['tag']==$record->name?'current':''?>">
于 2012-12-18T16:42:11.693 に答える