imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 02.06.2006, 21:17     # 1
Стефания
Junior Member
 
Регистрация: 13.03.2006
Сообщения: 72

Стефания Путь к славе только начался
Выделение цветом текущей новости на РНР

В общем что-то типа ленты новостей, автоматом прставляются ссылки, которые берутся из текстовых файлов. Как сделать так, чтоб переходя на новость, ссылка на которую перешли выделялась другим цветом?
Скрипт считки такой.
<?php
if (!isset($k))
{
$k=1;
}
if (!isset($kkk))
{
$kkk='new.txt';
}
switch($k)
{
case '1':
$ap=fopen('poz/'.$kkk,'r');
while($d=fgets($ap))
{
$d=trim($d);
$ap1=fopen('poz/'.$d,'r');
$p1=fgets($ap1);
$p1=trim($p1);
echo $p1;
echo (fgets($ap1)."\r\n");
fclose($ap1);
}
fclose($ap);
break;
case '2':
$ap1=fopen('poz/'.$fn1,'r');
$p1=fgets($ap1);
$p1=trim($p1);

echo $p1;
$cc1=fgetss($ap1);
}
?>
poz-каталог
new.txt - текстовый файл, в котором лежат номера других файлов (например:
1.txt
2.txt, А в них уже конкретные ссылки, которые и выводятся на экран.
Стефания вне форума  
Старый 03.06.2006, 12:31     # 2
rontommy
Добряк Модератор
ГлавБюстАтценка АН ИМХО.ВС
 
Аватар для rontommy
 
Регистрация: 14.10.2002
Адрес: Старый оценщик, НИИ ГлавБюстАтценка АН ИМХО.ВС
Пол: Male
Сообщения: 4 010

rontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербог
rontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербог
В таблицу стилей вписать что-то типа этого, с желаемым кодом цвета :
a:visited {
color: #E34000;
}
__________________
Лень - это когда видишь необходимость что-то делать, но не хочется, а влом - это когда что-то хочется, но не видишь необходимости это делать.
rontommy вне форума  
Старый 03.06.2006, 14:08     # 3
Стефания
Junior Member
 
Регистрация: 13.03.2006
Сообщения: 72

Стефания Путь к славе только начался
Не, не то. Видимо, не так объяснила.
Есть три новости: (вход - это а хреф)
Новость один "вход" (переход на страницу 1.php)
Новость два "вход" (переход на страницу 2.php)
Новость три "вход" (переход на страницу 3.php)

На странице 1.рнр вот эта чать:
Новость один "вход"
Новость два "вход"
Новость три "вход"
сохраняется:
так вот........
мне нужно, чтоб "Новость один "вход" " на странице 1.рнр выделялась другим цветом, т.е. чтобы людизнали, что они читают новость один. На странице 2.рнр новость два должна быть другим цветом ну и ты.ды.
Так понятнее?
Вверху я написала код, который считывает эти новости из текстовых файлов. Как мне задать коду, что страница, на которую перешли, является текущей и новость, дающая ссылку на эту страницу должна выделяться другим цветом?
Хелп, плиз......ну я же знаю, что тут ничего сложного нет
Стефания вне форума  
Старый 03.06.2006, 15:19     # 4
Naked
::VIP::
 
Аватар для Naked
 
Регистрация: 15.05.2005
Адрес: Питер
Сообщения: 1 194

Naked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked Сэнсэй
Цитата:
Стефания:
Не, не то. Видимо, не так объяснила.
ну да, понятно что тебе нужно, но для начала, почти такая же тема была: __http://www.imho.ws/showthread.php?t=103985
Вот а так в целом, нужно реализовывать так: у тебя есть адрес той новости, которую ты сейчас выводишь, или на которой странице ты находишься (это либо адресная строка браузера, либо то, что ты читаешь из файла), и у тебя есть список ссылок, которые отображаются в меню, просто тебе нужно сравнить ссылку в меню со своей текущей ссылкой и если они совпадают, то выделяешь эту ссылку как-нибудь (это и есть текущая новость)
__________________
Чтобы воля стала действующим началом, тело должно быть совершенным.
Naked вне форума  
Старый 03.06.2006, 15:35     # 5
Стефания
Junior Member
 
Регистрация: 13.03.2006
Сообщения: 72

Стефания Путь к славе только начался
Так я это все понимаю.....я не понимаю как это на рнр написать. Как вот это написать: "сравнить ссылку в меню со своей текущей ссылкой"? Как можно ссылку в меню сравнить с текущей ссылкой?

Цитата:
Naked:
почти такая же тема была:
Почти.....там нужно было ссылку изменить, а мне нужно текст изменить......кажися две разные вещи.
Стефания вне форума  
Старый 04.06.2006, 00:53     # 6
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Цитата:
Стефания:
Как можно ссылку в меню сравнить с текущей ссылкой?
Ну как, если не знаете - сравнивайте на равенство подстроки например.

Цитата:
Стефания:
Почти.....там нужно было ссылку изменить, а мне нужно текст изменить......кажися две разные вещи.
А какая разница что менять?
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 04.06.2006, 18:59     # 7
Стефания
Junior Member
 
Регистрация: 13.03.2006
Сообщения: 72

Стефания Путь к славе только начался
Ыыыы...или я вас не понимаю или вы меня.
Есть такая фича "$_SERVER["PHP_SELF"]"

И вот что я сделала:
<?php
if (!isset($k))
{
$k=1;
}
if (!isset($kkk))
{
$kkk='new.txt';
}
switch($k)
{
case '1':
$ap=fopen('poz/'.$kkk,'r');
while($d=fgets($ap))
{
$d=trim($d);
$ap1=fopen('poz/'.$d,'r');
$p1=fgets($ap1);
$p1=trim($p1);
// это мои коррективы !!! ------------
ereg("[A-Za-z0-9]{1,}\.php",$p1,$name);
if ($name[0]==str_replace("/","",$_SERVER["PHP_SELF"]))
{
$begin='<font color=red>';
$end='</font>';
}
else
{
$begin='';
$end='';
}
echo $begin.$p1.$end;

// это конец моим коррективам !!! --------------

echo (fgets($ap1)."\r\n");
fclose($ap1);
}
fclose($ap);
break;
case '2':
$ap1=fopen('poz/'.$fn1,'r');
$p1=fgets($ap1);
$p1=trim($p1);
echo $p1;
$cc1=fgetss($ap1);
fclose($ap1);
}
?>

Но оно все-равно не работает
Стефания вне форума  
Старый 04.06.2006, 21:07     # 8
GoodS
Newbie
 
Аватар для GoodS
 
Регистрация: 07.03.2006
Сообщения: 43

GoodS Путь к славе только начался
А можно поподробнее, а лучше скинь на мейл файлики, посмотрим. Такое непонимание может возникнуть только из-за недостатка инфы.
Да и еще ты там строки вроде сравниваешь, == не катит насколько я знаю используй лучше strcmp. B gjxtve e nt,z 1.php, 2.php, 3.php ....
Зачем столько файлов???
Лично я не разобрался)))
GoodS вне форума  
Старый 05.06.2006, 10:57     # 9
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Цитата:
Стефания:
Есть такая фича "$_SERVER["PHP_SELF"]"
Это не фича, а переменная

Действительно очень сложно понять что подразумевается под конструкциями вида "if (!isset($k))", кто такой К, за что отвечает, откуда берется... Вобщем покажи файлик полностью, который так не дается, таогда можно будет уж смотреть...
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 05.06.2006, 21:29     # 10
Стефания
Junior Member
 
Регистрация: 13.03.2006
Сообщения: 72

Стефания Путь к славе только начался
Цитата:
GoodS:
Лично я не разобрался)))
Цитата:
Hubbitus:
Это не фича, а переменная
Кароче, уже разобрались......))) Всем спасибо
Кста, начет $k, хороший вопрос.....я вот тоже не понимаю, откуда она взялась и зачем она вообще тут нужна Вот как иногда полезно, что б чужими глазами взглянули на мною написанное. Видимо, я хотела что-то другое, но потом передумала Что бы я без вас делала!
Стефания вне форума  
Старый 23.06.2006, 00:07     # 11
Стефания
Junior Member
 
Регистрация: 13.03.2006
Сообщения: 72

Стефания Путь к славе только начался
Вернусь еще раз к своим баранам
Нужно сравнить ссылку с текущей страницей....если они равны, то ссылка должна быть выделена красным цветом. Сссылка берется из файла тхт. У меня не работает, т.е. при переходе по ссылкам цвет их не меняется.

<?php
if (!isset($kkk))
{
$kkk='new.txt';
}
$ap=fopen('poz/'.$kkk,'r');
while($d=fgets($ap))
{
$d=trim($d);
$ap1=fopen('poz/'.$d,'r');
$p1=fgets($ap1);
ereg("[A-Za-z0-9]{1,}\.php",$p1,$lll);
ereg("[A-Za-z0-9]{1,}\.php",$_SERVER["PHP_SELF"],$rrr);
if ($lll[0]==$rrr[0])
{
$begin='<font color=red>';
$end='</font>';
}
else
{
$begin='';
$end='';
}
echo $begin.$p1.$end;
echo (fgets($ap1)."\r\n");
fclose($ap1);
}
fclose($ap);

?>

Что я тут не того наваяла?
Стефания вне форума  
Старый 23.06.2006, 14:46     # 12
BorLase
::VIP::
 
Аватар для BorLase
 
Регистрация: 09.09.2002
Адрес: Kiev
Пол: Male
Сообщения: 1 150

BorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех Гуру
вот тут
ereg("[A-Za-z0-9]{1,}\.php",$p1,$lll);

тебе случайно не так надо?
ereg("[A-Za-z0-9]{1,}\.php",$d,$lll);

вообще, лучше всего пройти это все дебаггером или, на крайний случай, поставь вывод отладочной информации - чему у тебя перед if ($lll[0]==$rrr[0]) равны $lll[0], $rrr[0] и т.д.

кроме того, неплохо было бы в вопросе привести пример содержания new.txt
__________________
Great minds discuss ideas. Average minds discuss events. Small minds discuss people.
BorLase вне форума  
Старый 23.06.2006, 18:15     # 13
Стефания
Junior Member
 
Регистрация: 13.03.2006
Сообщения: 72

Стефания Путь к славе только начался
BorLase
спасибочки огромное, ща попробую.
Привожу пример содеражния new.txt:
2.txt
1.txt

а в файлах этих лежат сылки вот такого вида:
<a href="7.php" target="_parent">С 8-м марта!</a> <br>

Не-а.....нешта не подходит.....$d у меня получается не ссылка, а название фалов 1.txt 2.txt Я просто сама в этом уже так запуталась.....

Я кажется разобралась......у меня в css файле прописан цвет ссылок.....может поэтому он не хочет их перекрывать? Так как если я делаю этот же скрипт, но ставлю допустим вместо $begin='<font color=red>' $begin='444444', то эти четверки появляются перед надписью на странице с текущей ссылкой.
Тогда вопрос.....как перекрыть цвет ссылки, заданный css файлом?
Стефания вне форума  
Старый 26.06.2006, 10:33     # 14
BorLase
::VIP::
 
Аватар для BorLase
 
Регистрация: 09.09.2002
Адрес: Kiev
Пол: Male
Сообщения: 1 150

BorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех Гуру
ммм... если мне не изменяет моя девичья память, проблема в следующем - несмотря на то, что ты меняешь цвет ВОКРУГ ссылки, сама ссылка определяется классом в CSS; потому-то у тебя ничего и не меняется

т.е. менять надо в этом месте: <a href="7.php" target="_parent">, а $begin-$end тебе не помогут

но если эти ссылки в файле... как вариант, могу предложить такое:
1) делаешь два класса для ссылок - common и current
2) все ссылки в файлах пишешь в виде <a %s href="7.php" target="_parent">
3) вместо $begin-$end делаешь так:
PHP код:
if ($lll[0]==$rrr[0])
{
  
$link2out sprintf(p1"class='current'");
}
else
{
  
$link2out sprintf(p1"class='common'");
}
echo 
$link2out
по идее, должно работать; если чего-то не понятно, пиши.
__________________
Great minds discuss ideas. Average minds discuss events. Small minds discuss people.
BorLase вне форума  
Старый 26.06.2006, 20:33     # 15
Стефания
Junior Member
 
Регистрация: 13.03.2006
Сообщения: 72

Стефания Путь к славе только начался
BorLase
спасибочки! Я поняла мысль. Попробую сделать. Только непонятно, что значит %s в ссылке <a %s href="7.php" target="_parent">. Т.е. это что делает?
А вообще, я решила эту проблему проще (иногда я все-таки не ищу трудных путей ), я сделала мини-гиф-картинки....типа полоски и текущую ссылку выделяю с двух сторон этими двумя картинками. Получилось даже красивше, чем цветом.
Стефания вне форума  
Старый 27.06.2006, 10:41     # 16
BorLase
::VIP::
 
Аватар для BorLase
 
Регистрация: 09.09.2002
Адрес: Kiev
Пол: Male
Сообщения: 1 150

BorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех Гуру
Цитата:
Стефания:
Только непонятно, что значит %s в ссылке <a %s href="7.php" target="_parent">. Т.е. это что делает?
она указывает, что в этом месте выведется строка.

в общем, man printf
__________________
Great minds discuss ideas. Average minds discuss events. Small minds discuss people.
BorLase вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 03:26.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.