Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, Pessoal gostaria da ajuda de para resolver.
No meu servidor local, sistema de paginação funciona sem problemas, já quando esta no servidor web, quando solicito mudança de pagina sempre fica na primeira as informações mais a url muda.
Link: http://hotbr.com.br/bg/ver_noticias.html
Php Info: http://hotbr.com.br/bg/info.php
<?php
$tabela1 = "tb_noticias";
//MOSTRA TODAS NOTICIAS DO SITE
if($acao == "ver_todas"){
if(!empty($limite2)){
$limite2 = "LIMIT $limite2";
}
$busca = "SELECT * FROM $tabela1 WHERE status='S' $ordem";
//echo $busca;
if($paginacao == "S"){
$total_reg = "10";
if(!$page){
$page = "1";
}
$inicio = $page-1;
$inicio = $inicio*$total_reg;
$limite = mysql_query("$busca LIMIT $inicio,$total_reg");
} else {
$limite = mysql_query("$busca $limite2");
}
$todos = mysql_query("$busca");
$tr = mysql_num_rows($todos);
$tp = @ceil($tr / $total_reg);
if($tr > 0){
?>
executar paginador.
<?
if($page > 1){
$anterior = $page -1;
$url = "?page=$anterior";
echo "<li class='pager-navi'><a href='$url' class='icon-text'></a></li>";echo "";
}
?>
<?
for($x=1; $x<=$tp; $x++){
$url = "page=$x";
if ($x==$page) {
echo "<li class='active'><a href='#'>$x</a></li>";
} else {
echo "<li><a href='?$url'>$x</a></li>";
}
}
?>if($tp > $page){
$proxima = $page +1;
$url = "?page=$proxima";
echo "<li class='pager-navi'><a href='$url' class='icon-text'></a></li>";echo "";
}
?>As variáveis estão vindo de onde? $_GET/$_POST? Se sim você deve resgatar, pois ao que parece no seu servidor register_globals está desativado.
_________________________________________________________________________
esta faltando
$page = $_GET['page'];
Caros, Desculpa só meio novato, peguei este script já pronto.
Erison,
Obrigado pela ajuda, mais não deu certo.
ESerra,
Mesmo ativando register_globals on, não da certo.
<?php
$variables=(strtolower($_SERVER['REQUEST_METHOD'])== 'GET') ? $_GET : $_POST;
foreach ($variables as $k=> $v)
$$k=$v;
$tabela1 = "tb_noticias";
$tabela2 = "tb_users";
$file = "$tabela1";Você ativou register_globals no servidor de produção? Como exatamente você fez isto? Qualquer servidor +/- não vai permitir a você fazer este tipo de coisa...
Desative o register_globals, é extremamente recomendado deixá-lo desativado. Seu problema deve ter outra solução. Ele retorna algum erro para você? Veja na URL se ele está alterando a página quando você passa o mouse em cima da paginação.
Desativar o register_globals, não vou fazer tava lento sobre ele não e legal ter ele ativado com status on.
Pedro,
Link de teste para paginação, não reposta erros apenas de imagens que não estão no servidor. Acredito que tenho que fazer um nova classe para paginação. vou posta todo o script aqui.
http://hotbr.com.br/bg/ver_noticias.html?page=2
<?php
$variables=(strtolower($_SERVER['REQUEST_METHOD'])== 'GET') ? $_GET : $_POST;
foreach ($variables as $k=> $v)
$$k=$v;
$tabela1 = "tb_empregos";
$file = "empregos";
// INICIO DA ACAO VER ULTIMAS
if($acao == "listar"){
if(!empty($limite2)){
$limite2 = "LIMIT $limite2";
}
$busca = "SELECT * FROM $tabela1 WHERE status='S' $ordem";
//echo $busca;
if($paginacao == "S"){
$total_reg = 1;
if(!$page){
$page = "1";
}
$inicio = $page-1;
$inicio = $inicio*$total_reg;
$limite = mysql_query("$busca LIMIT $inicio,$total_reg");
} else {
$limite = mysql_query("$busca $limite2");
}
$todos = mysql_query("$busca");
$tr = mysql_num_rows($todos);
$tp = @ceil($tr / $total_reg);
if($tr > 0){
?>
<div class="content-blog">
<div class="content-blog-right">
<?
// Agora vamos montar o código. Pegue o valor total de resultados:
$total = mysql_num_rows($limite);
// Defina o número de colunas que você deseja exibir:
//$colunas = "3";
//$colunas = "$qts_colunas";
// Agora vamos ao "truque":
if ($total>0) {
for ($i = 0; $i < $total; $i++) {
if (($i%$colunas)==0) {
$colspan = $colunas+$colunas+$colunas;
?>
<? }?>
<? $dados = mysql_fetch_array($limite) ; ?>
<div class="article-block-small-image">
<!-- <div class="article-header">
<h3>titulo</h3>
</div> !-->
<div class="article-content">
<div class="article-text">
<?php echo "<font size='3' color='#C9168E' style='text-transform:uppercase;'><strong>$dados[nome]</strong></font><br />"?>
<?php
$contatamanho2 = strlen($dados[descricao]);
if($contatamanho2 > $qt_letras2){
$descricao = substr_replace($dados[descricao], "...", $qt_letras2, $contatamanho2 - $qt_letras2);
} else {
$descricao = $dados[descricao];
}
# echo "<font style='text-transform:uppercase;'> - $titulo</font><br>";
echo "<font size='2' color='#b3b3b3'>$descricao</font>";
?><br />
<a href="<?="ver_empregos/$dados[id]";?>/<?php $url = "($dados[nome])"; utf8_decode($url); echo removeAcentos($url, '-'); ?>.html" class="button"><span>Ver Detalhes</span></a>
</div>
</div>
</div>
<? }?>
<? }?>
</div>
</div>
<?
// INICIO DA PAGINAÇÃO
if($paginacao == "$paginacao"){
include "paginas/paginacao.php";
}
// FIM DA PAGINAÇÃO
?>
<? } else {?>
Você realizou busca com a palavra chave, <span class="t-2"><? echo $palavra ?></span> não encontramos informações sobre este assunto em <span class="t-2"><b>Empregos</b></span>.
<?
} // FIM DO ELSE
} // FIM DA ACAO VER ULTIMAS
?>
Paginador: paginacao.php
<div class="content-pager">
<ul>
<?
for($x=1; $x<=$tp; $x++){
$url = "page=$x";
if ($x==$page) {
echo "<li class='active'><a href='#'>$x</a></li>";
} else {
echo "<li><a href='?$url'>$x</a></li>";
}
}
?>
</ul>
</div>$page = $_GET['page'];
A sugestão que vou dar parece ser meio boba, mas...
os dados no teu servidor remoto(produção) estão "sincronizados" com o teu servidor local (mesma quantidade de registros) ?
ou também pode ser que algum arquivo que esteja em teu servidor local não esteja ou não está adaptado em teu servidor remoto
Erison,
Vi sim minha dúvida, como falei no inicio só muito novato em programação, eu travo em algumas coisa, onde colocar, como chamar esta variável para resolver o problema? Você consegui me orientar.
GCAS,
Conforme mostre o link, você pode observar que todos dados estão sincronizado, problema que so mostra um dado não mostra os dados que deveria aparecer na outras paginas.
>
$page = $_GET['page'];
cara você sabe a diferença entre $_GET, $_POST E $_REQUEST?
caso não entenda e saiba o que esta fazendo, e não só copie e cole.
isso
$page = $_GET['page'];
fica no inicio da pagina da paginação.
Erison, Obrigado 100% resolvido agora, sobre as diferença sei sim... Obrigado mesmo..
http://hotbr.com.br/bg/ver_noticias.htmlSite trocando as paginas e informações 100%. :)
Neste 10 dias aprendi demais, sobre URL amigável, agora quero fazer classe para url curta. :)
se ajudou clica ai > /applications/core/interface/imageproxy/imageproxy.php?img=http://forum.imasters.com.br/public/style_images/imasters/rep_up.png&key=69f1cee84b0cec2770cf4978eb26283900cc6cd53272a52e2e7da158a809e582" alt="rep_up.png" />
aqui em vez de ser
<?
não era para ter um ?page=$x
<?
nossa desconsidere, não reparei no ?$url