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,
Achei um tuto na net sobre paginação... da hora! funciona diretinho, porém, quando eu altero para que a consulta receba condições ele só me mostra a primeira página... qndo clico as outras ele mostra em branco.
pagination.php
////////////////////////////////////////////////////////////
// MODELO DE PAGINAÇÃO 6
function pagination_six($total_pages,$page){
global $webpage;
$pagination = '<div class="page_numbers">
<ul>';
if($total_pages!=1){
//the total links visible
$max_links=10;
//$max links_marker is the top of the loop
//$h is the start
$max_links_marker = $max_links+1;
$h=1;
//$link_block is the block of links on the page
//When this is an integer we need a new block of links
$link_block=(($page-1)/$max_links);
//if the page is greater than the top of th loop and link block
//is an integer
if(($page>=$max_links_marker)&&(is_int($link_block))){
//reset the top of the loop to a new link block
$max_links_marker=$page+$max_links;
//and set the bottom of the loop
$h=$max_links_marker-$max_links;
$prev=$h-1;
}
//if not an integer we are still within a link block
elseif(($page>=$max_links_marker)&&(!is_int($link_block))){
//round up the link block
$round_up=ceil($link_block);
$new_top_link = $round_up*$max_links;
//and set the top of the loop to the top link
$max_links_marker=$new_top_link+1;
//and the bottom of the loop to the top - max links
$h=$max_links_marker-$max_links;
$prev=$h-1;
}
//if greater than total pages then set the top of the loop to
// total_pages
if($max_links_marker>$total_pages){
$max_links_marker=$total_pages+1;
}
//first and prev buttons
if($page>'1'){
$pagination.='<li class="current"><a href="'.$webpage.'?page=1">Inicio</a></li>
<li class="current"><a href="'.$webpage.'?page='.($page-1).'">Ant</a></li>';
}
//provide a link to the previous block of links
$prev_start = $h-$max_links;
$prev_end = $h-1;
if($prev_start <=1){
$prev_start=1;
}
$prev_block = "$prev_start a $prev_end";
if($page>$max_links){
$pagination.='<li class="current"><a href="'.$webpage.'?page='.$prev.'">'.$prev_block.'</a></li>';
}
//loop through the results
for ($i=$h;$i<$max_links_marker;$i++){
if($i==$page){
$pagination.= '<li><a class="current">'.$i.'</a></li>';
}
else{
$pagination.= '<li><a href="'.$webpage.'?page='.$i.'">'.$i.'</a></li>';
}
}
//provide a link to the next block o links
$next_start = $max_links_marker;
$next_end = $max_links_marker+$max_links;
if($next_end >=$total_pages){
$next_end=$total_pages;
}
$next_block = "$next_start a $next_end";
if($total_pages>$max_links_marker-1){
$pagination.='<li class="current"><a href="'.$webpage.'?page='.$max_links_marker.'">'.$next_block.'</a></li>';
}
//link to next and last pages
if(($page >="1")&&($page!=$total_pages)){
$pagination.='<li class="current"><a href="'.$webpage.'?page='.($page+1).'">Prox</a></li>
<li class="current"><a href="'.$webpage.'?page='.$total_pages.'">Final</a></li>';
}
}
//if one page of results
else{
$pagination.='<li><a href="" class="current">1</a></li>';
}
$pagination.='</ul>
</div>';
return($pagination);
}
listaconsulta.php
<?php
include_once('pagination.php');
// Linhas de dados por pagina
$entries_per_page=5;
$page = (isset($_GET['page'])?$_GET['page']:1);
$result = mysql_query("SELECT COUNT(*) from registro ")
or die (mysql_error());
$num_rows = mysql_fetch_row($result);
if($num_rows[0]!=0){
$total_pages = ceil($num_rows[0]/$entries_per_page);
$pagination = pagination_six($total_pages,$page);
$offset = (($page * $entries_per_page) - $entries_per_page);
//CONSULTA AO BANCO PASSANDO AS VARIAVEIS ENVIADAS PELO FORM
//CONSULTA QUE MOSTRA CERTINHO OS REGISTROS
$result = mysql_query("SELECT * from registro LIMIT $offset,$entries_per_page") or die (mysql_error());
//SE EU COLOCAR ESSA CONSULTA ELE N ME MOSTRA OS RESULTADOS COMO A CONSULTA ACIMA
/* $result = mysql_query("SELECT * FROM registro WHERE
Data >= '$dataini' AND Data <= '$datafim' AND
horaentrada >= '$horaiEntrada ' AND horaentrada <= '$horafEntrada' AND
horasaida >= '$horaiSaida' AND horasaida <= '$horafSaida' OR (horasaida IS NULL)
ORDER BY id ASC LIMIT $offset,$entries_per_page") OR DIE (mysql_error()); */
echo $pagination; // Mostra a paginação na parte superior
/////////// INICIA A TABELA DE EXEMPLO DE MOSTRA DOS DADOS
echo '<br /><br /><center><table width="95%" style="border:0px solid #000000">
<tr bgcolor="#FFFFFF" ><font size="1.5" face="verdana">
<td><b>Reg.</b></td>
<td><b>Data</b></td>
<td><b>Entrada</b</td>
<td><b>Saída</b</td>
<td><b>Cracha</b</td>
<td><b>Nome</b</td>
<td><b>RG</b</td>
<td><b>Tipo</b</td>
<td><b>Empresa</b</td>
<td><b>Local de Visita</b</td>
</tr>';
// Looping para os resultados //
for($i=0;$row=mysql_fetch_assoc($result);$i++){
$data = $row['data'];
$novadata = substr($data,8,2) . "/" .substr($data,5,2) . "/" . substr($data,0,4);
echo "<tr bgcolor='#CCCCCC' >
<td align='center'>{$row['id']}</td>
<td>{$novadata}</td>
<td>{$row['horaentrada']}</td>
<td>{$row['horasaida']}</td>
<td>{$row['nrcracha']}</td>
<td>{$row['nome']}</td>
<td>{$row['rg']}</td>
<td>{$row['tipo']}</td>
<td>{$row['empresa']}</td>
<td>{$row['localvisita']}</td>
</tr>";
}
echo '</tr>
</table></center>';
////////// TERMINA A TABELA DE EXEMPLO DE MOSTRAGEM DE DADOS
echo "$pagination"; // Mostra a página na parte inferior
} // FECHA CHAVE DO IF QUE VERIFICA SE $num_rows[0] != 0
?>
Não sei o que pode ser... é só alterar a parte da consulta que dá esse erro...
Alguma dica??.......
//CONSULTA QUE MOSTRA CERTINHO OS REGISTROS
$result = mysql_query("SELECT * from registro LIMIT $offset,$entries_per_page") or die (mysql_error());
//SE EU COLOCAR ESSA CONSULTA ELE N ME MOSTRA OS RESULTADOS COMO A CONSULTA ACIMA
/* $result = mysql_query("SELECT * FROM registro WHERE
Data >= '$dataini' AND Data <= '$datafim' AND
horaentrada >= '$horaiEntrada ' AND horaentrada <= '$horafEntrada' AND
horasaida >= '$horaiSaida' AND horasaida <= '$horafSaida' OR (horasaida IS NULL)
ORDER BY id ASC LIMIT $offset,$entries_per_page") OR DIE (mysql_error()); */Carregando comentários...