Jump to content


Photo

Ajuda Com Paginação


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

#1 Cristian2552

Cristian2552

    Novato no fórum

  • Usuários
  • 12 posts
  • Sexo:Não informado

Posted 15/11/2009, 13:59

Pessoal estou tentando alterar um script ja existente de paginação de resultados antes ele ia para a outra pagina dessa maneira

« Anterior ?pg=tutoriais&page=1

Próxima » ?pg=tutoriais&page=3

agora quero que fique dessa maneira

« Anterior /tutoriais/1

Próxima » /tutoriais/3

so que não da certo. Obrigada por quem ajudar. ai esta o codigo!

<?


$page=$url['2'];

$busca = "SELECT * FROM tutoriais order by data desc";

$palavra = "Tutoriais";

$total_reg = "$qts_ultimos";

if(!$page){
$page = "1";
}

$inicio = $page-1;
$inicio = $inicio*$total_reg;

$limite = mysql_query("$busca LIMIT $inicio,$total_reg");
$todos = mysql_query("$busca");

$tr = mysql_num_rows($todos);
$tp = ceil($tr / $total_reg);

if(mysql_num_rows($todos)>0){




?>
Foram 
	  encontrados <strong><? echo "<b><font color=$coronmouse>$tr</font></b>";?></strong> <? echo $palavra?>!<br>
	  <br>
Exibindo <? echo $palavra?> de <b><font color=<? echo $coronmouse?>><? echo $inicio+1?></font></b> a <b><font color=<? echo $coronmouse?>><? if($tp == $page){ echo $tr; } else { echo $inicio+$total_reg;}?></font></b>

<? while ($dados=mysql_fetch_array($limite)) {?>

  



<table width="100%" border="1">
  <tr>
	<td background="<? echo $usite; ?>/images/bartuto.png"><a href="?pg=visualizar_tutorial&id=<?=$dados['id']; ?>"><strong><font color="#FFFFFF" size="+1""><p align="center"><? echo $dados['titulo']; ?></p></font></strong></a></td>
  </tr>
</table>
<table width="100%" border="0">
  <tr>
	<td width="54"><?
	$cate = $dados['cat'];
	?></td>
	<td width="442" align="center" valign="top"><p> </p></td>
	<td width="227"><strong><font color="#000000" size="-1""></font></strong></td>
  </tr>
  <tr>
	<td height="131"><a href="<? echo $usite; ?>/visualizar_tutorial/<?=$dados['id']; ?>"><img src="<? echo $usite."/images/cat_tuto/$cate.png"; ?>" alt="" width="128" border="1" align="left"/></a></td>
	<td align="center"><a href="?pg=visualizar_tutorial&id=<?=$dados['id']; ?>"><strong><font color="#000000" size="+1""><? echo $dados['subtitulo']; ?></font></strong></a></td>
	<td valign="middle"> </td>
  </tr>
  <tr>
	<td> </td>
	<td><strong><font color="#000000" size="-1"">Postador:<? echo $dados['postador']; ?></font></strong></td>
	<td><strong>Postado em:</strong>
	<?
$date = date('d/m/Y H:i:s', strtotime($dados['data']));

	echo $date; ?></td>
  </tr>
</table>
<? }?>
	
	<? }?>
<table width="100%" border="0">
  <tr>
	<td align="center"><?
if($page > 1){
$anterior = $page -1;
$url = "./$anterior/";
echo "<a href='$url'>« Anterior</a> |";
} else {
echo "<font color='$corcelula2'>« Anterior</font> |";
}
?>
	  <? 
for($x=1; $x<=$tp; $x++){
$url = "./$x/";
  if ($x==$page) {
  echo "<font color='$coronmouse'><b>$x</b></font>|";
  } else {
  echo "<a href='$url'>$x</a>|";
  }
} 
?>
	<?
if($tp > $page){
$proxima = $page +1;
$url = "./$proxima/";
echo " <a href='$url'>Próxima »</a>";
} else {
echo " <font color='$corcelula2'>Próxima »</font>";
}
?></td>
  </tr>
</table>
<p></p>


o codigo parece estar nessa parte

<?
if($page > 1){
$anterior = $page -1;
$url = "./$anterior/";
echo "<a href='$url'>« Anterior</a> |";
} else {
echo "<font color='$corcelula2'>« Anterior</font> |";
}
?>
	  <? 
for($x=1; $x<=$tp; $x++){
$url = "./$x/";
  if ($x==$page) {
  echo "<font color='$coronmouse'><b>$x</b></font>|";
  } else {
  echo "<a href='$url'>$x</a>|";
  }
} 
?>
	<?
if($tp > $page){
$proxima = $page +1;
$url = "./$proxima/";
echo " <a href='$url'>Próxima »</a>";
} else {
echo " <font color='$corcelula2'>Próxima »</font>";
}
?>


Por favor pessoal me ajuda :(

#2 Virou Web

Virou Web

    Turista

  • Usuários
  • 40 posts
  • Sexo:Não informado

Posted 15/11/2009, 17:47

Bom, primeiramente você tem certeza que a variavel que está informando está correta?
Por que se o rewrite_mode está funcionando corretamente e realmente a $url[2] é o valor corretor, era para funcionar sim..

para dar um debug e verificar se a variavel está correta.

print_r($url) ;

veja se aparece o numero da pagina que está precisando.
Virou Web - Soluções em Vendas Online
Lojas Virtuais, Shopping Virtual, Comércio Eletrônico
www.virouweb.com.br

#3 Cristian2552

Cristian2552

    Novato no fórum

  • Usuários
  • 12 posts
  • Sexo:Não informado

Posted 15/11/2009, 18:26

Virou Web na verdade não era bem isso mais não tem nada não descobri como fazer oque não estava dando certo era o link ex: eu estava em www.meusite.com.br/tutoriais/1 quando eu ia para a pagina 2 fazia isso www.meusite.com.br/tutoriais/1/2 e se eu estivesse na pagina 1 sem que o 1 estivesse na URL www.meusite.com.br/tutoriais funcionaria bem a unica coisa que eu fiz foi colocar o a URL completa ao invés de fazer outro if
assim
<?
if($page > 1){
$anterior = $page -1;
$url = "www.meusite.com.br/tutoriais/$anterior/";
echo "<a href='$url'>« Anterior</a> |";
} else {
echo "<font color='$corcelula2'>« Anterior</font> |";
}
?>
	  <? 
for($x=1; $x<=$tp; $x++){
$url = "www.meusite.com.br/tutoriais/$x/";
  if ($x==$page) {
  echo "<font color='$coronmouse'><b>$x</b></font>|";
  } else {
  echo "<a href='$url'>$x</a>|";
  }
} 
?>
	<?
if($tp > $page){
$proxima = $page +1;
$url = "www.meusite.com.br/tutoriais/$proxima/";
echo " <a href='$url'>Próxima »</a>";
} else {
echo " <font color='$corcelula2'>Próxima »</font>";
}
?>
Valeu pela resposta.

#4 Virou Web

Virou Web

    Turista

  • Usuários
  • 40 posts
  • Sexo:Não informado

Posted 15/11/2009, 19:05

Vale a pena sempre tem uma variavel com seu endereço correto....
<? $urlSite = 'www.virouweb.com.br' ; ?>

e a hora de fazer a requisição <?=$urlSite?>
Virou Web - Soluções em Vendas Online
Lojas Virtuais, Shopping Virtual, Comércio Eletrônico
www.virouweb.com.br

#5 '' sem.Ponto

'' sem.Ponto

    Super Veterano

  • Ex-Admins
  • 2098 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte

Posted 15/11/2009, 22:23

O erro está aqui:

$url = "./$proxima/";

Você queria voltar um nível, um único ponto antes não volta nível. Para você voltar um nível, teria que usar 2 pontos. Exemplo:

$url = '../'.$proxima.'/';

Fiz a correção apenas do link próximo. Tem que corrigir os outros também...

(ok2)
att,
Muller Dias
ex-administrador Fórum WMO




1 user(s) are reading this topic

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

IPB Skin By Virteq