Forum Webscript.Ru

Программирование => PHP => Тема начата: lewis от 21 Октября 2004, 12:14:13

Название: PHP и CSS - правильный подход
Отправлено: lewis от 21 Октября 2004, 12:14:13
Есть таблица для меню

txt            id
Главная    |main
Новости   |news
Продукты |prod
Контакты  |cont

Меню на странице отображается как
class=id>$txt
...

ВНИМАНИЕ, ВОПРОС!

Находясь на странице news.php я хочу, чтобы в меню этот пункт был выделенным. Как сделать это с помощью CSS?

Главная
Новости
Продукты
Контакты

Заранее спасибо
Название: PHP и CSS - правильный подход
Отправлено: Меняздесьдавнонет от 21 Октября 2004, 12:59:04
прописать в CSS стиль для выделения, а в пхп написать его для солва новости.
Не понял, при чем здесь пхп и цсс ,если это простая алгоритмическая задачка на условный переход из школьного курса информатики.
Название: PHP и CSS - правильный подход
Отправлено: lewis от 21 Октября 2004, 13:04:27
в том то все и дело, что задача примитивная, а я не понимаю:(
ведь когда я вывожу массив строк-ссылок,
каждому  из пунктов меню соответствует СВОЙ стиль.
а как сделать, чтобы выделенным пожизни был тока тот, на чьей странице я?
Название: PHP и CSS - правильный подход
Отправлено: Меняздесьдавнонет от 21 Октября 2004, 13:12:08
что это за бред такой - каждому пункту меню - свой стиль?
Это сайт цирка?
Ну, если так, у каждого элемента меню должно быть ДВА своих стиля.
Название: PHP и CSS - правильный подход
Отправлено: lewis от 21 Октября 2004, 14:12:07
не кипятись. я же не специально туплю.
если ты можешь сказать, как этот вопрос решить - скажи.
Название: PHP и CSS - правильный подход
Отправлено: Меняздесьдавнонет от 21 Октября 2004, 18:40:53
так я же сказал, кажется.
Непонятно?
Каждому пункту - ДВА стиля. с выделением и без.
в скрипте - тупая проверка на имя и выбор стиля.
что здесь непонятного?
Название: PHP и CSS - правильный подход
Отправлено: lewis от 22 Октября 2004, 10:17:20
дело в том, что я делаю проверку стиля и пишу
$style = \'cssstyle\'; $style = \'cssstyle2\';
if ($menu_item = $page) $style = $style2;
только после такой проверки ВСЕ стили на странице становятся style2

до меня не доходит, как изменить стиль ТОЛЬКО одного элемента??!!
Название: PHP и CSS - правильный подход
Отправлено: Меняздесьдавнонет от 22 Октября 2004, 10:56:26
Вот так бы давно и сказал.
Что не знаешь самого базового синтаксиса.
Учи:
http://www.php5.ru/study/syntax#if
Название: PHP и CSS - правильный подход
Отправлено: lewis от 22 Октября 2004, 11:50:54
посмотри: http://www.midart.ru/portfolio.php - это как есть
(с произвольным количеством срок в подменю)

http://www.verbatim.ru/midart/portfolio.php - это как хочется
(с фиксированным количеством)

то что ты предлагаешь, хорошо в том случае, если у нас фиксированное число строк, для каждой я пишу if-else и все рады,
а у меня то:
$page = portfolio \\\\Страница Портфолио
$sql = "SELECT pod, podtext FROM podmenu WHERE pod=\'$page\'";
$result = mysql_query($sql);
while ($rowp = mysql_fetch_array($result)) {
   $pod = $rowp[\'pod\'];
   $podtext = $rowp[\'podtext\'];

   $podclass = $pod; \\\\название класса совпадает с названием страницы
   $podclass2= $pod.\'_on\'; \\\\подсветка
   if ($pod=$page)
   {
   $podmenu_block .= "

$podtext
   ";
   }

потом я публикую
Название: PHP и CSS - правильный подход
Отправлено: Меняздесьдавнонет от 22 Октября 2004, 11:58:31
поражает меня людская непонятливость.
Терпение моё истощается.
Ты идешь, читаешь, исправляешь свой кривой скрипт.
К кривости которого вся та беллетристика, которую ты тут написал, не имеет никакого отношения.
проблема твоя ГОРАЗДО ПРОЩЕ.
Название: PHP и CSS - правильный подход
Отправлено: Меняздесьдавнонет от 22 Октября 2004, 11:59:39
А про разность между фиксированным и произвольным - это бред
Название: PHP и CSS - правильный подход
Отправлено: Mog. от 22 Октября 2004, 13:40:16
Цитировать
lewis:
if ($menu_item = $page) $style = $style2;

Оператор сравнения "==" а не "="
Название: PHP и CSS - правильный подход
Отправлено: lewis от 22 Октября 2004, 13:49:11
При всем моем уважении - то как ты мне помог в прошлый раз, это было супер, я понял свой ашипка. А щас ты тычешь меня в доки, я лазаю по манам уже неделю, мне непонятен ПОДХОД!!!
Покажи, пожалуйста, алгоритм
Название: PHP и CSS - правильный подход
Отправлено: Босc всех зон от 22 Октября 2004, 14:10:35
Эх. ну что ты будешь делать. :)
Алгоритм (это не рабочий код):

$item_current = \'news\'; // у тебя берётся из урла
foreach ($menu_items as $item) {
  $style = ($item_current == $item) ? \'подсвечивать\' : \'не подсвечивать\';
  ....
}

ясно?

Ты  знаешь какой пункт меню тебе нужно подсветиь.
В цикле ты _по очереди_ выводишь все свои пункты меню.
Так и сравнивай текущий пункт что ты выводишь с названием того который нужно выделить. Если совпадают ставь один стиль (с выделением) если не совпадают ставь другой стиль (без оного).

Может с 18 раза поймёшь.
Название: PHP и CSS - правильный подход
Отправлено: Меняздесьдавнонет от 22 Октября 2004, 15:07:58
У тебя ошибка не в алгоритме, а в коде.
По той ссылке, которую я тебе дал, КУРСИВОМ эта ошибка ВЫДЕЛЕНА