Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

DeividMG18

[Resolvido] erro em paginação

Recommended Posts

ae galera fiz um paginador pra mostrar os registros mas esta me retornando erros em relação a $pagina=$_GET['pagina']; e $PHP_SELF.

Retornando os seguintes erros :

 

Notice: Undefined index: pagina in C:\wamp\www\curso\php\verip.php on line 46

Notice: Undefined variable: PHP_SELF in C:\wamp\www\curso\php\verip.php on line 74

Notice: Undefined variable: PHP_SELF in C:\wamp\www\curso\php\verip.php on line 86

 

verip.php

<?php

include('conexao.php');

date_default_timezone_set('America/Sao_Paulo');


$sql="SELECT * FROM ip";
$query=mysql_query($sql);
?>

<style>body{background-color:#CFCFCF}
</style>

<H2 ALIGN=CENTER>VISITANTE DO SITE TIBIABR.YN.LT</H2>


<?php

while($linha=mysql_fetch_array($query)){
$id=$linha['id'];
$ip=$linha['ip'];
$data=$linha['data'];
$navegador=$linha['navegador'];
$host=$linha['host'];
$hora=$linha['hora'];


echo "<b>Visitante </b> $id<br>
<b>Data:</b> $data - $hora<br>
<b>IP do Visitante:</b>
$ip<br>
<b>Servidor:</b> $host<br>
<b>Navegador:</b> $navegador<hr>";
}







$num_pag=5;


$pagina = $_GET['pagina'];

if(!$pagina){
$primeiro_registro = 0;
$pagina = 1;
}else{
$primeiro_registro = ($pagina - 1) * $num_pag;
}


$sql= "SELECT * FROM ip ORDER BY id DESC LIMIT $primeiro_registro, $num_pag";
$query=mysql_query($sql);

$sql2="SELECT COUNT(*) FROM ip";
$query2=mysql_query($sql2);
list($resultado)=mysql_fetch_array($query2);

$total_resultado = $resultado/$num_pag;

$prev = $pagina - 1;
$next = $pagina + 1;

if ($pagina > 1) {
$prev_link = "<a href=\"$PHP_SELF?pagina=$prev\">Anterior</a>";
 } else {
$prev_link = "Anterior";
}
if ($total_resultado > $pagina) {
$next_link = "<a href=\"$PHP_SELF?pagina=$next\">Próxima";
 } else {
$next_link = "Próxima";
}


$total_resultado = ceil($total_resultado);
 $painel = "";
 for ($x=1; $x<=$total_resultado; $x++) {
if ($x==$pagina) {
 	$painel .= " [$x] ";
} else {
 	$painel .= " <a href=\"$PHP_SELF?pagina=$x\">[$x]</a>";
}
 }
echo "$prev_link | $painel | $next_link";

?>

 

não to conseguindo corrigir o erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha soh o q retornou

 

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\wamp\www\curso\php\verip.php on line 69

 

em

 

if ($pagina > 1) {
$prev_link = "<a href=\"$_SERVER['PHP_SELF']?pagina=$prev\">Anterior</a>";
 } else {
$prev_link = "Anterior";
}
if ($total_resultado > $pagina) {
$next_link = "<a href=\"$_SERVER['PHP_SELF']?pagina=$next\">Próxima";
 } else {
$next_link = "Próxima";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tá dando erro de syntaxe aqui:

$prev_link = "<a href=\"$PHP_SELF?pagina=$prev\">Anterior</a>";

e provalvemente nas demais que possuem o "$PHP_SELF".

Coloca assim:

$prev_link = "<a href='{$_SERVER['PHP_SELF']}?pagina={$prev}'>Anterior</a>";

$next_link = "<a href='{$_SERVER['PHP_SELF']}?pagina={$next}'>Próxima";

$painel .= " <a href='{$_SERVER['PHP_SELF']}?pagina={$x}'>[{$x}]</a>";

Compartilhar este post


Link para o post
Compartilhar em outros sites

o do $_server['php_self'] parou de mostrar erro mas o da pagina ainda continua e mesmo assim ta mostrado todos os registros em vez de 5 por pagina

 

Notice: Undefined index: pagina in C:\wamp\www\curso\php\verip.php on line 46

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode ser porque a variável $pagina ainda não foi setada, tenta assim:

$pagina = (isset($_GET['pagina']))? $_GET['pagina'] : false;

Compartilhar este post


Link para o post
Compartilhar em outros sites

deu certo mas porque nao mostra a quantidade d registro q eu quero?

 

$sql= "SELECT * FROM ip ORDER BY id DESC LIMIT $primeiro_registro, $num_pag";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Testei aqui o seguinte:

SELECT *
FROM `ip`
ORDER BY id ASC
LIMIT 15 , 5

 

O curioso é que me retornou os registros do 21 ao 25. <_<

Compartilhar este post


Link para o post
Compartilhar em outros sites

consegui vlw por tudo kratos, tudo se tratava de posição das consultas :joia:

 

<?php

include('conexao.php');

date_default_timezone_set('America/Sao_Paulo');


$p = $_GET["p"];
if(isset($p)) {
$p = $p;
} else {
$p = 1;
}

$qnt = 5;
$inicio = ($p*$qnt) - $qnt;

$sql_select = "SELECT * FROM ip ORDER BY id DESC LIMIT $inicio, $qnt";
$sql_query = mysql_query($sql_select);


?><style>body{background-color:#CFCFCF}
</style>

<H2 ALIGN=CENTER>VISITANTE DO SITE TIBIABR.YN.LT</H2>

<?php
while($linha=mysql_fetch_array($sql_query)){
$id=$linha['id'];
$ip=$linha['ip'];
$data=$linha['data'];
$navegador=$linha['navegador'];
$host=$linha['host'];
$hora=$linha['hora'];

echo "<b>Visitante </b> $id<br>
<b>Data:</b> $data - $hora<br>
<b>IP do Visitante:</b> $ip<br>
<b>Servidor:</b> $host<br>
<b>Navegador:</b> $navegador<hr>";
}

echo "<br />";


echo "<div id=\"paginass\">";

$sql = mysql_query("Select Count(*) as total From ip");
$total = mysql_result($sql, 0, 'total');
$pags = ceil($total/$qnt);
$max_links = 3;


echo " <a href='{$_SERVER['PHP_SELF']}?p=1'>Primeira Pagina</a> ";
echo " | ";

for($i = $p-$max_links; $i <= $p-1; $i++) {
if($i <=0) {
} else {

echo " <a href='{$_SERVER['PHP_SELF']}?p={$i}'>{$i}</a>  ";
}
}

echo $p." ";
for($i = $p+1; $i <= $p+$max_links; $i++) {
if($i > $pags)
{

}

else
{
echo " <a href='{$_SERVER['PHP_SELF']}?p={$i}'>{$i}</a>" ;
}

}

echo "| ";
echo
" <a href='{$_SERVER['PHP_SELF']}?p={$pags}'>Ultima Pagina</a>";

echo "</div>";
?>

 

 

Resolvido

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.