Paginação codigo duvida
poderia me ajudar não está dando certo quando clico no proximo volta para a pagina inicial da busca com resultado em branco se puder me dizer onde está o erro fico muito grato estou realmente com duvida.
busca.php
paginacao.php
busca.php
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post"> Palavra:<input type="text" name="palavra" size="22" maxlength="150"> <input type="submit" value="Buscar"> </form> <br> <br /> <?php //######### INICIO Paginação $numreg = 6; // Quantos registros por página vai ser mostrado if (!isset($pg)) { $pg = 0; } $inicial = $_GET['pg'] * $numreg; //######### FIM dados Paginação if(!empty($HTTP_POST_VARS[palavra])) { $busca = explode(' ', $HTTP_POST_VARS['palavra']); foreach($busca as $palavra){ // Faz o Select pegando o registro inicial até a quantidade de registros para página $sql = mysql_query("select * from img WHERE tag LIKE '%".$palavra."%' LIMIT $inicial, $numreg"); // Serve para contar quantos registros você tem na sua tabela para fazer a paginação $sql_conta = mysql_query("SELECT * FROM img WHERE tag LIKE '%".$palavra."%'"); $quantreg = mysql_num_rows($sql_conta); // Quantidade de registros pra paginação // conta quantos registros encontrados com a nossa especificação if ($quantreg == 0) { echo "Nenhum resultado para $palavra!<br><br>"; } // se houver um resultado diz que existe um resultado if ($quantreg == 1) { echo "$quantreg resultado encontrado para $palavra!<br><br>"; } // se houver um resultado diz que existe um resultado if ($quantreg > 1) { echo "$quantreg resultados encontrados para $palavra!<br><br>"; } include("paginacao.php"); // Chama o arquivo que monta a paginação. ex: << anterior 1 2 3 4 5 próximo >> echo "<br><br>"; // Vai servir só para dar uma linha de espaço entre a paginação e o conteúdo while ($aux = mysql_fetch_array($sql)) { ?> <table width="400" border="0" align="center"> <tr align="left"> <td><? echo "<a href=\"imagem.php?link=".$aux[imagem]."\"><img src='/upload/$aux[imagem]' width=100 height=100 border=0/></a><br>" ?></td> <td><?= $aux['tag']."<br>"; ?></td> </tr> </table> <? } } } ?>
paginacao.php
<style type="text/css"> <!-- .pgoff {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #FF0000; text-decoration: none} a.pg {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #003366; text-decoration: none} a:hover.pg {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #0066cc; 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 ( $pg > 0) { echo "<a href=".$PHP_SELF."?pg=".($pg-1) ."class=pg>« anterior</a>"; } else { echo "<font color=#CCCCCC>« anterior</font>"; } // Aqui começa a alteração // faz o controle da quantidade de paginas irá mostrar em números na paginação if (($pg - 3) < 1 ){ $ant = 1; } else { $ant = $pg - 3; } if (($pg + 6) > $quant_pg ) { $pos = $quant_pg; } else { $pos = $pg + 6; } // Faz aparecer os numeros das página entre o ANTERIOR e PROXIMO for($i_pg=$ant;$i_pg < $pos;$i_pg++) { // Aqui termina a alteração // Verifica se a página que o navegante esta e retira o link do número para identificar visualmente if ($pg == ($i_pg-1)) { echo " <span class=pgoff>[$i_pg]</span> "; } else { $i_pg2 = $i_pg-1; echo " <a href=".$PHP_SELF."?pg=$i_pg2 class=pg>$i_pg</a> "; } } // Verifica se esta na ultima página, se nao estiver ele libera o link para próxima if (($pg+2) < $quant_pg) { echo "<a href=".$PHP_SELF."?pg=".($pg+1)." class=pg>próximo »</a>"; } else { echo "<font color=#CCCCCC>próximo »</font>"; } ?>
comentários (0)
suspender
Lista de Respostas:
30/10/2009 4:31pm
(~15 anos atrás)
(~15 anos atrás)
Voce tem que passar a query na url, ou coloca-la numa SESSION
tenta trocar
$busca = explode(' ', $HTTP_POST_VARS['palavra']);
por
$busca = explode(' ', $_REQUEST['palavra']);
e nos links da paginacao vc insere a query
"<a href=".$PHP_SELF."?busca=$busca&pg=".($pg+1)."
tenta trocar
$busca = explode(' ', $HTTP_POST_VARS['palavra']);
por
$busca = explode(' ', $_REQUEST['palavra']);
e nos links da paginacao vc insere a query
"<a href=".$PHP_SELF."?busca=$busca&pg=".($pg+1)."
31/10/2009 2:25pm
(~15 anos atrás)
(~15 anos atrás)
Mesmo apos mudanca continua retornando na paginação a clicar com resultado em branco retorna para a pagina busca sem nenhum resultado
31/10/2009 9:44pm
(~15 anos atrás)
(~15 anos atrás)
alterei o meu codigo mesmo assim não passa a paginação a busca e paginação contada certinho mais não passa a paginação se puder analisar meu codigo para o possivel erro nele por não continuar seque logo abaixo.
busca.php
[CODE]
$palavra = $_POST['palavra'];
if (!isset($_GET['pag'])){ //------- Se a página actual não estiver definida
$pag = 1; //------- Passa a estar, e é apresentada como sendo a 1ª.
}else{ //------- Se já estiver definida.
$pag = $_GET['pag']; //------- Usa-se a página que é.
}
$linhas_por_pag = 6; //-------Estamos a dizer quantos registos serão apresentados por página.
/*Definimos um principio para a busca na Base de Dados.
Que será a página($pag) X a quantidade de registo por página($linhas_por_pag) menos a mesma quantidade($linhas_por_página)*/
$inicio = (($pag*$linhas_por_pag) - $linhas_por_pag);
if (!empty($palavra)) {
//Fazemos a busca à base de dados limitando (LIMIT) a busca com $inicio e $linhas_por_pag préviamente definidos
$sql = mysql_query("SELECT * FROM img WHERE tag LIKE '%".$palavra."%' ORDER BY visitas DESC LIMIT $inicio, $linhas_por_pag");
?>
<table width="400" border="0" align="center" height="23">
<tr align="left">
<td height="19" width="104">Imagem</td>
<td height="19" width="282">
<p align="left">Descrição</p>
</td>
</tr>
</table>
<br>
<?
//Vamos buscar os dados à base de dados e adicionamos à tabela criada
while($row = mysql_fetch_array($sql)){
?>
<table width="400" border="0" align="center">
<tr align="left">
<td height="68" width="104"><? echo "<a href=imagem.php?link=$row[imagem]><img src='/upload/$row[imagem]' width=100 height=100 border=0/></a>" ?></td>
<td><p align="left"><? echo $row['tag']?></p></td>
</tr>
</table>
<?
}
$total_res = mysql_result(mysql_query("SELECT COUNT(*) as Num FROM img WHERE tag LIKE '%".$palavra."%'"), 0);
echo "<br><br>";
// conta quantos registros encontrados com a nossa especificação
if ($total_res == 0) {
echo "Nenhum resultado para $palavra!<br><br>";
}
// se houver um resultado diz que existe um resultado
if ($total_res == 1) {
echo "Encontrado $total_res resultado encontrado para $palavra!<br><br>";
}
// se houver um resultado diz que existe um resultado
if ($total_res > 1) {
echo "Encontrados $total_res resultados encontrados para $palavra!<br><br>";
}
echo "<br><br>";
$quant_pg = ceil($total_res/$linhas_por_pag);
// Verifica se esta na primeira página, se nao estiver ele libera o link para anterior
if ( $pg > 0) {
echo "<a href=busca.php?palavra=$palavra&pg=".($pg-1) ." class=pg>« anterior</a>";
} else {
echo "<font color=#CCCCCC>« anterior</font>";
}
// Aqui começa a alteração
// faz o controle da quantidade de paginas irá mostrar em números na paginação
if (($pg - 3) < 1 ){
$ant = 1;
} else {
$ant = $pg - 3;
}
if (($pg + 6) > $quant_pg ) {
$pos = $quant_pg;
} else {
$pos = $pg + 6;
}
// Faz aparecer os numeros das página entre o ANTERIOR e PROXIMO
for($i_pg=$ant;$i_pg < $pos;$i_pg++) {
// Aqui termina a alteração
// Verifica se a página que o navegante esta e retira o link do número para identificar visualmente
if ($pg == ($i_pg-1)) {
echo " <span class=pgoff>[$i_pg]</span> ";
} else {
$i_pg2 = $i_pg-1;
echo " <a href=busca.php?palavra=$palavra&pg=$i_pg2 class=pg>$i_pg</a> ";
}
}
// Verifica se esta na ultima página, se nao estiver ele libera o link para próxima
if (($pg+2) < $quant_pg) {
echo "<a href=busca.php?palavra=$palavra&pg=".($pg+1)." class=pg>próximo »</a>";
} else {
echo "<font color=#CCCCCC>próximo »</font>";
}
}
?>
[/CODE]
busca.php
[CODE]
$palavra = $_POST['palavra'];
if (!isset($_GET['pag'])){ //------- Se a página actual não estiver definida
$pag = 1; //------- Passa a estar, e é apresentada como sendo a 1ª.
}else{ //------- Se já estiver definida.
$pag = $_GET['pag']; //------- Usa-se a página que é.
}
$linhas_por_pag = 6; //-------Estamos a dizer quantos registos serão apresentados por página.
/*Definimos um principio para a busca na Base de Dados.
Que será a página($pag) X a quantidade de registo por página($linhas_por_pag) menos a mesma quantidade($linhas_por_página)*/
$inicio = (($pag*$linhas_por_pag) - $linhas_por_pag);
if (!empty($palavra)) {
//Fazemos a busca à base de dados limitando (LIMIT) a busca com $inicio e $linhas_por_pag préviamente definidos
$sql = mysql_query("SELECT * FROM img WHERE tag LIKE '%".$palavra."%' ORDER BY visitas DESC LIMIT $inicio, $linhas_por_pag");
?>
<table width="400" border="0" align="center" height="23">
<tr align="left">
<td height="19" width="104">Imagem</td>
<td height="19" width="282">
<p align="left">Descrição</p>
</td>
</tr>
</table>
<br>
<?
//Vamos buscar os dados à base de dados e adicionamos à tabela criada
while($row = mysql_fetch_array($sql)){
?>
<table width="400" border="0" align="center">
<tr align="left">
<td height="68" width="104"><? echo "<a href=imagem.php?link=$row[imagem]><img src='/upload/$row[imagem]' width=100 height=100 border=0/></a>" ?></td>
<td><p align="left"><? echo $row['tag']?></p></td>
</tr>
</table>
<?
}
$total_res = mysql_result(mysql_query("SELECT COUNT(*) as Num FROM img WHERE tag LIKE '%".$palavra."%'"), 0);
echo "<br><br>";
// conta quantos registros encontrados com a nossa especificação
if ($total_res == 0) {
echo "Nenhum resultado para $palavra!<br><br>";
}
// se houver um resultado diz que existe um resultado
if ($total_res == 1) {
echo "Encontrado $total_res resultado encontrado para $palavra!<br><br>";
}
// se houver um resultado diz que existe um resultado
if ($total_res > 1) {
echo "Encontrados $total_res resultados encontrados para $palavra!<br><br>";
}
echo "<br><br>";
$quant_pg = ceil($total_res/$linhas_por_pag);
// Verifica se esta na primeira página, se nao estiver ele libera o link para anterior
if ( $pg > 0) {
echo "<a href=busca.php?palavra=$palavra&pg=".($pg-1) ." class=pg>« anterior</a>";
} else {
echo "<font color=#CCCCCC>« anterior</font>";
}
// Aqui começa a alteração
// faz o controle da quantidade de paginas irá mostrar em números na paginação
if (($pg - 3) < 1 ){
$ant = 1;
} else {
$ant = $pg - 3;
}
if (($pg + 6) > $quant_pg ) {
$pos = $quant_pg;
} else {
$pos = $pg + 6;
}
// Faz aparecer os numeros das página entre o ANTERIOR e PROXIMO
for($i_pg=$ant;$i_pg < $pos;$i_pg++) {
// Aqui termina a alteração
// Verifica se a página que o navegante esta e retira o link do número para identificar visualmente
if ($pg == ($i_pg-1)) {
echo " <span class=pgoff>[$i_pg]</span> ";
} else {
$i_pg2 = $i_pg-1;
echo " <a href=busca.php?palavra=$palavra&pg=$i_pg2 class=pg>$i_pg</a> ";
}
}
// Verifica se esta na ultima página, se nao estiver ele libera o link para próxima
if (($pg+2) < $quant_pg) {
echo "<a href=busca.php?palavra=$palavra&pg=".($pg+1)." class=pg>próximo »</a>";
} else {
echo "<font color=#CCCCCC>próximo »</font>";
}
}
?>
[/CODE]
01/11/2009 9:33am
(~15 anos atrás)
(~15 anos atrás)
Diego,
tenta esse codigo.
busca.php
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
Palavra:<input type="text" name="palavra" size="22" maxlength="150">
<input type="submit" value="Buscar">
</form>
<br>
<br />
<?php
$con = mysql_connect("localhost","root","87252447");
mysql_select_db("projeto", $con);
//######### INICIO Paginação
$numreg = 1; // Quantos registros por página vai ser mostrado
if (!isset($_GET['pg'])) {
$pg = 0;
} else {
$pg = $_GET['pg'];
}
$inicial = $_GET['pg'] * $numreg;
//######### FIM dados Paginação
if(!empty($_REQUEST[palavra])) {
$busca = explode(' ', $_REQUEST['palavra']);
foreach($busca as $palavra){
// Faz o Select pegando o registro inicial até a quantidade de registros para página
$sql = mysql_query("select * from wm_muralderecados WHERE recado LIKE '%".$palavra."%' LIMIT $inicial, $numreg");
// Serve para contar quantos registros você tem na sua tabela para fazer a paginação
$sql_conta = mysql_query("SELECT * FROM wm_muralderecados WHERE recado LIKE '%".$palavra."%'");
$quantreg = mysql_num_rows($sql_conta); // Quantidade de registros pra paginação
// conta quantos registros encontrados com a nossa especificação
if ($quantreg == 0) {
echo "Nenhum resultado para $palavra!<br><br>";
}
// se houver um resultado diz que existe um resultado
if ($quantreg == 1) {
echo "$quantreg resultado encontrado para $palavra!<br><br>";
}
// se houver um resultado diz que existe um resultado
if ($quantreg > 1) {
echo "$quantreg resultados encontrados para $palavra!<br><br>";
}
include("paginacao.php"); // Chama o arquivo que monta a paginação. ex: << anterior 1 2 3 4 5 próximo >>
echo "<br><br>"; // Vai servir só para dar uma linha de espaço entre a paginação e o conteúdo
while ($aux = mysql_fetch_array($sql)) {
?>
<table width="400" border="0" align="center">
<tr align="left">
<td><?php echo $aux['recado']; ?></td>
</tr>
</table>
<?
}
}
}
?>
paginacao.php
<style type="text/css">
<!--
.pgoff {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #FF0000; text-decoration: none}
a.pg {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #003366; text-decoration: none}
a:hover.pg {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #0066cc; 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 ( $pg > 0) {
echo "<a href=".$PHP_SELF."?palavra=$palavra&pg=".($pg-1) ."class=pg>« anterior</a>";
} else {
echo "<font color=#CCCCCC>« anterior</font>";
}
// Aqui começa a alteração
// faz o controle da quantidade de paginas irá mostrar em números na paginação
if (($pg - 3) < 1 ){
$ant = 1;
} else {
$ant = $pg - 3;
}
if (($pg + 6) > $quant_pg ) {
$pos = $quant_pg;
} else {
$pos = $pg + 6;
}
// Faz aparecer os numeros das página entre o ANTERIOR e PROXIMO
for($i_pg=$ant;$i_pg < $pos;$i_pg++) {
// Aqui termina a alteração
// Verifica se a página que o navegante esta e retira o link do número para identificar visualmente
if ($pg == ($i_pg-1)) {
echo " <span class=pgoff>[$i_pg]</span> ";
} else {
$i_pg2 = $i_pg-1;
echo " <a href=".$PHP_SELF."?palavra=$palavra&pg=$i_pg2 class=pg>$i_pg</a> ";
}
}
// Verifica se esta na ultima página, se nao estiver ele libera o link para próxima
if (($pg+2) < $quant_pg) {
echo "<a href=".$PHP_SELF."?palavra=$palavra&pg=".($pg+1)." class=pg>próximo »</a>";
} else {
echo "<font color=#CCCCCC>próximo »</font>";
}
?>
tenta esse codigo.
busca.php
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
Palavra:<input type="text" name="palavra" size="22" maxlength="150">
<input type="submit" value="Buscar">
</form>
<br>
<br />
<?php
$con = mysql_connect("localhost","root","87252447");
mysql_select_db("projeto", $con);
//######### INICIO Paginação
$numreg = 1; // Quantos registros por página vai ser mostrado
if (!isset($_GET['pg'])) {
$pg = 0;
} else {
$pg = $_GET['pg'];
}
$inicial = $_GET['pg'] * $numreg;
//######### FIM dados Paginação
if(!empty($_REQUEST[palavra])) {
$busca = explode(' ', $_REQUEST['palavra']);
foreach($busca as $palavra){
// Faz o Select pegando o registro inicial até a quantidade de registros para página
$sql = mysql_query("select * from wm_muralderecados WHERE recado LIKE '%".$palavra."%' LIMIT $inicial, $numreg");
// Serve para contar quantos registros você tem na sua tabela para fazer a paginação
$sql_conta = mysql_query("SELECT * FROM wm_muralderecados WHERE recado LIKE '%".$palavra."%'");
$quantreg = mysql_num_rows($sql_conta); // Quantidade de registros pra paginação
// conta quantos registros encontrados com a nossa especificação
if ($quantreg == 0) {
echo "Nenhum resultado para $palavra!<br><br>";
}
// se houver um resultado diz que existe um resultado
if ($quantreg == 1) {
echo "$quantreg resultado encontrado para $palavra!<br><br>";
}
// se houver um resultado diz que existe um resultado
if ($quantreg > 1) {
echo "$quantreg resultados encontrados para $palavra!<br><br>";
}
include("paginacao.php"); // Chama o arquivo que monta a paginação. ex: << anterior 1 2 3 4 5 próximo >>
echo "<br><br>"; // Vai servir só para dar uma linha de espaço entre a paginação e o conteúdo
while ($aux = mysql_fetch_array($sql)) {
?>
<table width="400" border="0" align="center">
<tr align="left">
<td><?php echo $aux['recado']; ?></td>
</tr>
</table>
<?
}
}
}
?>
paginacao.php
<style type="text/css">
<!--
.pgoff {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #FF0000; text-decoration: none}
a.pg {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #003366; text-decoration: none}
a:hover.pg {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #0066cc; 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 ( $pg > 0) {
echo "<a href=".$PHP_SELF."?palavra=$palavra&pg=".($pg-1) ."class=pg>« anterior</a>";
} else {
echo "<font color=#CCCCCC>« anterior</font>";
}
// Aqui começa a alteração
// faz o controle da quantidade de paginas irá mostrar em números na paginação
if (($pg - 3) < 1 ){
$ant = 1;
} else {
$ant = $pg - 3;
}
if (($pg + 6) > $quant_pg ) {
$pos = $quant_pg;
} else {
$pos = $pg + 6;
}
// Faz aparecer os numeros das página entre o ANTERIOR e PROXIMO
for($i_pg=$ant;$i_pg < $pos;$i_pg++) {
// Aqui termina a alteração
// Verifica se a página que o navegante esta e retira o link do número para identificar visualmente
if ($pg == ($i_pg-1)) {
echo " <span class=pgoff>[$i_pg]</span> ";
} else {
$i_pg2 = $i_pg-1;
echo " <a href=".$PHP_SELF."?palavra=$palavra&pg=$i_pg2 class=pg>$i_pg</a> ";
}
}
// Verifica se esta na ultima página, se nao estiver ele libera o link para próxima
if (($pg+2) < $quant_pg) {
echo "<a href=".$PHP_SELF."?palavra=$palavra&pg=".($pg+1)." class=pg>próximo »</a>";
} else {
echo "<font color=#CCCCCC>próximo »</font>";
}
?>
01/11/2009 1:06pm
(~15 anos atrás)
(~15 anos atrás)
Melhor Diego.
busca.php
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
Palavra:<input type="text" name="palavra" size="22" maxlength="150">
<input type="submit" value="Buscar">
</form>
<br>
<br />
<?php
$con = mysql_connect("localhost","root","87252447");
mysql_select_db("projeto", $con);
//######### INICIO Paginação
$numreg = 1; // Quantos registros por página vai ser mostrado
if (!isset($_GET['pg'])) {
$pg = 0;
} else {
$pg = $_GET['pg'];
}
$inicial = $_GET['pg'] * $numreg;
//######### FIM dados Paginação
if(!empty($_REQUEST[palavra])) {
$busca = explode(' ', $_REQUEST['palavra']);
foreach($busca as $palavra){
// Faz o Select pegando o registro inicial até a quantidade de registros para página
mysql_query("select * from img WHERE tag LIKE '%".$palavra."%' LIMIT $inicial, $numreg");
// Serve para contar quantos registros você tem na sua tabela para fazer a paginação
$sql_conta = mysql_query("SELECT * FROM wm_muralderecados WHERE recado LIKE '%".$palavra."%'");
$quantreg = mysql_num_rows($sql_conta); // Quantidade de registros pra paginação
// conta quantos registros encontrados com a nossa especificação
if ($quantreg == 0) {
echo "Nenhum resultado para $palavra!<br><br>";
}
// se houver um resultado diz que existe um resultado
if ($quantreg == 1) {
echo "$quantreg resultado encontrado para $palavra!<br><br>";
}
// se houver um resultado diz que existe um resultado
if ($quantreg > 1) {
echo "$quantreg resultados encontrados para $palavra!<br><br>";
}
include("paginacao.php"); // Chama o arquivo que monta a paginação. ex: << anterior 1 2 3 4 5 próximo >>
echo "<br><br>"; // Vai servir só para dar uma linha de espaço entre a paginação e o conteúdo
while ($aux = mysql_fetch_array($sql)) {
?>
<table width="400" border="0" align="center">
<tr align="left">
<td><? echo "<a href=\"imagem.php?link=".$aux[imagem]."\"><img src='/upload/$aux[imagem]' width=100 height=100 border=0/></a><br>" ?></td>
<td><?= $aux['tag']."<br>"; ?></td>
</tr>
</table>
<?
}
}
}
?>
paginacao.php
<style type="text/css">
<!--
.pgoff {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #FF0000; text-decoration: none}
a.pg {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #003366; text-decoration: none}
a:hover.pg {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #0066cc; 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 ( $pg > 0) {
echo "<a href=".$PHP_SELF."?palavra=$palavra&pg=".($pg-1) ."class=pg>« anterior</a>";
} else {
echo "<font color=#CCCCCC>« anterior</font>";
}
// Aqui começa a alteração
// faz o controle da quantidade de paginas irá mostrar em números na paginação
if (($pg - 3) < 1 ){
$ant = 1;
} else {
$ant = $pg - 3;
}
if (($pg + 6) > $quant_pg ) {
$pos = $quant_pg;
} else {
$pos = $pg + 6;
}
// Faz aparecer os numeros das página entre o ANTERIOR e PROXIMO
for($i_pg=$ant;$i_pg < $pos;$i_pg++) {
// Aqui termina a alteração
// Verifica se a página que o navegante esta e retira o link do número para identificar visualmente
if ($pg == ($i_pg-1)) {
echo " <span class=pgoff>[$i_pg]</span> ";
} else {
$i_pg2 = $i_pg-1;
echo " <a href=".$PHP_SELF."?palavra=$palavra&pg=$i_pg2 class=pg>$i_pg</a> ";
}
}
// Verifica se esta na ultima página, se nao estiver ele libera o link para próxima
if (($pg+2) < $quant_pg) {
echo "<a href=".$PHP_SELF."?palavra=$palavra&pg=".($pg+1)." class=pg>próximo »</a>";
} else {
echo "<font color=#CCCCCC>próximo »</font>";
}
?>
busca.php
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
Palavra:<input type="text" name="palavra" size="22" maxlength="150">
<input type="submit" value="Buscar">
</form>
<br>
<br />
<?php
$con = mysql_connect("localhost","root","87252447");
mysql_select_db("projeto", $con);
//######### INICIO Paginação
$numreg = 1; // Quantos registros por página vai ser mostrado
if (!isset($_GET['pg'])) {
$pg = 0;
} else {
$pg = $_GET['pg'];
}
$inicial = $_GET['pg'] * $numreg;
//######### FIM dados Paginação
if(!empty($_REQUEST[palavra])) {
$busca = explode(' ', $_REQUEST['palavra']);
foreach($busca as $palavra){
// Faz o Select pegando o registro inicial até a quantidade de registros para página
mysql_query("select * from img WHERE tag LIKE '%".$palavra."%' LIMIT $inicial, $numreg");
// Serve para contar quantos registros você tem na sua tabela para fazer a paginação
$sql_conta = mysql_query("SELECT * FROM wm_muralderecados WHERE recado LIKE '%".$palavra."%'");
$quantreg = mysql_num_rows($sql_conta); // Quantidade de registros pra paginação
// conta quantos registros encontrados com a nossa especificação
if ($quantreg == 0) {
echo "Nenhum resultado para $palavra!<br><br>";
}
// se houver um resultado diz que existe um resultado
if ($quantreg == 1) {
echo "$quantreg resultado encontrado para $palavra!<br><br>";
}
// se houver um resultado diz que existe um resultado
if ($quantreg > 1) {
echo "$quantreg resultados encontrados para $palavra!<br><br>";
}
include("paginacao.php"); // Chama o arquivo que monta a paginação. ex: << anterior 1 2 3 4 5 próximo >>
echo "<br><br>"; // Vai servir só para dar uma linha de espaço entre a paginação e o conteúdo
while ($aux = mysql_fetch_array($sql)) {
?>
<table width="400" border="0" align="center">
<tr align="left">
<td><? echo "<a href=\"imagem.php?link=".$aux[imagem]."\"><img src='/upload/$aux[imagem]' width=100 height=100 border=0/></a><br>" ?></td>
<td><?= $aux['tag']."<br>"; ?></td>
</tr>
</table>
<?
}
}
}
?>
paginacao.php
<style type="text/css">
<!--
.pgoff {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #FF0000; text-decoration: none}
a.pg {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #003366; text-decoration: none}
a:hover.pg {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #0066cc; 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 ( $pg > 0) {
echo "<a href=".$PHP_SELF."?palavra=$palavra&pg=".($pg-1) ."class=pg>« anterior</a>";
} else {
echo "<font color=#CCCCCC>« anterior</font>";
}
// Aqui começa a alteração
// faz o controle da quantidade de paginas irá mostrar em números na paginação
if (($pg - 3) < 1 ){
$ant = 1;
} else {
$ant = $pg - 3;
}
if (($pg + 6) > $quant_pg ) {
$pos = $quant_pg;
} else {
$pos = $pg + 6;
}
// Faz aparecer os numeros das página entre o ANTERIOR e PROXIMO
for($i_pg=$ant;$i_pg < $pos;$i_pg++) {
// Aqui termina a alteração
// Verifica se a página que o navegante esta e retira o link do número para identificar visualmente
if ($pg == ($i_pg-1)) {
echo " <span class=pgoff>[$i_pg]</span> ";
} else {
$i_pg2 = $i_pg-1;
echo " <a href=".$PHP_SELF."?palavra=$palavra&pg=$i_pg2 class=pg>$i_pg</a> ";
}
}
// Verifica se esta na ultima página, se nao estiver ele libera o link para próxima
if (($pg+2) < $quant_pg) {
echo "<a href=".$PHP_SELF."?palavra=$palavra&pg=".($pg+1)." class=pg>próximo »</a>";
} else {
echo "<font color=#CCCCCC>próximo »</font>";
}
?>