Всем добрый вечер! Запутался в двух соснах...ну значит дело обстоит так: вывожу из таблицы пункты меню и с помощью php пытаюсь реализовать подключение определенного класса для отображения активного пункта меню. но выдается ошибка: Parse error: syntax error, unexpected T_IF in /var/www/u0938907/data/www/prostodub.ru/blocks/top_menu.php on line 7 <?php $result = mysql_query ("SELECT * FROM top_menu",$db); $myrow = mysql_fetch_array ($result); while ($myrow = mysql_fetch_array ($result)) { echo "<td" , if ($id == $myrow['page']){echo " class='focus'"} , ">" , "<a href='wiev_top_menu.php?id=",$myrow['id'],"'></a></td>" } ?> вот код страницы отвечающий за вывод страницы пункта меню: <?php include ("blocks/db_connect.php"); if (isset($_GET['id'])){$id = $_GET['id'];} $result = mysql_query ("SELECT title,meta_k,meta_d,text FROM top_menu WHERE id=$id",$db); $myrow = mysql_fetch_array ($result); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title></title> <meta name="title" content="<?php $myrow["title"]?>" /> <meta name="keywords" content="<?php $myrow["meta_k"]?>" /> <meta name="description" content="<?php $myrow["meta_d"]?>" /> <link rel="stylesheet" href="style.css" type="text/css" media="screen, projection" /> </head> <body> <div id="wrapper"> <div id="header"> <table width="1010px" height="393px" cellpadding="0" cellspacing="0"> <tr> <td class="head"></td> </tr> <tr> <td class="top"> <table class="top_menu" cellpadding="0" cellspacing="0"> <tr> <?php include ("blocks/top_menu.php");?> </tr> </table> </td> </tr> </table> </div><!-- #header--> <div id="middle"> <div id="container"> <div id="content"> <?php $myrow["text"]?> </div><!-- #content--> </div><!-- #container--> <?php include ("blocks/sidebar.php");?> </div><!-- #middle--> <?php include ("blocks/footer.php");?> </div><!-- #wrapper --> </body> </html> я так понимаю что при выводе проверку через if там писать нельзя так, подскажите пожалуйста как туда правильно запихнуть проверку или как сделать по другому что-ли, я уж и не знаю что мне делать..
while ($myrow = mysql_fetch_array ($result)) { if($id == $myrow['page']) $c = ' class="focus"'; else $c = null; echo '<td'.$c.'><a href=""></a></td>'; }
Ошибок теперь нет а меню не выводится вообще... в чем проблема? <?php $result = mysql_query ("SELECT * FROM top_menu",$db); $myrow = mysql_fetch_array ($result); while ($myrow = mysql_fetch_array ($result)) { if ($id==$myrow['page']) { $c = " class='focus'"; } else { $c = null; } echo "<td".$c."><a href='wiev_top_menu.php?id=".$myrow['id']."'></a></td>"; } ?>
спасибо, убрал, применился стиль к первому пункту меню который стоит по умолчанию, а вот самих пунктов не видно, нету их почему то не вывелись...
после этой проблемы возникла другая - не могу перейти не на один пункт меню выводится 404 ошибка в браузере... вот файл отвечающий за вывод пунктов меню посредством передачи в строке id страницы <?php include ("blocks/db_connect.php"); if (isset($_GET['id'])){$id = $_GET['id'];} $result = mysql_query ("SELECT id,page,title,meta_k,meta_d,text FROM top_menu WHERE id='$id'",$db); $myrow = mysql_fetch_array ($result); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title></title> <meta name="title" content="<?php $myrow["title"];?>" /> <meta name="keywords" content="<?php $myrow["meta_k"];?>" /> <meta name="description" content="<?php $myrow["meta_d"];?>" /> <link rel="stylesheet" href="style.css" type="text/css" media="screen, projection" /> </head> <body> <div id="wrapper"> <div id="header"> <table width="1010px" height="393px" cellpadding="0" cellspacing="0"> <tr> <td class="head"></td> </tr> <tr> <td class="top"> <table class="top_menu" cellpadding="0" cellspacing="0"> <tr> <?php include ("blocks/top_menu.php");?> </tr> </table> </td> </tr> </table> </div><!-- #header--> <div id="middle"> <div id="container"> <div id="content"> <?php $myrow["text"];?> </div><!-- #content--> </div><!-- #container--> <?php include ("blocks/sidebar.php");?> </div><!-- #middle--> <?php include ("blocks/footer.php");?> </div><!-- #wrapper --> </body> </html>
Выводите echo каждой переменной после каждой строчки. Потратите некоторое время, но сэкономите гораздо больше. Ошибка может быть совсем не там, где Вы предполагаете.