Ir para conteúdo
Fórum Script Brasil
  • 0

Exibir apenas uma postagem?


Marlon Douglas

Pergunta

OI gente :)

Eu estou criando um simples system de Posts para um amigo, ai está tudo indo certo. Mas quando é para exibir apenas uma postagem, exibe essa post e todas.

Vou explicar melhor:

Vamos supor que o endereço do post é www.meusite.com/posts.php, neste endereço aparece todas as postagem e se acessa www.posts.com/posts.php?id=6 então exibe apenas post com a id 6. Mas quando acessa, aparece a post do id 6 com o resto das posts. Eu já tentei usar else mas, o que acontece o inicio fica vazio, sem posts.

Então, eu gostaria que você mes ajuda á exibir apenas a post do id "?id=$id" e no inicio todas as posts.

O código:

<?
$db = mysql_connect("localhost","106841","");
$bd = mysql_select_db("106841");

/* Mostrando apenas uma postagem

$sql = mysql_query("SELECT * FROM texto");
while($linha = mysql_fetch_array($sql)){
$id = $linha['id'];

$id2 = $_GET['id'];

if ($id2 == "$id") {

$pag = 1;
$quantidade = 1;
$inicio = ($pag*$quantidade) - $quantidade;

$sql = mysql_query("SELECT * FROM texto ORDER BY $id LIMIT $inicio, $quantidade");
while($linha = mysql_fetch_array($sql)){
$titulo = $linha['titulo'];
$post = $linha['post'];

echo "Seu id é $id";
echo "<strong>$titulo</strong><br /><br />";
echo "$post<br />";

}

}

}
*/

// Mais um teste para apenas uma post
// Agora só falta conseguir fazer com o resto das posts suma
$id = $_GET['id'];

if($id == $id) {

$pag = 1;
$quantidade = 1;
$inicio = ($pag*$quantidade) - $quantidade;

$sql = mysql_query("SELECT * FROM texto WHERE id = '$id' LIMIT $inicio, $quantidade");
while($linha = mysql_fetch_array($sql)){
$titulo = $linha['titulo'];
$post = $linha['post'];

echo "<strong>$titulo</strong><br /><br />";
echo "$post<br />";
echo "<hr>";

}

}


// fim do teste


$consulta = mysql_query("select * from usuarios where Login = '$login_usuario'");

// Mostrando todas as postagens
$pag = $_GET['pag'];
if(isset($pag)){
$pag = $pag;
}else{
$pag = 1;
}

$quantidade = 7;
$inicio = ($pag*$quantidade) - $quantidade;

$sql = mysql_query("SELECT * FROM texto ORDER BY id DESC LIMIT $inicio, $quantidade");
while($linha = mysql_fetch_array($sql)){
$titulo = $linha['titulo'];
$post = $linha['post'];
$id = $linha['id'];

echo "<strong>$titulo</strong><br /><br />";
echo "$post<br />";
echo "<hr>";

}

$sql_2 = mysql_query("SELECT * FROM texto");
$total_registros = mysql_num_rows($sql_2);

$paginas = ceil($total_registros/$quantidade);
$links = 4;

echo "<a href='page.php?pag=1'>primeira pagina </a> &nbsp;&nbsp;&nbsp;&nbsp;";

for($i = $pag-$links; $i <= $pag-1; $i++){
if($i<=0){
}else{
echo "<a href='page.php?pag=".$i."'>".$i."</a> &nbsp;&nbsp;";
}
}

echo "<a href=#>$pag</a>";

for($i = $pag+1; $i <= $pag+$links; $i++){
if($i>$paginas){
}else{
echo "&nbsp;&nbsp;<a href='page.php?pag=".$i."'>".$i."</a> &nbsp;&nbsp;";
}
}

echo "&nbsp;&nbsp;&nbsp;&nbsp;<a href='page.php?pag=".$paginas."'>ultima página </a> &nbsp;&nbsp;";


?>

Obrigado

Editado por Marlon Douglas
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
OI gente :)

Eu estou criando um simples system de Posts para um amigo, ai está tudo indo certo. Mas quando é para exibir apenas uma postagem, exibe essa post e todas.

Vou explicar melhor:

Vamos supor que o endereço do post é www.meusite.com/posts.php, neste endereço aparece todas as postagem e se acessa www.posts.com/posts.php?id=6 então exibe apenas post com a id 6. Mas quando acessa, aparece a post do id 6 com o resto das posts. Eu já tentei usar else mas, o que acontece o inicio fica vazio, sem posts.

Então, eu gostaria que você mes ajuda á exibir apenas a post do id "?id=$id" e no inicio todas as posts.

O código:

<?
$db = mysql_connect("localhost","106841","123456news");
$bd = mysql_select_db("106841");

/* Mostrando apenas uma postagem

$sql = mysql_query("SELECT * FROM texto");
while($linha = mysql_fetch_array($sql)){
$id = $linha['id'];

$id2 = $_GET['id'];

if ($id2 == "$id") {

$pag = 1;
$quantidade = 1;
$inicio = ($pag*$quantidade) - $quantidade;

$sql = mysql_query("SELECT * FROM texto ORDER BY $id LIMIT $inicio, $quantidade");
while($linha = mysql_fetch_array($sql)){
$titulo = $linha['titulo'];
$post = $linha['post'];

echo "Seu id é $id";
echo "<strong>$titulo</strong><br /><br />";
echo "$post<br />";

}

}

}
*/

// Mais um teste para apenas uma post
// Agora só falta conseguir fazer com o resto das posts suma
$id = $_GET['id'];

if($id == $id) {

$pag = 1;
$quantidade = 1;
$inicio = ($pag*$quantidade) - $quantidade;

$sql = mysql_query("SELECT * FROM texto WHERE id = '$id' LIMIT $inicio, $quantidade");
while($linha = mysql_fetch_array($sql)){
$titulo = $linha['titulo'];
$post = $linha['post'];

echo "<strong>$titulo</strong><br /><br />";
echo "$post<br />";
echo "<hr>";

}

}


// fim do teste


$consulta = mysql_query("select * from usuarios where Login = '$login_usuario'");

// Mostrando todas as postagens
$pag = $_GET['pag'];
if(isset($pag)){
$pag = $pag;
}else{
$pag = 1;
}

$quantidade = 7;
$inicio = ($pag*$quantidade) - $quantidade;

$sql = mysql_query("SELECT * FROM texto ORDER BY id DESC LIMIT $inicio, $quantidade");
while($linha = mysql_fetch_array($sql)){
$titulo = $linha['titulo'];
$post = $linha['post'];
$id = $linha['id'];

echo "<strong>$titulo</strong><br /><br />";
echo "$post<br />";
echo "<hr>";

}

$sql_2 = mysql_query("SELECT * FROM texto");
$total_registros = mysql_num_rows($sql_2);

$paginas = ceil($total_registros/$quantidade);
$links = 4;

echo "<a href='page.php?pag=1'>primeira pagina </a> &nbsp;&nbsp;&nbsp;&nbsp;";

for($i = $pag-$links; $i <= $pag-1; $i++){
if($i<=0){
}else{
echo "<a href='page.php?pag=".$i."'>".$i."</a> &nbsp;&nbsp;";
}
}

echo "<a href=#>$pag</a>";

for($i = $pag+1; $i <= $pag+$links; $i++){
if($i>$paginas){
}else{
echo "&nbsp;&nbsp;<a href='page.php?pag=".$i."'>".$i."</a> &nbsp;&nbsp;";
}
}

echo "&nbsp;&nbsp;&nbsp;&nbsp;<a href='page.php?pag=".$paginas."'>ultima página </a> &nbsp;&nbsp;";


?>

Obrigado

verificou se está recebendo o id ?

mas em todo caso acho que basta acrescentar limit =1 e só retornarar um registro até mais.

Link para o comentário
Compartilhar em outros sites

  • 0

Cara, tente fazer isto

<?php
...
//Como ainda não sabemos se tem o id começamos vazios
$limite = "";

//Caso o exista o id na url
if( isset($_GET["id"] )
{
      //definimos que vai ter o limit
      $limit = " LIMIT 1";
}

//caso não tenha o id a var $limite vai estar vazia e não vai alterar em nada o código
// mas se o existir o ID vai ser adicionado o limit 1 no fim da query.
$consulta = mysql_query("select * from usuarios where Login = '$login_usuario' " . $limit);

?>

espero ter ajudado.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...