За последние 24 часа нас посетили 17739 программистов и 1674 робота. Сейчас ищут 965 программистов ...

проблема во мне помогите исправить)

Тема в разделе "PHP для новичков", создана пользователем cleric-88, 31 авг 2010.

  1. cleric-88

    cleric-88 Активный пользователь

    С нами с:
    12 июл 2010
    Сообщения:
    40
    Симпатии:
    0
    Всем добрый вечер!

    Запутался в двух соснах...ну значит дело обстоит так:

    вывожу из таблицы пункты меню и с помощью 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 там писать нельзя так, подскажите пожалуйста как туда правильно запихнуть проверку или как сделать по другому что-ли, я уж и не знаю что мне делать..
     
  2. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    while ($myrow = mysql_fetch_array ($result))
    {
    if($id == $myrow['page']) $c = ' class="focus"';
    else $c = null;

    echo '<td'.$c.'><a href=""></a></td>';
    }
     
  3. cleric-88

    cleric-88 Активный пользователь

    С нами с:
    12 июл 2010
    Сообщения:
    40
    Симпатии:
    0
    Спасибо за вариант решения моей проблемы сейчас опробую
     
  4. cleric-88

    cleric-88 Активный пользователь

    С нами с:
    12 июл 2010
    Сообщения:
    40
    Симпатии:
    0
    Ошибок теперь нет а меню не выводится вообще... в чем проблема?

    <?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>";
    }

    ?>
     
  5. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    $myrow = mysql_fetch_array ($result); перед while вообще не надо.
     
  6. cleric-88

    cleric-88 Активный пользователь

    С нами с:
    12 июл 2010
    Сообщения:
    40
    Симпатии:
    0
    спасибо, убрал, применился стиль к первому пункту меню который стоит по умолчанию, а вот самих пунктов не видно, нету их почему то не вывелись...
     
  7. cleric-88

    cleric-88 Активный пользователь

    С нами с:
    12 июл 2010
    Сообщения:
    40
    Симпатии:
    0
    а нет все получилось спасибо за помощь)
     
  8. cleric-88

    cleric-88 Активный пользователь

    С нами с:
    12 июл 2010
    Сообщения:
    40
    Симпатии:
    0
    после этой проблемы возникла другая - не могу перейти не на один пункт меню выводится 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>
     
  9. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    Скорее всего линк неправильный выводится.
     
  10. Ещё один программер

    Ещё один программер Активный пользователь

    С нами с:
    2 сен 2010
    Сообщения:
    5
    Симпатии:
    0
    Адрес:
    Довольно-таки средняя Азия
    Выводите echo каждой переменной после каждой строчки. Потратите некоторое время, но сэкономите гораздо больше. Ошибка может быть совсем не там, где Вы предполагаете.