problema com paginação.
E ai pessoal mais uma vez venho a procura de ajuda.
seguinte, eu tenho um código onde pela tag html <select> faz uma pesquisa no banco
e mostra os resultados, mas como pode ter uma quantidade enorme de de resultado
eu coloquei uma paginação.
O problema está na paginação, pois como fica em outro arquivo a paginação não funciona direito,
gostaria muito da ajuda de vocês.
Peça.php
<table class="menucentral" >
<tr>
<td width="114" align="center">
<select name="busca" id="busca" onchange="buscar_o_que_procura(this.value)">
<?php
$sql_peca = "SELECT * FROM tipo_peca ORDER BY tipo_peca ASC";
$sql_peca = executaQuery($sql_peca) or die(mysql_error());
while($ln = mysql_fetch_array($sql_peca)){
echo '<option value="'.$ln['idtipo_peca'].'" id="busca" onkeyup="buscar_o_que_procura(this.value)">'.$ln['tipo_peca'].'</option>';
}
?>
</select>
</td>
</tr>
</table>
Busca.php
<?php
// Recebe o valor enviado
$valor = $_GET['valor'];
$numreg = 12; // Quantos registros por página vai ser mostrado
if (!isset($pg)) {
$pg = 0;
}
$inicial = @$_GET['pg'] * $numreg;
$sql = executaQuery("SELECT pecas.peca,pecas.descricao_peca,pecas.img_peca,tipo_peca.idtipo_peca, tipo_peca.tipo_peca FROM pecas INNER JOIN tipo_peca ON pecas.tipo_peca_idtipo_peca = tipo_peca.idtipo_peca WHERE pecas.tipo_peca_idtipo_peca='".$valor."' AND tipo_peca.idtipo_peca ='".$valor."' LIMIT $inicial, $numreg");
$sql_conta = executaQuery( "SELECT pecas.peca,pecas.descricao_peca,pecas.img_peca,tipo_peca.idtipo_peca, tipo_peca.tipo_peca FROM pecas INNER JOIN tipo_peca ON pecas.tipo_peca_idtipo_peca = tipo_peca.idtipo_peca WHERE pecas.tipo_peca_idtipo_peca='".$valor."' AND tipo_peca.idtipo_peca ='".$valor."'");
$quantreg = mysql_num_rows($sql_conta); // Quantidade de registros pra paginação
if($quantreg ==0){
echo '<table border="0" class="semregistro">';
echo "<tr>";
echo "<td>";
echo'Não foi encontrado nenhum Registro.';
echo "</td>";
echo "</tr>";
echo "</table>";
}else{
echo '<table border="0" class="comregistro">';
$colunas = 3;
$i = 1;
while ($linhas = mysql_fetch_array($sql)) {
$img = $linhas['img_peca'];
$peca = $linhas['peca'];
$idpeca = $linhas['idpeca'];
$resto=$i%$colunas;
echo"<td width='10px' height='10px'>";
echo"<td align='center' class='produtos'>";
echo"<img src='../css/img/fotos_pecas/$img'width='200px' height='110px'alt='$peca'><br />\n";
$peca=(strlen($peca) > 20 ? substr($peca, 0, 20).'...' : $peca);
echo "$peca<br />\n";
echo"<a href='detalhes/detalhes_todas.php?detalhesdabicicleta=$idpeca'>Detalhes</a><br />\n";
echo"</a>";
echo"</td>";
if($resto == 0){
print "</tr>";
print "<tr>";
}
$i++;
}
$resto=0;
if($resto != 0){ echo'have a problem';
}
}
echo"</table>";
print"<div id='cont'>";
require_once $_SERVER['DOCUMENT_ROOT']."/paginacao/paginacao.php";
print "<br><br>"; // Vai servir só para dar uma linha de espaço entre a paginação e o conteúdo
print"</div>";
print"</div>";
?>
func.js
var req;
// FUNÇÃO PARA BUSCA DO QUE PROCURA
function buscar_o_que_procura(valor) {
// Verificando Browser
if(window.XMLHttpRequest) {
req = new XMLHttpRequest();
}
else if(window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
// Arquivo PHP juntamente com o valor digitado no campo (método GET)
var url = "busca.php?valor="+valor;
// Chamada do método open para processar a requisição
req.open("Get", url, true);
// Quando o objeto recebe o retorno, chamamos a seguinte função;
req.onreadystatechange = function() {
// Exibe a mensagem "Buscando usuario..." enquanto carrega
// Resultado é o nome da div que está lá no teste.php
if(req.readyState == 1) {
document.getElementById('resultado').innerHTML = 'aguarde ...';
}
// Verifica se o Ajax realizou todas as operações corretamente
if(req.readyState == 4 && req.status == 200) {
// Resposta retornada pelo busca.php
var resposta = req.responseText;
// Abaixo colocamos a(s) resposta(s) na div resultado que está lá no teste.php
document.getElementById('resultado').innerHTML = resposta;
}
}
req.send(null);
}
Paginação.php
<style type="text/css">
<!--
.pgoff {font-family: Verdana, Arial, Helvetica; font-size: 12px; color: black; text-decoration: none}
a.pg {font-family: Verdana, Arial, Helvetica; font-size: 12px; color: blue; text-decoration: none}
a:hover.pg {font-family: Verdana, Arial, Helvetica; font-size: 12px; color: white; text-decoration:underline}
-->
</style>
<?php
$quant_pg = ceil($quantreg/$numreg);
$quant_pg++;
// Verifica se esta na primeira página, se nao estiver ele libera o link para anterior
if ( @$_GET['pg'] > 0) {
echo "<a href=".$_SERVER['PHP_SELF']."?pg=".(@$_GET['pg']-1)." class=pg ><b>« Anterior</b></a>";} else {
echo "<font color=black>« 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['PHP_SELF']."?pg=$i_pg2 class=pg><b>$i_pg</b></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=".$_SERVER['PHP_SELF']."?pg=".(@$_GET['pg']+1)." class=pg ><b> Próximo »</b></a>";} else {
echo "<font color=black> Próximo »</font>";
}
?>Discussão (2)
Carregando comentários...