Jump to content
  • 0

Подсветить ссыль на которой находится человек


woofs
 Share

Question

как подсветить ссыль на которой находится человек? Думаю как то должно быть связано с GET но как не пытался так и не получилось=((

<div>
<?
$result2 = mysql_query ("SELECT * FROM catigories", $db);
mysql_real_escape_string($id);
if (!$result2)
{
echo "<p>Запрос на выб...</p>"
;
exit (mysql_error());
}

if (mysql_num_rows ($result2) > 0)

{
$myrow2 = mysql_fetch_array ($result2);


[b]do
{
echo "<a class='cl5' href='articles.php?cat={$myrow2['id']}'>{$myrow2['title']}</a>\n";
}
while ($myrow2 = mysql_fetch_array ($result2));}[/b]
else
{
echo "<p>Информация не может быть извлечена.</p>";
exit ();
}
?></div>

Link to comment
Share on other sites

16 answers to this question

Recommended Posts

  • 0

<?
$CurrentMenuPosition=3;
for ($a_=0;$a_ < $MenuCount;$a_++)
{
if ($a_ == $CurrentMenuPosition) $class='highlight';
else $class='std_menu';
echo '<a class="'.$class.'" href="'.$menu[$a_]['link'].'">'.$menu[$a_]['title'].'</a>';
}
?>

Да вот хоть так

catigories
Гыгы Edited by Int
Link to comment
Share on other sites

  • 0

Слушай а можешь по подробнее сказать: что в каждые переменные($MenuCount, $a...) вкладывать. А еще я был бы тебе очень признателен еслиб ты ма моем коде показал =)

Link to comment
Share on other sites

  • 0

$MenuCount - число элементов в меню (ну или любом списке, в котором что-то нужно подсветить), у тебя это "select count(*) from `catigories`"

Первая переменная, самая длинная - активный пункт меню

$menu - двумерный массив с меню, там ссылки и заголовки

$a_ - счётчик для цикла, обзывай как хочешь

Классы highlight и std_menu, само собой, прописаны в CSS

Кстати, а что у тебя такое "mysql_real_escape_string($id);"? Эта функция выполняется и никуда не присваивается, пустая трата процессорного времени.

Edited by Int
Link to comment
Share on other sites

  • 0

не получается что то

<?

$result = mysql_query("SELECT * FROM services");

$menu = mysql_fetch_array ($result);

$MenuCount = mysql_query("select count(*) from services");

$CurrentMenuPosition=3;

for ($a_=0;$a_ < $MenuCount;$a_++)

{

if ($a_ == $CurrentMenuPosition) $class='highlight';

else $class='std_menu';

echo '<a class="'.$class.'" href="services.php?id='.$menu[$a_]['id'].'">2'.$menu[$a_]['page'].'</a>';

}

?>

Edited by woofs
Link to comment
Share on other sites

  • 0

Ты неправаильно $menu использовал, щас попробую написать.

Цикл for заменяешь на такое:

$a_=0;

while ($menu_ = mysql_fetch_assoc($menu))

{

if ($a_++ == $CurrentMenuPosition) $class='highlight';

else $class='std_menu';

echo '<a class="'.$class.'" href="services.php?id='.$menu_['id'].'">2'.$menu_['page'].'</a>';

}

Edited by Int
Link to comment
Share on other sites

  • 0

блин, уже лучше но блин

класс активной ссылки постоянно присваивается 4 ссылке в любых условиях даже когда активная другая

<?


$result = mysql_query("SELECT * FROM services");


$MenuCount = mysql_query("select count(*) from services");
$CurrentMenuPosition=3;
$a_=0;
while ($menu_ = mysql_fetch_assoc($result))
{
if ($a_++ == $CurrentMenuPosition) $class='highlight';
else $class='std_menu';
echo '<a class="'.$class.'" href="services.php?rub='.$menu_['rub'].'&id='.$menu_['id'].'">'.$menu_['page'].'</a>';
}
?>

Link to comment
Share on other sites

  • 0

А ты $CurrentMenuPosition не задал переменной? Я ж для примера привёл, что выделен четвёртый пункт, а ты присваивай тот номер, который реально открыт.

Edited by Int
Link to comment
Share on other sites

  • 0

а если ссылки динамически выводятся можно ли как то сделать чтобы сам подсчитывал, я ж не смогу к каждой прописывать т.к. их неограниченное количество мобет быть(10,20,50 статей)

Link to comment
Share on other sites

  • 0

Всё получилось, спасибо тебе, Int!


$result = mysql_query("SELECT * FROM services");


$MenuCount = mysql_query("select count(*) from services");
$CurrentMenuPosition= 3;
$a_=0;
while ($menu_ = mysql_fetch_assoc($result))
{
if ($menu_['id'] == $_GET['id']) $class='highlight';
else $class='std_menu';
echo "<a class='".$class."' href='services.php?rub=".$menu_['rub']."&id=".$menu_['id']."'>".$menu_['page']."</a>\n";
}

Не знаю как тебя отблагодарить

Link to comment
Share on other sites

  • 0

Доброго времени суток!

Никак не могу разобраться...

Оч прошу помощи!

Вот создал свое меню:

первый вариант выделяет в services.php?id=1 все пункты, в services.php?id=2 все, кроме первого, в services.php?id=3 все, кроме первого и воторого и так далее...

$getmenu = mysql_query ("SELECT id, title FROM site_subcat",$db);
$menurow = mysql_num_rows($getmenu);
$allmenu = mysql_fetch_array ($getmenu);
do {
if ($allmenu['id'] == $_GET['id']) $curr = "id='current'";
printf ("
<li %s><a href=\"/services.php?id=%s\" title='%s'>%s</a></li>
", $curr, $allmenu['id'], $allmenu['title'], $allmenu['title']);
}
while ($allmenu = mysql_fetch_array ($getmenu));

Второй вариант выводит один и тот же пункт столько раз, сколько пунктов содержиться в меню, то есть так:

Пункт1

Пункт1

Пункт1

а НЕ:

Пункт1

Пункт2

Пункт3

Вот код, в чем ошибка, не пойму...

$getmenu = mysql_query ("SELECT id, title FROM site_subcat",$db);
$menurow = mysql_num_rows($getmenu);
$allmenu = mysql_fetch_array ($getmenu);
for($i=0; $i < $menurow; ++$i)
{
if ($_GET['id'] == $allmenu['id']) $curr = "id='current'";
printf ("
<li %s><a href=\"/services.php?id=%s\" title='%s'>%s</a></li>
", $curr, $allmenu['id'], $allmenu['title'], $allmenu['title']);
}

Заранее спасибо за помощь...

UPD: Всем спасибо, проблема решена в первом варианте. Необходимо было добавить if (isset($_GET['id'])) $id=$_GET['id']; а в коде заменить if ($_GET['id'] == $allmenu['id']) $curr = "id='current'"; на if ($id == $allmenu['id']) $curr = "id='current'"; else $curr = "'";

Edited by mc-sim
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy