Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal bom dia a todos, mal resolvi uma questão e já to postando outro tópico.
Bem, tive uma ideia que me cairia muito bem, já fiz pesquisas pra encontrar como fazer mas sem exito.
é o seguinte. fiz umsite onde o usuário pode enviar informações através de um formulário.
estas informações ficam armazenadas num banco de dados e podem ser vistas através de um script em php que fiz.
neste existe um link que é <a href='ler_noticia_reporter.php?id=$id' target='meuiframe'>Ler</a>.
o que preciso é que este link fique sempre marcado apos ter sido clicado assim como no e-mail. mensagens não lidas de uma forma e lidas de outra.
essa é a questão, como fazer??
fico grato a galera do forum pela ajuda que estão me dando.
Muito obrigado msm. vlw
Prezado é isso mesmo que eu quero, mesmo que ele troque de máquina permaneça marcado com lido.
beleza sua sugestão só não sei como fazer. poderia me dar uma explicação mais detalhada. agradeço muito.
Mas ai somente o usuário logado vai ver se o link está marcado, porque no e-mail funciona assim:
Você se loga com seu e-mail e senha, lá no campo link deve ter algum javascript no evento onclick que troca um valor de zero para 1 no campo link do sql deve existir algum campo lido se for zero não está lido se for 1 está lido ai é que deve colocar php junto com css se o campo estiver lido isto é se for 1 então executa o css para dexar o campo de outra cor (cinza,verde) se não deixa ele padrão (azul).
>
Mas ai somente o usuário logado vai ver se o link está marcado, porque no e-mail funciona assim:
Você se loga com seu e-mail e senha, lá no campo link deve ter algum javascript no evento onclick que troca um valor de zero para 1 no campo link do sql deve existir algum campo lido se for zero não está lido se for 1 está lido ai é que deve colocar php junto com css se o campo estiver lido isto é se for 1 então executa o css para dexar o campo de outra cor (cinza,verde) se não deixa ele padrão (azul).
Ok é isso mesmo só não tenho ideia de como fazer esse scrit no link.
coloca uma coluna no banco de dados: lido.
deixa ela como 0, qndo o cara ler, você muda para 1.
verificar o estado dela, e adiciona uma classe css a linha, para mostrar a cor diferente, caso não esteja lido ainda.
pronto, só isso.
>
Ok é isso mesmo só não tenho ideia de como fazer esse scrit no link.
Ok Vamos lá então nesse mini tutorial vou mostrar como se muda a cor de um link usando banco de dados, sem uso do javascript já que não é meu forte:
1º passo crie uma base de dados a minha se chama "test" e uma tabela a minha no caso se chama "link"
/applications/core/interface/imageproxy/imageproxy.php?img=http://2.bp.blogspot.com/-WahlnSlaW5o/TviLGr2ttPI/AAAAAAAAAQg/6GLlrYkdSDM/s1600/T01.jpg&key=55b7b775c0975e9e20418a486875b3a2bdddc0fb27d36674a5d0f112d02cd2f0" alt="T01.jpg" />
preencha a tabela com os seguintes valores:
Nome= link1,Url=http://www.google.com.br,Lido=0,id é automático e chave primaria
Nome=link2,Url=http://www.yahoo.com.br,Lido=0,id é automatico e chave primaria
Depois de ter feito isso agora vamos direto para o php faça o seguinte códgio:
<!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>Index.php By Daniel1</title>
</head>
<!--Aqui é o css ele vai mudar de cor de acordo com o link-->
<style type="text/css">
.LD0{text-decoration: underline;color:#FF0000;}
.LD1{text-decoration:overline;color:#00CC00;}
</style>
<script type="text/javascript">
</script>
<body>
<h1>link qualquer</h1>
<?php$dhost = "localhost";
$dusername = "root";
$dpassword = "root";
$ddatabase = "test";
$dtable = "link";
$con = mysql_connect($dhost, $dusername, $dpassword) or die("Cannot Connect");
//selecionei o banco de dados
mysql_select_db($ddatabase, $con);
//sintaxe mysql
$sql= mysql_query("select * from ".$dtable.";");
//peguei os valores da tabela
while($res=mysql_fetch_array($sql)){
$nome=$res[0];
$url=$res[1];
$lido=$res[2];
$id=$res[3];
//Esse que está abaixo é o link ele é dinâmico isto é quanto mais você alimentar o banco de dados mais ele vai crescendo
echo "<a href='redireciona.php?url=".$url."&acao=Update&id=".$id."&cod=1' class='LD".$lido."' id='".$id."' onclick='mudalink('".$id."')'>".$nome."</a><br />";
}
?>
</body>
</html>
Agora vamos para a pagina redireciona.php:
<!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>Redireciona PHP By Daniel1</title>
</head>
<body>
<?php$dhost = "localhost";
$dusername = "root";
$dpassword = "root";
$ddatabase = "test";
$dtable = "link";
$con = mysql_connect($dhost, $dusername, $dpassword) or die("Cannot Connect");
mysql_select_db($ddatabase, $con);
//pegou os dados via Get
$acao=$_GET["acao"];
$cod=$_GET["cod"];
$id=$_GET["id"];
$url=$_GET["url"];
//Fez o update
mysql_query($acao." `".$dtable."` set lido='".$cod."' where id=".$id.";");header('Location:'.$url);
?>
</body>
</html>
Então é isso, mais explicado que isso é impossivel, agora é só adptar para o seu site
Até o proximo post.
A fonte é do meu próprio blog :http://4d4niel.blogspot.com/2011/12/mudar-cor-do-link-usando-banco-de-dados.html
o pseudoseletor css :visited resolve a questão ?
ou você precisa que esse link fique marcado como lido, mesmo que o cara troque de maquina e tal ?
ai você pode gravar uma coluna no banco de dados: "lido", se ele tiver lido, você atribui um 0, e troca a class do link.