Ir para conteúdo

POWERED BY:

Arquivado

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

ronal-gato

Titulo ou Title da pagina puxado do banco de dados

Recommended Posts

Tipo aqui mesmo no Imasters quando se cria um post novo ele pega o titulo ou title e acrescenta no titulo direto e isso que tou tentando fazer isso no meu site na parte dos posts olhem o codigo que estou tentando usar mais tipo ele esta puxando mais tipo ele esta puxando o mesmo titulo post para todos posts algum pode me ajudar com meu problema

 

<?php
$seleciona = mysql_query("SELECT * FROM postagens");
$conta = mysql_num_rows($seleciona);

if($conta <= 0){
	echo "Não há nenhuma titulo no dado no banco!";
}else{
	while($ln = mysql_fetch_array($seleciona)){
		$titulo2 = $ln['titulo'];
?>
<?php }} ?>
<html lang="pt_BR">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?php echo "$titulo2" ?>/TDE Posts</title>

Compartilhar este post


Link para o post
Compartilhar em outros sites

ronal-gato

 

Você pode fazer isso de uma forma muito simples:

Pegar o valor do código da postagem pra mostrar o título da postagem, senão, pode exibir um título padrão como o seu "Não há nenhuma titulo no dado no banco!".

 

Para isso, primeiro selecione o título da postagem, pelo ID dela, que pode vir via _POST ou _GET.

<?php
#Recebo o código
$codigo = $_GET['id']; #Supondo que estou recebendo via _GET

$seleciona = mysql_query("SELECT * FROM postagens WHERE id = $codigo");
  $titulo = mysql_fetch_array($seleciona);
    if ($titulo['titulo']; != ""){
       $titulo_postagem = $titulo['titulo'];
    } else {
       $titulo_postagem = "Não há nenhuma titulo no dado no banco!";
    }
?>

 

Depois da consulta, no cabeçalho do HTML, na tag <TITLE> exiba:

 

<title><?php echo $titulo_postagem; ?></title>

 

E Pronto. Assim ele pegará dinamicamente o título da postagem a ser mostrada!

Compartilhar este post


Link para o post
Compartilhar em outros sites

não foi algum tem outra solução hem

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa é a única solução... você tem que fazer uma consulta, e usar o resultado na tag title.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É isso mesmo que o Marcel Sartori sugeriu.

Esse id que ele quis te falar é o id do post/artigo, ou o que seja.

É esse id que você vai identificar qual registro do banco você está acessando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

esta havendo um erro aqui mais tipo sera que não ira dar conflito por que meu url ja vem de um .htaccess ?

if ($titulo['titulo']; != ""){

Compartilhar este post


Link para o post
Compartilhar em outros sites

esta havendo um erro aqui mais tipo sera que não ira dar conflito por que meu url ja vem de um .htaccess ?

if ($titulo['titulo']; != ""){

 

Troque

if ($titulo['titulo']; != ""){

por isso

if ($titulo != ""){

Compartilhar este post


Link para o post
Compartilhar em outros sites

esta havendo um erro aqui mais tipo sera que não ira dar conflito por que meu url ja vem de um .htaccess ?

if ($titulo['titulo']; != ""){

Só está errado pq tá fechando o if antes de termianr com o " ; ".

 

Tem que postar seu código.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olhem o codigo todo

postagens.php

<?php
$conect = mysql_connect('localhost','root','');
$db = mysql_select_db('tropa de elite master');
?>
<?php
$seleciona = mysql_query("SELECT * FROM postagens");
       $conta = mysql_num_rows($seleciona);

       if($conta <= 0){
               echo "Não há nenhuma titulo no dado no banco!";
       }else{
               while($ln = mysql_fetch_array($seleciona)){
                       $titulo2 = $ln['titulo'];
?>
<?php }} ?>

<html lang="pt_BR">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?php echo "$titulo2" ?></title>
<link href="css/home.css" rel="stylesheet" type="text/css" />
<meta http-equiv="Content-type" content="text/html;charset=iso-8859-1" />
</head>
<body>
<div id="conteiner">
<?php
//verifica se existe o titulo na url
if(isset($_GET['title'])){
$pagina = $_GET['title'];
//Pesquisa o pelo titulo na tabela
$busca = mysql_query("SELECT* FROM postagens WHERE url = '$pagina'");
if(@mysql_num_rows($busca) < 1){echo 'erro: postagem inexistênte ou pagina inexistente';}
else{
// Exibe resultado
while($res = mysql_fetch_array($busca)){
$titulo = $res['titulo'];
$imagem = $res['imagem'];
$texto = $res['texto'];

?>
<h2 align="center"><?php echo $titulo; ?></h2>
<center><img src="post-img/<?php echo $imagem; ?>" width="220" height="180" border="0" /></center>
<p><?php echo $texto; ?></p>
</div>

<?php }}}  ?>
</div>
</body>
</html>

.htaccess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)\/?([0-9]*)\/?$ postagens.php?title=$1
RewriteRule ^(.+)\/?([0-9]*)\/?$ paginação.php?page=$1

index.php

<?php
$conect = mysql_connect('localhost','root','');
$db = mysql_select_db('tropa de elite master');
?>

<html lang="pt_BR">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>TDE Master</title>
<link href="css/home.css" rel="stylesheet" type="text/css" />
<meta http-equiv="Content-type" content="text/html;charset=iso-8859-1" />
</head>
<body>
<div id="conteiner">
<?php
$seleciona = mysql_query("SELECT * FROM postagens ORDER BY id DESC");
$conta = mysql_num_rows($seleciona);

if($conta <= 0){
	echo "Não há nenhuma postagem no dado no banco!";
}else{
	while($ln = mysql_fetch_array($seleciona)){
		$titulo = $ln['titulo'];
		$descricao = $ln['descricao'];
		$imagem = $ln['imagem'];
		$url = $ln['url'];	
?>

<hr />
<a href="http://localhost/Nova-pasta/postagens.php?title=<?php echo $url; ?>">
<h2 align="center"><?php echo $titulo; ?></h2>
<br />
<center><img src="post-img/<?php echo $imagem; ?>" width="220" height="180" border="0" /></center></a>
<br />
<p><?php echo $descricao; ?></p>
<br />
<a href="http://localhost/Nova-pasta/postagens.php?title=<?php echo $url; ?>">Ler Mais</a>
</div>
<hr />
<?php }} ?>

</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olhem o codigo todo

postagens.php

<?php
$conect = mysql_connect('localhost','root','');
$db = mysql_select_db('tropa de elite master');
?>
<?php
$seleciona = mysql_query("SELECT * FROM postagens");
       $conta = mysql_num_rows($seleciona);

       if($conta <= 0){
               echo "Não há nenhuma titulo no dado no banco!";
       }else{
               while($ln = mysql_fetch_array($seleciona)){
                       $titulo2 = $ln['titulo'];
?>
<?php }} ?>

<html lang="pt_BR">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?php echo "$titulo2" ?></title>
<link href="css/home.css" rel="stylesheet" type="text/css" />
<meta http-equiv="Content-type" content="text/html;charset=iso-8859-1" />
</head>
<body>
<div id="conteiner">
<?php
//verifica se existe o titulo na url
if(isset($_GET['title'])){
$pagina = $_GET['title'];
//Pesquisa o pelo titulo na tabela
$busca = mysql_query("SELECT* FROM postagens WHERE url = '$pagina'");
if(@mysql_num_rows($busca) < 1){echo 'erro: postagem inexistênte ou pagina inexistente';}
else{
// Exibe resultado
while($res = mysql_fetch_array($busca)){
$titulo = $res['titulo'];
$imagem = $res['imagem'];
$texto = $res['texto'];

?>
<h2 align="center"><?php echo $titulo; ?></h2>
<center><img src="post-img/<?php echo $imagem; ?>" width="220" height="180" border="0" /></center>
<p><?php echo $texto; ?></p>
</div>

<?php }}}  ?>
</div>
</body>
</html>

.htaccess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)\/?([0-9]*)\/?$ postagens.php?title=$1
RewriteRule ^(.+)\/?([0-9]*)\/?$ paginação.php?page=$1

 

Onde está o link para clicar e ver a outra página

Compartilhar este post


Link para o post
Compartilhar em outros sites

Onde está o link para clicar e ver a outra página

acrescentei ja a outra pagina q e o index

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom amigo testei aki e aki deu certo vamu lá crie uma pasta configuracoes dentro dela coloque

 

 

 

conexao.php

 

<?

$host = "localhost"; //endereço do seu servidor MySQL

$database = "database"; //o database usado no MySQL

$login_db = "login"; //login usado no MySQL

$senha_db = "senha"; //senha usado no MySQL

 

mysql_connect($host,$login_db,$senha_db) or die(mysql_error()); // Tenta conectar ao mysql, se falhar exibe o erro

mysql_select_db($database) or die(mysql_error()); // Tenta selecionar a base de dados, se falhar exibe o erro.

 

 

?><?php header("Content-Type: text/html; charset=utf-8",true) ?>

 

 

 

Bom agora sua index.php

dei uma editada +ou- mais tah pegado aki

 

 

<lang="pt_BR">

<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>TDE Master</title>

<link href="css/home.css" rel="stylesheet" type="text/css" />

<meta http-equiv="Content-type" content="text/html;charset=iso-8859-1" />

</head>

<body>

<div id="conteiner">

<?php

include "configuracoes/conexao.php";

$query = "SELECT * FROM postagens";

$result = mysql_query($query);

$lista = mysql_num_rows($result);

if($lista <= "0"){

echo "<br>

<div align='center' bgcolor='#EBF2F9' class='conteudo'>Não possui postagens</div>";}

?>

<?php

$select = "SELECT * FROM postagens where ORDER BY id DESC";

$result = mysql_query($select);

while($pop = mysql_fetch_array($result)){

$titulo = $pop["titulo"];

$descricao = $pop["descricao"];

$imagem = $pop["imagem"];

$url = $pop["url"];

?>

<hr />

<a href="postagens.php?title=<?php echo $url; ?>">

<h2 align="center"><?php echo $titulo; ?></h2>

<br />

<center><img src="post-img/<?php echo $imagem; ?>" width="220" height="180" border="0" /></center></a>

<br />

<p><?php echo $descricao; ?></p>

<br />

<a href="postagens.php?title=<?php echo $url; ?>">Ler Mais</a>

</div>

<hr /><?} ?>

 

 

</body>

</html>

 

Espero ter ajudado :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não esta indo esta puxando apanas o ultimo titulo para todos

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.