Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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;$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] "; $painel .= " <a href=\"$PHP_SELF?pagina=$x\">[$x]</a>";
}
}
echo "$prev_link | $painel | $next_link";
?>
não to conseguindo corrigir o erro.
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";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>";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
Pode ser porque a variável $pagina ainda não foi setada, tenta assim:
$pagina = (isset($_GET['pagina']))? $_GET['pagina'] : false;
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";
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. <_<
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 "| ";" <a href='{$_SERVER['PHP_SELF']}?p={$pags}'>Ultima Pagina</a>";
echo "</div>";
?>
Resolvido
Dando uma olhada rápida deu pra perceber que o correto seria utilizar:
$_SERVER['PHP_SELF'] no lugar de $PHP_SELF