Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 确定当前页面的菜单项并设置其样式_Php - Fatal编程技术网

Php 确定当前页面的菜单项并设置其样式

Php 确定当前页面的菜单项并设置其样式,php,Php,我无法在菜单中选择当前项目,代码如下: $sql = "SELECT * FROM kurchi_pages ORDER BY id LIMIT 1,5"; $res = mysql_query($sql); $site_url = "http://swenflea/swenflea.com/"; if(!isset($_GET['page']) || !isset($_GET['post'])) { echo '<li id="curr

我无法在菜单中选择当前项目,代码如下:

    $sql = "SELECT * FROM kurchi_pages ORDER BY id LIMIT 1,5";
    $res = mysql_query($sql);

    $site_url = "http://swenflea/swenflea.com/";

    if(!isset($_GET['page']) || !isset($_GET['post'])) {
        echo '<li id="current"><a href="' . $site_url . '">Home</a></li>';
    } else {
        echo '<li><a href="' . $site_url . '">Home</a></li>';
    }


    if ( isset($_GET['page'] ) || isset($_GET['post'] )) {
        while($row = mysql_fetch_assoc($res)) {
        if ($_GET['page'] != "" . $row["url"] . "" || isset($_GET['page'] ) ) 
        {
            $itemis = '<li><a href="' . $site_url . '' . $row['url'] . '/">' . $row['nav_name'] . '</a></li>'; 
        } else {
            $itemis = '<li id="current"><a href="' . $site_url . '' . $row['url'] . '/">' . $row['nav_name'] . '</a></li>';
        }
        echo $itemis;
        }
    } else {
        while($row = mysql_fetch_assoc($res)) {
            echo '<li><a href="' . $site_url . '' . $row['url'] . '/">' . $row['nav_name'] . '</a></li>'; 
    }
    }
为什么不起作用?

试着从| |变为&

试着:

# Page Configuration Values
$sql = "SELECT * FROM kurchi_pages ORDER BY id LIMIT 1,5";
$site_url = "http://swenflea/swenflea.com/";

# If Neither PAGE or POST are set, mark the HOME link as CURRENT
echo '<li'.( !isset( $_GET['page'] ) && !isset( $_GET['post'] ) ? ' id="current"' : '' ).'><a href="' . $site_url . '">Home</a></li>';
echo 'DEBUG: !isset( $_GET[\'page\'] ) = '.!isset( $_GET['page'] );
echo 'DEBUG: !isset( $_GET[\'post\'] ) = '.!isset( $_GET['post'] );

# Perform the SQL Query
$res = mysql_query( $sql );

# Check the SQL Result
if( !$res )
  die( 'ERROR: Unable to Retrieve Pages from Database' );
if( mysql_num_rows( $res )==0 )
  die( 'ERROR: No Pages Retrieved from Database' );

# Loop through the Rows
  echo 'DEBUG: $_GET[\'page\'] = '.( isset( $_GET['page'] ) ? $_GET['page'] : '--' );
  echo 'DEBUG: $_GET[\'post\'] = '.( isset( $_GET['post'] ) ? $_GET['post'] : '--' );
while( $row = mysql_fetch_assoc( $res ) ){
  echo 'DEBUG: $row[\'url\'] = '.$row['url'];
  echo 'DEBUG: Match $_GET[\'page\'] = '.( isset( $_GET['page'] ) && $_GET['page']==$row['url'] );
  echo 'DEBUG: Match $_GET[\'post\'] = '.( isset( $_GET['post'] ) && $_GET['post']==$row['url'] );
  $attrs = '';
  if( ( isset( $_GET['page'] ) && $_GET['page']==$row['url'] )
      || ( isset( $_GET['post'] ) && $_GET['post']==$row['url'] ) ){
   # Page OR Post Requested - Matches Row
    $attrs = ' id="current"';
  }
  echo '<li'.$attrs.'><a href="'.$site_url.$row['url'].'">'.$row['nav_name'].'</a></li>';
}
更新1

向代码中添加调试消息,以确定其无法按预期工作的原因

更新2


修复了我代码中的一个错误,添加了更多调试消息。

上面的代码来自Lucanos:url是

你好,我无法获取此代码,此代码的作用是什么。。?如果$u获得['page']!=$行[url]。||isset$\u GET['page']是否正常工作….?抱歉,未正常工作,在主页上选择所有链接,在任何其他页面上选择除主页外的所有页面我已添加调试消息-任何以echo'debug:'开头的行。。。帮助您了解不同阶段的不同变量。使用该选项确定此代码未按预期运行的原因。以下是输出代码:DEBUG:!isset$\u GET[页面]=1数据库:!isset$\u-GET[post]=DEBUG:$row['url']=blogDEBUG:Match$\u-GET[page]=DEBUG:Match$\u-GET[post]=注意:未定义变量:functions.php第441行DEBUG:$row['url']=contactDEBUG:Match$\u-GET[page]=DEBUG:Match$\u-GET[post]=注意:未定义变量:functions.php第441OK行的attrs,修复了第441行functions.php中Notice:Undefined变量:attrs的位错误。还添加了另外两条调试消息。请再次尝试上面的代码,并让我知道它返回的消息,就像您刚才所做的那样