Dividir Conteudo Da Noticia Em Paginas
Started By Eduardo e Tamíris, 06/08/2010, 11:37
8 replies to this topic
#1
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
É 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
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 ?
Tente tirar essa altura que ele não vai estourar mais...
tem um link ?
Iniciando na Ajuda On line...
Meu post lhe ajudou? Reputar/votar é uma das formas de agradecer.
Meu post lhe ajudou? Reputar/votar é uma das formas de agradecer.
#3
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
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
"O impossível é apenas questão de opinião" J.W.
--------------------------
Att.
Alan Martini
#4
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.
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
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
"O impossível é apenas questão de opinião" J.W.
--------------------------
Att.
Alan Martini
#6
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>
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
Posted 09/08/2010, 11:22
Inicialmente era para mostrar
Da um echo no $dados['materia'] para ver o que está retornando.
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
"O impossível é apenas questão de opinião" J.W.
--------------------------
Att.
Alan Martini
#8
Posted 11/08/2010, 08:26
Inicialmente era para mostrar
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
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
"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)