Jump to content


Photo

Dividir Conteudo Da Noticia Em Paginas


  • Faça o login para participar
8 replies to this topic

#1 Eduardo e Tamíris

Eduardo e Tamíris

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Masculino
  • Localidade:SC

Posted 06/08/2010, 11:37

Ola Pessoal,

É o seguinte, na pagina inicial, quando o usuario clica na noticia ele visualiza a noticia completa, blz, mas as vezes o conteudo da noticia é extenso e ele quebra o layout.

O que gostaria de fazer é dividir o conteudo da noticia em partes, tipo quando vc le a noticia por parte ai em pagina tem pagina 1 | 2 | 3 e assim por diante, e quando clica na proxima pagina le o restante do conteudo da materia ate não ter mais.

Alguem sabe como poderia fazer isso, para dividir o conteudo da materia em paginas e ler de onde parou ate terminar?

Ex:http://www.clubedohardware.com.br/artigos/Teste-da-Placa-de-Video-MSI-N460GTX-Cyclone-768D5-OC/2035

#2 André Manoel

André Manoel

    Doutor

  • Usuários
  • 996 posts
  • Sexo:Masculino
  • Localidade:Brasilia

Posted 06/08/2010, 11:48

Se está estourando o layout, eu acho que você definiu a altura da div que vai receber a notícia?

Tente tirar essa altura que ele não vai estourar mais...

tem um link ?
Iniciando na Ajuda On line...

Posted Image Meu post lhe ajudou? Reputar/votar é uma das formas de agradecer.

#3 Alan Martini

Alan Martini

    Normal

  • Usuários
  • 75 posts
  • Sexo:Masculino
  • Localidade:Campo Bom, RS
  • Interesses:De tudo um pouco

Posted 06/08/2010, 12:16

Dependendo se há um limite de linhas ou de espaço na página não é viável retirar os valores fixos.

Você pode fazer paginação, aqui tem um link com um exemplo: Paginação
Este post lhe ajudou/foi útil? Retribua(+)
"O impossível é apenas questão de opinião" J.W.
--------------------------
Att.
Alan Martini

#4 Eduardo e Tamíris

Eduardo e Tamíris

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Masculino
  • Localidade:SC

Posted 09/08/2010, 08:44

Alan não tenho o link pois estou fazendo local, mas o que preciso é dividir mesmo a meteria em paginas.
Sobre a paginação ela so serve para paginar registros e o que preciso é quebrar o texto da materia em varias paginas, pois é apenas uma materia com um texto de materia e esse texto que quero dividir em varias paginas. Tipo site que tem artigos e esta em varias paginas.

#5 Alan Martini

Alan Martini

    Normal

  • Usuários
  • 75 posts
  • Sexo:Masculino
  • Localidade:Campo Bom, RS
  • Interesses:De tudo um pouco

Posted 09/08/2010, 09:43

Certo, então vamos dividir a string. Será apresentado no início de 0 até 300 caracteres, quando o usuário clicar para próxima página será exibido de 300 à 600, pela verificação do parâmetro $_GET que usei no exemplo.

<?php
if (!isset $_GET['pg']){
   $inicio = 0;
   $limite = 300;
  
   echo substr($materia, $inicio, $limite );
}else{
   $inicio = $limite;
   $limite = $limite*2;
   
   echo substr($materia, $inicio, $limite );
}
?>
<?php
$i = 300;
while (strlen($materia) > $i):
//cria um botão para a próxima página com href='?pg=1'
$i = $i*2;
endwhile;
?>

;)
Este post lhe ajudou/foi útil? Retribua(+)
"O impossível é apenas questão de opinião" J.W.
--------------------------
Att.
Alan Martini

#6 Eduardo e Tamíris

Eduardo e Tamíris

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Masculino
  • Localidade:SC

Posted 09/08/2010, 10:57

Alan,

Não estou conseguindo fazer apresentar, veja o que esta errado:

<div id="noticia">
<?php
//Seleciona tabela passando o id
$sql = mysql_query("select * from tb_noticias where id_noticia = '".$id."' limit 1");
//recupero os dados do registro mysql_fetch_object e mysql_fetch_array é a mesma coisa, so que um é objeto e outro array
while ($dados = mysql_fetch_array($sql)) {

$imagem = $dados['imagem'];
if ($imagem != '') {
$imagem = "imagens/".$dados['imagem'];
}

echo date('d/m/Y', strtotime($dados['data']));
echo "<h1>".$dados['titulo']."</h1>";
if ($imagem != '') {
echo "<div class=\"noticia_imagem\"><img src=\"$imagem\" width=\"300\" class=\"noticia_img\" />"
."<div class=\"noticia_text_imagem\">"
.$dados['text_imagem'].
"</div>".
"</div>";
}

if (!isset ($_GET['pg'])){
$inicio = 0;
$limite = 300;

echo substr($dados['materia'], $inicio, $limite );

}else{
$inicio = $limite;
$limite = $limite*2;

echo substr($dados['materia'], $inicio, $limite );

}

// echo "<div style=\"padding-top:20px;\">".$dados['materia']."</div>";
echo "<br><br>";
echo "<div style= text-align:center;><a href=javascript:history.back(-1)>[Voltar]</a>"."</div>";

$i = 300;
while (strlen($dados['materia']) > $i):
//cria um botão para a próxima página com href='?pg=1'
echo "<a href=\"noticia.php?id=$id&pg=1\">Proxima</a>";
$i = $i*2;
endwhile;

}


?>

</div>

#7 Alan Martini

Alan Martini

    Normal

  • Usuários
  • 75 posts
  • Sexo:Masculino
  • Localidade:Campo Bom, RS
  • Interesses:De tudo um pouco

Posted 09/08/2010, 11:22

Inicialmente era para mostrar :ponder:

Da um echo no $dados['materia'] para ver o que está retornando.

Edição feita por: Alan Martini, 09/08/2010, 11:23.

Este post lhe ajudou/foi útil? Retribua(+)
"O impossível é apenas questão de opinião" J.W.
--------------------------
Att.
Alan Martini

#8 Eduardo e Tamíris

Eduardo e Tamíris

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Masculino
  • Localidade:SC

Posted 11/08/2010, 08:26

Inicialmente era para mostrar :ponder:

Da um echo no $dados['materia'] para ver o que está retornando.


Ele ate retorna, mas quando clico na proxima página não mostra o restante do texto, ele não entra no else.

#9 Alan Martini

Alan Martini

    Normal

  • Usuários
  • 75 posts
  • Sexo:Masculino
  • Localidade:Campo Bom, RS
  • Interesses:De tudo um pouco

Posted 11/08/2010, 15:37

Troca o !isset por empty pra ver se ele irá verificar o else
Este post lhe ajudou/foi útil? Retribua(+)
"O impossível é apenas questão de opinião" J.W.
--------------------------
Att.
Alan Martini




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq