Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá para todos.
Bom tenho problema com paginação.
É o seguinte.
Quando mando exibir todos os registros ele exbie sem problema algum.
Porém quando mando fazer uma consulta específica ele não funciona direito.
Por exemplo:
Tenho 68 registros cadastrados.
Mando realizar uma consulta para exibir somente nomes de funcionário que começam com a letra "A". Nesse caso existem 35 funcionários.
Até aí ele mostra 35 funcionário que começam com a letra A. Porém quando vou para a segunda página ele volta a exibir todos os 68 funcionários.
Vou postar os dois códigos: uma de paginação e outro sobre consulta.
Obrigado.
paginação.php
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1 SEM BOM" />
<link href="estilo.css" rel="stylesheet">
<style type="text/css">
<!--
.pgoff {font-family: Verdana, Arial, Helvetica; font-size: 10px; color: #FF0000; text-decoration: none}
a.pg {font-family: Verdana, Arial, Helvetica; font-size: 10px; color: #FFFFFF; text-decoration: none}
a:hover.pg {font-family: Verdana, Arial, Helvetica; font-size: 10px; color: #FFFFFF; text-decoration:underline}
-->
</style>
<style type="text/css">
<!--
.pgoff {font-family: Verdana, Arial, Helvetica; font-size: 10px; color: #FFFF00; text-decoration: none}
a.pg {font-family: Verdana, Arial, Helvetica; font-size: 10px; color: #FFFFFF; text-decoration: none}
a:hover.pg {font-family: Verdana, Arial, Helvetica; font-size: 10px; color: #FFFFFF; text-decoration:underline}
-->
</style>
<?php
$quant_pg = ceil($quantreg/$numreg);
$quant_pg++;
?>
<TABLE align="center"border="0">
<TR class="textomeu3">
<TD height="10" align="center">
<?php
// Verifica se esta na primeira página, se nao estiver ele libera o link para anterior
if ( $_GET['pg'] > 0) {
echo "<a href=".$_SERVER['REQUEST_URI']."?action=$action&act=$act&pg=".($_GET['pg'] -1) ."&busca=$busca class=pg>« anterior</a>";
} else {
echo "<font color=#999999>« anterior</font>";
}
// Faz aparecer os numeros das página entre o ANTERIOR e PROXIMO
for($i_pg=1;$i_pg<$quant_pg;$i_pg++) {
// Verifica se a página que o navegante esta e retira o link do número para identificar visualmente
if ($_GET['pg'] == ($i_pg-1)) {
echo " <span class=pgoff>[$i_pg]</span> ";
} else {
$i_pg2 = $i_pg-1;
echo " <a href=".$_SERVER['REQUEST_URI']."?action=$action&act=$act&pg=$i_pg2&busca=$busca class=pg>$i_pg</a> ";
}
}
// Verifica se esta na ultima página, se nao estiver ele libera o link para próxima
if (($_GET['pg'] +2) < $quant_pg) {
echo "<a href=".$PHP_SELF."?action=$action&act=$act&pg=".($_GET['pg'] +1)."&busca=$busca class=pg>próximo »</a>";
} else {
echo "<font color=#999999>próximo »</font>";
}
?>
</TD>
</TR>
</TABLE>
Agor ao arquivo onde mostra os resultados da consulta.
act_conramais.php
<?php
/*
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
*/
//DESTRUINDO O ACESSO A AREA RESTRITA
require_once("Banco.php");
//include("./Includes/SESSAO.php");
require_once("Includes/FUNCTIONS.php");
// Instancia a classe Banco
$Conectar = new Banco();
$Conectar->Conecta();
$cConexao = $Conectar->consulta
?>
<HTML>
<HEAD>
<TITLE>. Consulta de Ramais</TITLE>
</HEAD>
<LINK HREF="estilo.css" REL="stylesheet">
<script>
function trim(sString) {
while (sString.substring(0,1) == ' ') {
sString = sString.substring(1, sString.length);
}
while (sString.substring(sString.length-1, sString.length) == ' ') {
sString = sString.substring(0,sString.length-1);
}
return sString;
}
function troca() {
if (document.frm_pad.cmb_campus.value != "") {
document.frm_pad.action = "?action=ramais/index&act=act_conramais.php";
document.frm_pad.submit();
}
</SCRIPT>
<BODY TOPMARGIN="0" LEFTMARGIN="0" BGCOLOR="#e5e5dd" onLoad="javascript:document.frm_pad.txt_nome.focus();">
<TABLE ALIGN="CENTER" BGCOLOR="#FFFFFF" BORDER="0" CELLSPACING="0" CELLPADDING="0" STYLE="border-collapse: collapse" BORDERCOLOR="#eaeaea" WIDTH="890">
<TR>
<TD ALIGN="center" VALIGN="top" WIDTH="890">
<TABLE WIDTH="890" ALIGN="CENTER" CELLPADDING="0" CELLSPACING="0" BGCOLOR="#5B799F">
<TR>
<TD WIDTH="260" >
<?php
//Registros por página
$numreg = 5; // Quantos registros por página vai ser mostrado
if (!isset($_GET['pg'] )) {
$_GET['pg'] = 0;
}
$inicial = $_GET['pg'] * $numreg;
// PREPARANDO A QUERY COM OS FILTROS NECESSÁRIOS
$cCompQuery_Funcionario = "AND( A.NOM_FUNCIONARIO ) LIKE('".$_POST['txt_nome']."%')";
$cCompQuery_Campus = "AND A.COD_CAMPUS = '".$_POST['cmb_campus']."'";
$cCompQuery_Depto = "AND A.COD_DEPTO = '".$_POST['cmb_depto']."'";
if ( (trim($_POST['txt_nome']) == "") and ( trim($_POST['cmb_campus']) == 0) and ( trim($_POST['cmb_depto']) == 0) ) {
$cQuery = mysql_query(" SELECT A.COD_RAMAL
,B.NOM_FANTASIA
,C.DESC_CENTRO_CUSTO
,A.NOM_FUNCIONARIO
,A.DDD, A.TELEFONE, A.TELEFONE2
,A.IDT_FUNCAO
,A.IDT_RAMAL
,A.IDT_EMAIL
,A.DDD_CELULAR, A.CELULAR, A.CELULAR2
FROM ramais A
,empresas_filiais B
,centros_custos C
WHERE A.COD_CAMPUS = B.COD_EMPRESA
AND A.COD_DEPTO = C.COD_CENTRO_CUSTO
ORDER BY B.NOM_FANTASIA, C.DESC_CENTRO_CUSTO, A.NOM_FUNCIONARIO, A.IDT_RAMAL
limit $inicial, $numreg") or die (mysql_error());
$cQuery_contar1 = mysql_query (" SELECT A.COD_RAMAL
FROM ramais A
,empresas_filiais B
,centros_custos C
WHERE A.COD_CAMPUS = B.COD_EMPRESA
AND A.COD_DEPTO = C.COD_CENTRO_CUSTO
ORDER BY B.NOM_FANTASIA, C.DESC_CENTRO_CUSTO, A.NOM_FUNCIONARIO, A.IDT_RAMAL") or die (mysql_error());
$quantreg = mysql_num_rows($cQuery_contar1);
}else{
// EXECUTANDO A QUERY PARA BUSCA DAS INFORMAÇÕES CONFORME FILTRO SOLICITADO
$cQuery = mysql_query(" SELECT A.COD_RAMAL
,B.NOM_FANTASIA
,C.DESC_CENTRO_CUSTO
,A.NOM_FUNCIONARIO
,A.DDD, A.TELEFONE, A.TELEFONE2
,A.IDT_FUNCAO
,A.IDT_RAMAL
,A.IDT_EMAIL
,A.DDD_CELULAR, A.CELULAR, A.CELULAR2
FROM ramais A
,empresas_filiais B
,centros_custos C
WHERE A.COD_CAMPUS = B.COD_EMPRESA
AND A.COD_DEPTO = C.COD_CENTRO_CUSTO
".$cCompQuery_Funcionario."
ORDER BY B.NOM_FANTASIA, C.DESC_CENTRO_CUSTO, A.NOM_FUNCIONARIO, A.IDT_RAMAL
limit $inicial, $numreg") or die ("retornou vazio");
$cQuery_contar2 = mysql_query(" SELECT A.COD_RAMAL
FROM ramais A
,empresas_filiais B
,centros_custos C
WHERE A.COD_CAMPUS = B.COD_EMPRESA
AND A.COD_DEPTO = C.COD_CENTRO_CUSTO
".$cCompQuery_Funcionario."
ORDER BY B.NOM_FANTASIA, C.DESC_CENTRO_CUSTO, A.NOM_FUNCIONARIO, A.IDT_RAMAL
") or die ("Nenhum resultado encontrado!");
$quantreg = mysql_num_rows($cQuery_contar2);
}
if ( (trim($_POST['txt_nome']) == "") and ( trim($_POST['cmb_campus']) != 0) and ( trim($_POST['cmb_depto']) == 0) ){
$cCompQuery_Campus = "AND A.COD_CAMPUS = '".$_POST['cmb_campus']."'";
// EXECUTANDO A QUERY PARA BUSCA DAS INFORMAÇÕES CONFORME FILTRO SOLICITADO
$cQuery = mysql_query(" SELECT A.COD_RAMAL
,B.NOM_FANTASIA
,C.DESC_CENTRO_CUSTO
,A.NOM_FUNCIONARIO
,A.DDD, A.TELEFONE, A.TELEFONE2
,A.IDT_FUNCAO
,A.IDT_RAMAL
,A.IDT_EMAIL
,A.DDD_CELULAR, A.CELULAR, A.CELULAR2
FROM ramais A
,empresas_filiais B
,centros_custos C
WHERE A.COD_CAMPUS = B.COD_EMPRESA
AND A.COD_DEPTO = C.COD_CENTRO_CUSTO
".$cCompQuery_Campus."
ORDER BY B.NOM_FANTASIA, C.DESC_CENTRO_CUSTO, A.NOM_FUNCIONARIO, A.IDT_RAMAL
limit $inicial, $numreg") or die ("Nenhum resultado encontrado!");
$cQuery_contar3 = mysql_query(" SELECT A.COD_RAMAL
FROM ramais A
,empresas_filiais B
,centros_custos C
WHERE A.COD_CAMPUS = B.COD_EMPRESA
AND A.COD_DEPTO = C.COD_CENTRO_CUSTO
".$cCompQuery_Campus."
ORDER BY B.NOM_FANTASIA, C.DESC_CENTRO_CUSTO, A.NOM_FUNCIONARIO, A.IDT_RAMAL
") or die ("Nenhum resultado encontrado!");
$quantreg = mysql_num_rows($cQuery_contar3);
}
if ( (trim($_POST['txt_nome']) == "") and ( trim($_POST['cmb_campus']) != 0) and ( trim($_POST['cmb_depto']) != 0) ){
$cCompQuery_Campus = "AND A.COD_CAMPUS = '".$_POST['cmb_campus']."'";
$cCompQuery_Depto = "AND C.COD_CENTRO_CUSTO = '".$_POST['cmb_depto']."'";
// EXECUTANDO A QUERY PARA BUSCA DAS INFORMAÇÕES CONFORME FILTRO SOLICITADO
$cQuery = mysql_query(" SELECT A.COD_RAMAL
,B.NOM_FANTASIA
,C.DESC_CENTRO_CUSTO
,A.NOM_FUNCIONARIO
,A.DDD, A.TELEFONE, A.TELEFONE2
,A.IDT_FUNCAO
,A.IDT_RAMAL
,A.IDT_EMAIL
,A.DDD_CELULAR, A.CELULAR, A.CELULAR2
FROM ramais A
,empresas_filiais B
,centros_custos C
WHERE A.COD_CAMPUS = B.COD_EMPRESA
AND A.COD_DEPTO = C.COD_CENTRO_CUSTO
".$cCompQuery_Campus."
".$cCompQuery_Depto."
ORDER BY B.NOM_FANTASIA, C.DESC_CENTRO_CUSTO, A.NOM_FUNCIONARIO, A.IDT_RAMAL
limit $inicial, $numreg") or die (mysql_error());
$cQuery_contar4 = mysql_query(" SELECT A.COD_RAMAL
FROM ramais A
,empresas_filiais B
,centros_custos C
WHERE A.COD_CAMPUS = B.COD_EMPRESA
AND A.COD_DEPTO = C.COD_CENTRO_CUSTO
".$cCompQuery_Campus."
".$cCompQuery_Depto."
ORDER BY B.NOM_FANTASIA, C.DESC_CENTRO_CUSTO, A.NOM_FUNCIONARIO, A.IDT_RAMAL
") or die (mysql_error());
$quantreg = mysql_num_rows($cQuery_contar4);
}
// $quantreg = mysql_num_rows($cQuery_contar);
//Verifica total de registros encontrados
if ($quantreg > 1){
echo "<font color=#FFFFFF span class=Estilo12-norm-branco> Foram encontrados ".$quantreg." resultados<br></font>";
}else if ($quantreg < 1){
echo "<font color=#CCCCCC span class=Estilo12-norm-branco> Foi encontrado ".$quantreg." resultado<br></font>";
}else if ($quantreg = 1){
echo "<font color=#CCCCCC span class=Estilo12-norm-branco> Foi encontrado ".$quantreg." resultado<br></font>";;
}
?>
</TD>
<TD WIDTH="368" ALIGN="CENTER">
<?php
include("paginacao.php");// Chama o arquivo que monta a paginação. ex: << anterior 1 2 3 4 5 próximo >>
?>
</TD>
<TD WIDTH="260" ALIGN="left" ><DIV ALIGN="right">
<INPUT TYPE="button" NAME="bt2" VALUE="» Voltar" onClick="javascript:window.location='?action=ramais/index&act=con_ramais.php';" CLASS="botao">
</DIV></TD>
</TR>
</TABLE>
<TABLE WIDTH="891" HEIGHT="335" BORDER="0" ALIGN="center" CELLPADDING="0" CELLSPACING="0" BORDERCOLOR="#eaeaea" STYLE="border-collapse: collapse" >
<TR>
<TD WIDTH="891" ALIGN="center" VALIGN="top">
<TABLE WIDTH="890" BORDER="1" ALIGN="center" CELLPADDING="2" CELLSPACING="0" BORDERCOLOR="#FFFFFF">
<?
if ($resultado = ''){
echo "<tr><td> Nenhuma Informação Encontrada !!!</td></tr>";
} else {
while($array=mysql_fetch_array($cQuery)){
if ($cCampusAnt != $array['NOM_FANTASIA']) {
$cCampusAnt = $array['NOM_FANTASIA'];
$cDeptoAnt = "";
?>
<TR BGCOLOR="#FFFF99">
<TD HEIGHT="25" COLSPAN="6" BGCOLOR="#FFFF99" CLASS="textomeu4"><DIV ALIGN="left"><FONT CLASS="titdestaque">Unidade : <? echo $array['NOM_FANTASIA']; ?></FONT></DIV></TD>
</TR> if ($cDeptoAnt != $array['DESC_CENTRO_CUSTO']) {
$cDeptoAnt = $array['DESC_CENTRO_CUSTO'];
?>
<TR BGCOLOR="#E2E2E2">
<TD HEIGHT="25" COLSPAN="6" BGCOLOR="#E2E2E2" CLASS="titdestaque"><DIV ALIGN="left"><B>Depto:</B> <? echo $array['DESC_CENTRO_CUSTO']?></DIV></TD>
</TR>
<TR BORDERCOLOR="#eaeaea">
<TD WIDTH="180" ALIGN="center" BGCOLOR="#FFFFCC" CLASS="textomeu"><B>Nome</B></TD>
<TD WIDTH="187" ALIGN="center" BGCOLOR="#FFFFCC" CLASS="textomeu"><B>Cargo</B></TD>
<TD WIDTH="109" ALIGN="center" BGCOLOR="#FFFFCC" CLASS="textomeu"><B>Telefone</B></TD>
<TD WIDTH="61" ALIGN="center" BGCOLOR="#FFFFCC" CLASS="textomeu"><B>Ramal</B></TD>
<TD WIDTH="206" ALIGN="center" BGCOLOR="#FFFFCC" CLASS="textomeu"><B>E-mail</B></TD>
<TD WIDTH="109" ALIGN="CENTER" BGCOLOR="#FFFFCC" CLASS="textomeu"><B>Celular</B></TD>
</TR>?>
<TR BORDERCOLOR="#eaeaea">
<TD WIDTH="180" CLASS="Estilo11-normal"><DIV ALIGN="left" CLASS="link-black"><? echo $array['NOM_FUNCIONARIO']; ?></DIV></TD>
<TD WIDTH="187" CLASS="Estilo11-normal"><DIV ALIGN="left"><? echo $array['IDT_FUNCAO']; ?></DIV></TD>
<TD WIDTH="109" ALIGN="CENTER" CLASS="Estilo11-normal"> (0XX<? echo $array['DDD'];?>) <SPAN CLASS="link-red"><? echo $array['TELEFONE']; ?>-<? echo $array['TELEFONE2'];?></SPAN></TD>
<TD WIDTH="61" ALIGN="CENTER" CLASS="link-red"> <? echo $array['IDT_RAMAL']; ?></TD>
<TD WIDTH="206" ALIGN="CENTER" CLASS="Estilo11-normal"><DIV ALIGN="left"><A HREF="mailto:<? echo $array['IDT_EMAIL']; ?>" CLASS="textomeu1"><? echo $array['IDT_EMAIL']; ?></A>
</DIV>
</div></TD>
<TD WIDTH="109" ALIGN="CENTER" CLASS="Estilo11-normal"> (0XX<? echo $array['DDD_CELULAR'];?>)<SPAN CLASS="link-red"> <? echo $array['CELULAR']; ?>-<? echo $array['CELULAR2']; ?></SPAN></TD>
</TR>?>
</TABLE>
<TABLE WIDTH="891" ALIGN="CENTER">
<TR><TD></TD></TR>
<TR BGCOLOR="#5B799F">
<TD HEIGHT="24" ALIGN="CENTER" BGCOLOR="#5B799F">
<?php
include("paginacao.php");// Chama o arquivo que monta a paginação. ex: << anterior 1 2 3 4 5 próximo >>
?> </TD>
</TR><TR><TD ALIGN="CENTER">
<INPUT NAME="bt1" TYPE="button" CLASS="botao" onClick="javascript:window.location='?action=ramais/index&act=con_ramais.php';" VALUE="» Voltar" >
</TD></TR></TABLE>
</TD>
</TR>
</TABLE>
</TD>
</TR>
</TABLE>
</td>
</tr>
</table>
</BODY>
</HTML>Carregando comentários...