Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

emuidifisss

Âncora com PHP

Recommended Posts

Boa, galera do help!

 

Sistema de notícias. Em uma página são exibidas as notícias publicadas. Elas são gravadas num banco mysql e identificadas por uma id própria. Na home, cada uma dessas notícias aparece encurtada e com um "leia +" para leitura na íntegra na página de notícias.

Como trabalhar com cada âncora do "leia +" e as "id" de cada notícia de forma que o leitor possa ser direcionado para a página de notícias com o foco na notícia clicada?

Será que deu pra entender? Qualquer coisa explico de outra forma.

 

Agradecido!

 

emuidifisss

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Envia o id via GET fazendo um

 

select * from noticias where id=$GET['id'] ;

Obg pelo retorno, Marcos, mas não é isso. Quando posto uma notícia, ela já vai para a página de notícias e também, de forma encurtada, para a home, só que com um link "leia +"para que o usuáro possa continuar a leitura. É nesse "leia +" que eu quero criar uma âncora para direcionar para a notícia escolhida na íntegra, lá para a página de notícias, deixando o título no topo, deu pra sacar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poderia postar o código que você usa para exibir as noticias?

Abaixo, a página que exibe as notícias na íntegra:
<?

include "conecta_mysql.inc";
$sql = "SELECT * FROM noticias ORDER BY DATA DESC LIMIT 0,5";
$result = mysql_query($sql);
  while ($tbl = mysql_fetch_array($result)) 
  {
    $id  = $tbl["ID"];
    $autor = $tbl["AUTOR"];
    $data = $tbl["DATA"];
    $nova_data = substr($data,8,2).'/'.substr($data,5,2).'/'.substr($data,0,4);
    $hora = substr($data,10,6);
    $titulo = strtoupper($tbl["TITULO"]);
    $noticia = $tbl["NOTICIA"];
    $comando = array("\r\n", "\n", "\r");
    $quebra_linha = array("<br><br>", "<br>", "<br>");
    $texto_publicado = str_replace($comando, $quebra_linha, $noticia);
        echo "<h3>$titulo</h3>";
        echo "<h5>Publicado por $autor, em $nova_data, às $hora</h5>";
        echo "<p class=\"corpo_noticia_com_foto\">$texto_publicado</a></p>";
  }
?>
Abaixo, a página que possui o link "ler na íntegra" na home page para acessar cada notícia na íntegra:

 

<?
include "conecta_mysql.inc";
$sql = "SELECT * FROM noticias ORDER BY DATA DESC LIMIT 0,5";
$result = mysql_query($sql);
  while ($tbl = mysql_fetch_array($result)) 
  {
    $id  = $tbl["ID"];
    $autor = $tbl["AUTOR"];
    $data = $tbl["DATA"];
    $nova_data = substr($data,8,2).'/'.substr($data,5,2).'/'.substr($data,0,4);
    $hora = substr($data,10,6);
    $titulo = strtoupper($tbl["TITULO"]);
    $noticia = $tbl["NOTICIA"];
    $comando = array("\r\n", "\n", "\r");
    $quebra_linha = array("<br><br>", "<br>", "<br>");
    $texto_publicado = str_replace($comando, $quebra_linha, $noticia);
    $max = 360;
    $str = $texto_publicado;
        echo "<h3>$titulo</h3>";
        echo "<h5>Publicado por $autor, em $nova_data, às $hora</h5>";
        echo "<p class=\"corpo_noticia_com_foto\">".substr_replace($texto_publicado, (strlen($texto_publicado) > $max ? '... <a href="noticias.php"><em>(ler na íntegra)</em></a>' : ''), $max)."</p>";
 }
?>

É no link acima "ler na íntegra" que eu quero colocar uma âncora para abrir a notícia referente à "id" clicada lá na página que exibe a notícia na íntegra.

Compartilhar este post


Link para o post
Compartilhar em outros sites

No final do seu codigo faça a seguinte alteração:

 

 

<a href="noticias.php?&id=$id"><em>(ler na íntegra)</em></a>' : ''), $max)."</p>";

E na página noticias.php faça um select regatan

 

$id = $_GET['id'];
"SELECT * FROM noticias where ID= $id ; 

Lembrando de tratar a variável para evitar SQL injection.

http://php.net/manual/pt_BR/security.database.sql-injection.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

No final do seu codigo faça a seguinte alteração:

 

 

<a href="noticias.php?&id=$id"><em>(ler na íntegra)</em></a>' : ''), $max)."</p>";

E na página noticias.php faça um select regatan

 

$id = $_GET['id'];
"SELECT * FROM noticias where ID= $id ; 

Lembrando de tratar a variável para evitar SQL injection.

http://php.net/manual/pt_BR/security.database.sql-injection.php

Fala, Marcos! Essa página noticias.php exibe todas as notícias publicadas, como vc pode ver, ordenadas pelas 5 últimas publicadas, por data mais recente. Automaticamente, assim que uma notícia é publicada, lá na home aparece a mesma notícia limitada a 360 caracteres e o link "ler na íntegra". Clicando nesse link (#âncora) eu quero que o usuário seja levado à página de notícias.php, com o título da notícia clicada recebendo a âncora para ser direcionada para o topo, como fazemos com links e âncoras comuns de html.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.