[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Выделенный пункт меню
m4a1fox
Доброго времени суток уважаемые эксперты! Есть вот такой скриптик
<tr>
<
td>
<
ul class="menu">
<?php
$query = "SELECT * FROM menu LIMIT 6";
$id = mysql_query($query);
if(!$id) exit("Ошибка - ".mysql_error());
while($ind=mysql_fetch_array($id))
{
echo "<li><a href=$ind[link]><img align='absmiddle' src='admin/img/$ind[img]'> $ind[title]</a>  </li>";

}


?>
</ul></td>
</
tr>
выводит меню, но как сделать что бы на активном он - выделял!?



Спустя 29 минут, 46 секунд (13.12.2010 - 20:45) kovaldm написал(а):
А как выделить надо?

Спустя 1 минута, 46 секунд (13.12.2010 - 20:47) m4a1fox написал(а):
Да стиль есть! Мне бы понять куда писать! Насколько понял надо сделать так. После того как все извлеклось вставить код
if (isset($_GET['id'])) $id=$_GET['id'];
do {
if ($allmenu['id'] == $id) $curr = "id='current'";
else $curr = "";
Так или нет?

Спустя 11 минут, 57 секунд (13.12.2010 - 20:59) Crash2007 написал(а):
<tr>
<
td>
<
ul class="menu">
<?php
$query = "SELECT * FROM menu LIMIT 6";
$id = mysql_query($query);
if(!$id) exit("Ошибка - ".mysql_error());
while($ind=mysql_fetch_array($id))
{
if($_GET['id'] == $ind['id']) {
echo "<li><a class="alternative_style" href=$ind[link]><img align='absmiddle' src='admin/img/$ind[img]'> $ind[title]</a> </li>";
} else {
echo "<li><a href=$ind[link]><img align='absmiddle' src='admin/img/$ind[img]'> $ind[title]</a> </li>";
}

}



?>
</ul></td>
</
tr>

Спустя 7 минут, 13 секунд (13.12.2010 - 21:06) m4a1fox написал(а):
Crash2007
Так не хочет! но я передаю в GET не id а link! Пробовал помять id на link не выходит?

Спустя 34 секунды (13.12.2010 - 21:06) inpost написал(а):
Одна строчка благодаря тернартному оператору:
echo '<li><a href="'.$ind['link'].'"><img align="absmiddle" src="admin/img/'.$ind['img'].'"'.($_GET['id'] == $ind['id']? ' class="alternative_style"' : '').'> '.$ind['title'].'</a>  </li>';

Спустя 11 минут, 52 секунды (13.12.2010 - 21:18) m4a1fox написал(а):
inpost
Я где-то туплю! Но не хочет она работать(

Спустя 13 минут, 42 секунды (13.12.2010 - 21:32) m4a1fox написал(а):
inpost
Явно печенки закончились!

Спустя 29 минут, 56 секунд (13.12.2010 - 22:02) inpost написал(а):
Класс не выставляется? Или id разные?

Спустя 1 час, 55 минут, 20 секунд (13.12.2010 - 23:57) m4a1fox написал(а):
класс не выставляется! у меня id я их не передаю, я передаю link!

Спустя 10 минут, 35 секунд (14.12.2010 - 00:08) inpost написал(а):
сделай сравнение по тому элементу, который передаёшь. В чём проблема?

Спустя 18 минут, 15 секунд (14.12.2010 - 00:26) m4a1fox написал(а):
так и делаю! ТОлько class не применяется все равно!

Спустя 1 минута, 37 секунд (14.12.2010 - 00:28) m4a1fox написал(а):
А если мне надо применить class для li а не для ссылки, то как это будет выглядеть в тернарном операторе?

Спустя 10 минут, 34 секунды (14.12.2010 - 00:38) inpost написал(а):
запихни его на место li. там, где должна быть прописана строчка 'class="такой то"'. А как ты проверяешь, что класса нет? Эфекта нету, или смотря HTML код в браузере ты не видишь его?

Спустя 5 минут, 2 секунды (14.12.2010 - 00:43) m4a1fox написал(а):
html смотрю!

Спустя 4 минуты, 4 секунды (14.12.2010 - 00:47) m4a1fox написал(а):
Так?
<ul class="menu">
<?php
$query = mysql_query ("SELECT * FROM menu LIMIT 6");
if(!$query) exit("Ошибка - ".mysql_error());
while($ind=mysql_fetch_assoc($query))
{
echo '<li '.($_GET['link'] == $ind['link']? ' class="current"' : '').'><a href="'.$ind['link'].'"><img align="absmiddle" src="admin/img/'.$ind['img'].'"> '.$ind['title'].'</a> </li>';

}


?>
</ul>

Спустя 13 минут, 31 секунда (14.12.2010 - 01:01) inpost написал(а):
да! Выведи в цикле отдельно $_GET['link'] и $ind['link'], посмотри, равны ли они полностью или нет? Может там разные данные записаны.

Спустя 7 минут, 27 секунд (14.12.2010 - 01:08) m4a1fox написал(а):
inpost
ненормальный этот тернарный оператор! Вроде по логике - все верно! Если в GET такая то ссылка и она равна такой же вытащенной из базы значит выделяй. Так ведь он должен работать? О он не хочет блин... А циклы ведь реально абсолютно равны. Там не может быть других значений!

Спустя 24 минуты, 49 секунд (14.12.2010 - 01:33) inpost написал(а):
while($ind=mysql_fetch_assoc($query))
{
echo $_GET['link'].' = '.$ind['link'];
echo '<li '.($_GET['link'] == $ind['link'] ? ' class="current"' : 'temp').'><a href="'.$ind['link'].'"><img align="absmiddle" src="admin/img/'.$ind['img'].'"> '.$ind['title'].'</a> </li>';
}
И HTML код сюда. Я посмотрю...

Спустя 11 минут, 33 секунды (14.12.2010 - 01:45) m4a1fox написал(а):
<table border=0 width="100%" align="center" cellpadding="0" cellspacing="0"><tr>

<
td>

<
ul class="menu">

=
index.php<li temp><a href="index.php"><img align="absmiddle" src="admin/img/index.png"> Главная</a> </li> = about_us.php<li temp><a href="about_us.php"><img align="absmiddle" src="admin/img/about.png"> о Нас</a> </li> = post.php<li temp><a href="post.php"><img align="absmiddle" src="admin/img/knotes.png"> Статьи</a> </li> = gallery.php<li temp><a href="gallery.php"><img align="absmiddle" src="admin/img/picture.png"> Фотогалерея</a> </li> = guest.php<li temp><a href="guest.php"><img align="absmiddle" src="admin/img/toggle_log.png"> Гостевая</a> </li> = partner.php<li temp><a href="partner.php"><img align="absmiddle" src="admin/img/stock_new-meeting.png"> Наши партнеры</a> </li></ul></td>

</
tr>



</
table>

Спустя 3 минуты, 9 секунд (14.12.2010 - 01:48) m4a1fox написал(а):
В GET link не попадает?????????

Спустя 55 секунд (14.12.2010 - 01:49) m4a1fox написал(а):
Ведь должно было выйти index.php = index.php и так далее! Но тогда почему ссылки идут?

Спустя 11 секунд (14.12.2010 - 01:49) inpost написал(а):
И что непонятно? $_GET['link'] - пустая, иначе бы вывелась!
Ты хоть правильно открываешь? page.php?link=aaa ???
Или попробуй другое имя: href, links ... так как 'link' может быть занятое имя =)

Спустя 1 минута, 49 секунд (14.12.2010 - 01:51) inpost написал(а):
В данном случае не $_GET['link'], а $_SERVER['тут будет то, что надо'].
Вот ссылка, изучай: http://www.softtime.ru/info/articlephp.php?id_article=69
Жду ответа, когда сам найдешь нужное на той странице и напишешь сюда правильный код =)

Спустя 3 минуты, 14 секунд (14.12.2010 - 01:54) m4a1fox написал(а):
$_SERVER['REQUEST_METHOD']?

Спустя 8 минут, 15 секунд (14.12.2010 - 02:02) inpost написал(а):
Введи этот скрипт и посмотри, какой из вариантов тебе больше всего подходит. Как раз посмотришь, что какое имя содержит:
echo '<pre>';
print($_SERVER);
exit();

Спустя 1 минута, 19 секунд (14.12.2010 - 02:04) m4a1fox написал(а):
Либо PHP_SELF

Спустя 1 минута, 58 секунд (14.12.2010 - 02:06) inpost написал(а):
Посмотри теперь этот, я у себя на сайте использовал этот:
$here = basename(__file__);
echo $here;

Спустя 11 секунд (14.12.2010 - 02:06) m4a1fox написал(а):
Выводит одно слово Array

Спустя 2 минуты, 20 секунд (14.12.2010 - 02:08) inpost написал(а):
Извини, вот смотри, запусти его и выбирай (я у себя использовал первый способ с basename, пока не изменил структуру сайта):

echo basename(__file__);
echo '<pre>';
print_r($_SERVER);
exit();

Спустя 3 минуты, 4 секунды (14.12.2010 - 02:11) m4a1fox написал(а):
Ладно, вы извините что задаю такие тупые вопросы... В общем спасибо вам что помогаете! Но кажется уже сегодня ничего не получится! Буду спать, мож завтра на свежую голову.... Еще раз спасибо Вам!

Спустя 2 минуты, 45 секунд (14.12.2010 - 02:14) m4a1fox написал(а):
Кхе... а что выбирать?)))

Спустя 1 минута, 13 секунд (14.12.2010 - 02:15) inpost написал(а):
basename(__file__) - содержит то, что тебе надо или нет?

Спустя 4 минуты, 30 секунд (14.12.2010 - 02:20) m4a1fox написал(а):
Вот то что мне вывелось menu.php
Array
(
[HTTP_HOST] => localhost
[HTTP_CONNECTION] => keep-alive
[HTTP_ACCEPT] => application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
[HTTP_USER_AGENT] => Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.215 Safari/534.10
[HTTP_ACCEPT_ENCODING] => gzip,deflate,sdch
[HTTP_ACCEPT_LANGUAGE] => ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
[HTTP_ACCEPT_CHARSET] => windows-1251,utf-8;q=0.7,*;q=0.3
[HTTP_COOKIE] => PHPSESSID=33caf76d2cab0b9c0bdcb8e03ec6e408
[PATH] => \usr\local\ImageMagick;\usr\local\php5;C:\Program Files\PC Connectivity Solution\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Alky for Applications\Libraries\
[SystemRoot] => C:\WINDOWS
[COMSPEC] => C:\WINDOWS\system32\cmd.exe
[PATHEXT] => .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
[WINDIR] => C:\WINDOWS
[SERVER_SIGNATURE] =>
Apache/2.2.4 (Win32) mod_ssl/2.2.4 OpenSSL/0.9.8k PHP/5.3.3 Server at localhost Port 80


[SERVER_SOFTWARE] => Apache/2.2.4 (Win32) mod_ssl/2.2.4 OpenSSL/0.9.8k PHP/5.3.3
[SERVER_NAME] => localhost
[SERVER_ADDR] => 127.0.0.1
[SERVER_PORT] => 80
[REMOTE_ADDR] => 127.0.0.1
[DOCUMENT_ROOT] => Y:/home/localhost/www
[SERVER_ADMIN] => admin@localhost
[SCRIPT_FILENAME] => Y:/home/localhost/www/ps-crimea/gallery.php
[REMOTE_PORT] => 4269
[GATEWAY_INTERFACE] => CGI/1.1
[SERVER_PROTOCOL] => HTTP/1.1
[REQUEST_METHOD] => GET
[QUERY_STRING] =>
[REQUEST_URI] => /ps-crimea/gallery.php
[SCRIPT_NAME] => /ps-crimea/gallery.php
[PHP_SELF] => /ps-crimea/gallery.php
[REQUEST_TIME] => 1292282418
[argv] => Array
(
)

[argc] => 0
)

Спустя 8 минут, 19 секунд (14.12.2010 - 02:28) inpost написал(а):
а теперь напиши:
echo basename(__file__);
- это тебе подходит?

Спустя 48 минут, 39 секунд (14.12.2010 - 03:17) inpost написал(а):
Как видишь, ты узнал про $_SERVER благодаря моей забывчивости =) Больше знаешь, лучше программист =) Используй, как я написал выше, basename...

Спустя 7 часов, 47 минут, 6 секунд (14.12.2010 - 11:04) m4a1fox написал(а):
Блин так и не разобрался)))) печально.... видимо надо пропустить момент и не заморачиваться на этом.

Спустя 4 часа, 15 минут, 9 секунд (14.12.2010 - 15:19) inpost написал(а):
Что выводит тебе basename? Разве не то, что тебе надо? gallery.php ???

Спустя 1 минута, 33 секунды (14.12.2010 - 15:20) inpost написал(а):
$here = basename(__file__);
echo '<li '.($here == $ind['link'] ? ' class="current"' : '').'><a href="'.$ind['link'].'"><img align="absmiddle" src="admin/img/'.$ind['img'].'"> '.$ind['title'].'</a> </li>';
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.