1

データベースに基づいて設定された永続的な左ナビゲーションを含むページがあります。現在ページの右側に表示されているコンテンツに対応するメニュー エントリを視覚的にマークする必要があります。現在のページのチェックを機能させるのに問題があります。(私は PHP を学んでいて、他の誰かのコードを編集しようとしています。

メニューのコードは次のとおりです。

while( ( $row = mysql_fetch_array( $result ) ) && ( $count < $limit ) ) {
    $count++;
    echo "\t\t\t<li><a href=\"" . NEWS_URL . "?show=news&amp;action=show&amp;id=" . $row['id'] . "\" >" . stripslashes( $row['title'] ) . "</a></li>\n";

..等。メニューリストを生成するために正常に動作します。次に、このコードが生成する URI を現在読み込まれているページと比較して、現在のページに CSS スタイルを追加する必要があるかどうかを判断します。

だから私はこれを試みました:

echo "\t\t\t<li><a href=\"" . NEWS_URL . "?show=news&amp;action=show&amp;id=" . $row['id'] . "\" <?php if( $_SERVER['REQUEST_URI'] == "$this" ) echo " class=\"selected\""; ?>>" . stripslashes( $row['title'] ) . "</a></li>\n";

構文エラーが発生しました。だからこれを試した:

echo "\t\t\t<li><a href=\"" . NEWS_URL . "?show=news&amp;action=show&amp;id=" . $row['id'] . "\" <?php if( $_SERVER['REQUEST_URI'] == $this ) echo " class=\"selected\""; ?>>" . stripslashes( $row['title'] ) . "</a></li>\n";

まだ構文エラーです。だからこれを試した:

echo "\t\t\t<li><a href=\"" . NEWS_URL . "?show=news&amp;action=show&amp;id=" . $row['id'] . "\" <?php if( $_SERVER['REQUEST_URI'] == $row['id'] ) echo " class=\"selected\""; ?>>" . stripslashes( $row['title'] ) . "</a></li>\n";

提案?

4

2 に答える 2

0

最初の例では、echo ステートメントに php タグがあります

echo "\t\t\t<li><a href=\"" . NEWS_URL . "?show=news&amp;action=show&amp;id=" . $row['id'] . "\" <?php if( $_SERVER['REQUEST_URI'] == "$this" ) echo " class=\"selected\""; ?>>" . stripslashes( $row['title'] ) . "</a></li>\n";

これを試して

echo "\t\t\t<li><a href=\"".NEWS_URL."?show=news&amp;action=show&amp;id=".$row['id']."\".  ($_SERVER['REQUEST_URI'] == $this ?"class=\"selected\"" :"").stripslashes( $row['title'] )."</a></li>\n";
于 2013-09-02T19:28:15.617 に答える