Jump to content


Photo

Probleminha Com Paginaçao


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

#1 Tigre

Tigre

    Normal

  • Usuários
  • 118 posts
  • Sexo:Masculino
  • Localidade:Criciúma

Posted 06/01/2008, 14:26

Olá pessoal,

estou usando uma função de paginação que encontrei aqui no fórum e está funcionando corretamente, mas na primeira página aparecem dois probleminhas que não consigo identificar a causa.

A função está neste link:

http://forum.wmonlin...howtopic=129828

E os problemas são essas duas mensagens de erro:

Notice: Undefined index: pagina in c:\classificados\admanuncios_ativos_usuarios.php on line 110

Notice: Undefined variable: html in c:\classificados\admanuncios_ativos_usuarios.php on line 73

A linha 110 é essa em azul:

$lpp = "10";
[b][color=#0000FF]$pagina = $_REQUEST['pagina'];[/color][/b]
if ($pagina == "") {$pagina = 1;}
$inicio = ($pagina * $lpp) - $lpp;


E a linha 73 essa:

while ($primeira <= $ultima) {
 if ($primeira == $pagina) {
   [b]  [color=#0000FF]$html .= $primeira;[/color][/b]
 }


Lembrando que as mensagens só aparecem na primeira página.

Se alguém souber o porque das mensagens e puder passar a dica, agradeço.

Edição feita por: boirock, 06/01/2008, 22:26.
Uso de [code]


#2 lfelipevc

lfelipevc

    Novato no fórum

  • Usuários
  • 3 posts
  • Sexo:Não informado
  • Localidade:Minas Gerais

Posted 06/01/2008, 14:43

Olá pessoal,

estou usando uma função de paginação que encontrei aqui no fórum e está funcionando corretamente, mas na primeira página aparecem dois probleminhas que não consigo identificar a causa.

A função está neste link:

http://forum.wmonlin...howtopic=129828

E os problemas são essas duas mensagens de erro:

Notice: Undefined index: pagina in c:\classificados\admanuncios_ativos_usuarios.php on line 110

Notice: Undefined variable: html in c:\classificados\admanuncios_ativos_usuarios.php on line 73

A linha 110 é essa em azul:

$lpp = "10";
$pagina = $_REQUEST['pagina'];
if ($pagina == "") {$pagina = 1;}
$inicio = ($pagina * $lpp) - $lpp;


E a linha 73 essa:

while ($primeira <= $ultima) {
if ($primeira == $pagina) {
$html .= $primeira;
}


Lembrando que as mensagens só aparecem na primeira página.

Se alguém souber o porque das mensagens e puder passar a dica, agradeço.


Opa!,

No lugar de $_REQUEST[] use $_GET[]

e no outro problema, nao é a solucao mas tente declarando antes a variavel $html, pq desde o inicio do codigo ele concatena sem antes ter declarado
tipo $html = ""; mesmo que vazia ...

obs: sei que php nao tem que declara nada

ta ae!

Edição feita por: lfelipevc, 06/01/2008, 14:44.


#3 Tigre

Tigre

    Normal

  • Usuários
  • 118 posts
  • Sexo:Masculino
  • Localidade:Criciúma

Posted 06/01/2008, 15:08

Olá Felipe, tentei as mudanças mas não corrigiu os problemas.

Será que no caso da $html tem haver com aquele ponto antes do sinal de igual (na linha 73). Se tirar o ponto, a mensagem de "variavel indefinida" desaparece, mas nas páginas seguintes não aparece mais as anteriores. Resolve uma coisa mas estraga outra.

#4 lfelipevc

lfelipevc

    Novato no fórum

  • Usuários
  • 3 posts
  • Sexo:Não informado
  • Localidade:Minas Gerais

Posted 06/01/2008, 15:28

Bom, eu testei aqui a funcao

e usei so isso:


... 
$pagina = $_REQUEST['pagina'];
$paginacao = paginacao(100, 10, '', $pagina);
echo $paginacao;

e funcionou normalmente preciso que vc cole o codigo todo que vc esta usando pra tentar te ajudar.

flw !

#5 Tigre

Tigre

    Normal

  • Usuários
  • 118 posts
  • Sexo:Masculino
  • Localidade:Criciúma

Posted 06/01/2008, 16:08

Felipe, essa é a pagina. Resumi um pouco pra não ficar muito extenso. As partes principais são estas.

[codebox]<?

function paginacao($total, $lpp, $link, $pagina) {

$paginas = ceil($total / $lpp);

$anterior = $pagina - 1;
$proxima = $pagina + 1;

if ($pagina > 1) {$html = "<a href=\"".$link."?pagina=".$anterior."\">anterior</a> ";}
if (($pagina > 6) && ($paginas > 10)) {$html .= "<a href=\"".$link."?pagina=1\">1...</a> ";}

if (($pagina > 5) && ($pagina < $paginas - 4)) {
$primeira = $pagina - 5;
$ultima = $pagina + 5;
}
else {
if ($pagina < 6) {
$primeira = 1;
if ($paginas > 9) {
$ultima = 10;
}
else {
$ultima = $paginas;
}
}

if ($pagina > $paginas - 5) {
$ultima = $paginas;
if ($paginas < 11) {
$primeira = 1;
}
else {
$primeira = $paginas - 9;
}
}
}

while ($primeira <= $ultima) {
if ($primeira == $pagina) {
$html .= $primeira;
}
else {
$html .= " <a href=\"".$link."?pagina=".$primeira."\">".$primeira."</a> ";
}
$primeira = $primeira + 1;
}

if (($pagina < $paginas - 5) && ($paginas > 10)) {$html .= " <a href=\"".$link."?pagina=".$paginas."\">...".$paginas."</a>";}
if ($pagina < $paginas) {$html .= " <a href=\"".$link."?pagina=".$proxima."\">próxima</a>";}

return $html;
}



include "conect_action.php";


echo "<p><b><font color=blue> Anúncios ativos:</b></font>";

include "funcoes_action.php";

$pag = mysql_query("select * from anuncios where usuario<>0 and data_finaliza >= CURDATE()
and codigo like '%$pesq%'", $db);
$total = mysql_num_rows($pag);

$lpp = "10";
$pagina = $_REQUEST['pagina'];
if ($pagina == "") {$pagina = 1;}
$inicio = ($pagina * $lpp) - $lpp;

$paginacao = paginacao($total, $lpp, '', $pagina);

echo "Encontrados $total veículos";
echo "<p>";

echo "Páginas: ", $paginacao;

$resultado = mysql_query("select * from anuncios where usuario<>0 and data_finaliza >= CURDATE()
and codigo like '%$pesq%' order by codigo desc limit $inicio, $lpp", $db);
$encontrou=0;
while($campo = mysql_fetch_array($resultado)) {
$encontrou++;
echo"<table border=1 width=100%>";
echo "<tr>";
echo "<td>";
echo "<p>";
echo "<b>Código do veículo:</b>", $campo[0];
echo "</td>";
$codi=$campo[0];
echo "<td>";
echo "<p>";
echo "<b> Veículo: </b><a href=buscaanuncio.php?codi=$codi target=_blank> ", $marca=BuscaMarcas($campo[4])," ",$modelo=BuscaModelos($campo[5])," ",$campo[6],"</a>";
echo "<tr>";
echo "<td>";
echo "<p>";
echo "<b> Ano: </b> ", $campo[7];
echo "<tr>";
echo "<td>";
echo "<p>";
echo "<b> Valor: </b> ", $campo[12];
echo "<tr>";
echo "<td>";
echo "<p>";
...
...
...
}
echo "Páginas: ",$paginacao;

if ($encontrou==0){
echo "<font color=red><p align=center>Nenhum anúncio ativo";
echo "<p>";
}

echo "<form method='post' action='adm.php'>";
echo "<input type=submit value=Voltar>";
echo "</form>";

?>
</html>[/codebox]

Edição feita por: boirock, 06/01/2008, 22:26.
Uso de [codebox] em códigos extensos


#6 Jeison Free

Jeison Free

    Turista

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

Posted 07/01/2008, 08:52

ta ai cara da para você estudar um pouco com esse tuto

http://www.iesart.co...dex.php?arq=127
Poster de
www.iesart.com
www.pagelessbrasil.com
www.scriptbrasil.com.br (scripts)

<?php alem do limite

#7 Tigre

Tigre

    Normal

  • Usuários
  • 118 posts
  • Sexo:Masculino
  • Localidade:Criciúma

Posted 07/01/2008, 15:17

Jeison, a paginação está funcionando corretamente. O único "probleminha" são essas duas mensagens que aparece na primeira página. Se resolver isso fica perfeito.




1 user(s) are reading this topic

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

IPB Skin By Virteq