Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

RamonTav

[Resolvido] Problema com Páginação e Busca

Recommended Posts

Boa Tarde Galera mais uma vez quero pedir uma ajudinha :)

 

Estou com 2 codigos um é de paginação e o outro é de busca, eu gostaria que meu sistema de busca ficasse com com esta páginação.

 

PÁGINAÇÃO

 

<?php 
$db = "db";
@mysql_connect("localhost", "usuario", "senha") or trigger_error(mysql_error(),E_USER_ERROR);
mysql_select_db($db);
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Paginação Avançada com PHP</title>
<link rel="stylesheet" type="text/css" href="estilo.css" />
</head>

<body>
<div class="global-div">

<h1>Paginação Avançada com PHP</h1>

<?php

$pag = ($_GET['pag']);
$pag = filter_var($pag, FILTER_VALIDATE_INT);

$inicio = 0;
$limite = 1	;

if ($pag!='')
{
$inicio = $pag - 1;
} 

$busca_total = mysql_query("SELECT COUNT(*) as total FROM artigos");
$total = mysql_fetch_array($busca_total);
$total = $total['total'];

$busca = mysql_query("SELECT * FROM artigos LIMIT $inicio, $limite");
if (mysql_num_rows($busca)>0)
{
	while ($texto = mysql_fetch_array($busca))
	{
		extract($texto);
		echo '<h2>'.$titulo.'</h2>';
		echo '<p>'. nl2br($artigo).'</p>';
	}

$prox = $pag + 1;
$ant = $pag - 1;
$ultima_pag = ceil($total / $limite);
$penultima = $ultima_pag - 1;	
$adjacentes = 2;

echo '<div class="paginacao">';

if ($pag>1)
{
	$paginacao = '<a href="index.php?pag='.$ant.'">anterior</a>';
}


if ($ultima_pag <= 5)
{
for ($i=1; $i< $ultima_pag+1; $i++)
{
	if ($i == $pag)
	{
		$paginacao .= '<a class="atual" href="index.php?pag='.$i.'">'.$i.'</a>';				
	} else {
		$paginacao .= '<a href="index.php?pag='.$i.'">'.$i.'</a>';	
	}
}
} 

if ($ultima_pag > 5)
{
if ($pag < 1 + (2 * $adjacentes))
{
	for ($i=1; $i< 2 + (2 * $adjacentes); $i++)
	{
		if ($i == $pag)
		{
			$paginacao .= '<a class="atual" href="index.php?pag='.$i.'">'.$i.'</a>';				
		} else {
			$paginacao .= '<a href="index.php?pag='.$i.'">'.$i.'</a>';	
		}
	}
	$paginacao .= '...';
	$paginacao .= '<a href="index.php?pag='.$penultima.'">'.$penultima.'</a>';
	$paginacao .= '<a href="index.php?pag='.$ultima_pag.'">'.$ultima_pag.'</a>';
}
elseif($pag > (2 * $adjacentes) && $pag < $ultima_pag - 3)
{
	$paginacao .= '<a href="index.php?pag=1">1</a>';				
	$paginacao .= '<a href="index.php?pag=1">2</a> ... ';	
	for ($i = $pag-$adjacentes; $i<= $pag + $adjacentes; $i++)
	{
		if ($i == $pag)
		{
			$paginacao .= '<a class="atual" href="index.php?pag='.$i.'">'.$i.'</a>';				
		} else {
			$paginacao .= '<a href="index.php?pag='.$i.'">'.$i.'</a>';	
		}
	}
	$paginacao .= '...';
	$paginacao .= '<a href="index.php?pag='.$penultima.'">'.$penultima.'</a>';
	$paginacao .= '<a href="index.php?pag='.$ultima_pag.'">'.$ultima_pag.'</a>';
}
else {
	$paginacao .= '<a href="index.php?pag=1">1</a>';				
	$paginacao .= '<a href="index.php?pag=1">2</a> ... ';	
	for ($i = $ultima_pag - (4 + (2 * adjacentes)); $i <= $ultima_pag; $i++)
	{
		if ($i == $pag)
		{
			$paginacao .= '<a class="atual" href="index.php?pag='.$i.'">'.$i.'</a>';				
		} else {
			$paginacao .= '<a href="index.php?pag='.$i.'">'.$i.'</a>';	
		}
	}
}
}

}


if ($prox <= $ultima_pag && $ultima_pag > 2)
{
	$paginacao .= '<a href="index.php?pag='.$prox.'">próxima »</a>';
}

	echo $paginacao;

echo '</div>';
?>

</div>

</body>
</html>

 

BUSCA

<form method="GET" action="http://www.meusite.com.br/busca.php">
<fieldset>
<label for="consulta">Buscar:</label>
<input type="text" id="consulta" name="consulta" maxlength="255" />
<input type="submit" value="OK" />
</fieldset>
</form>

<?php

// Verifica se foi feita alguma busca
// Caso contrario, redireciona o visitante
if (!isset($_GET['consulta'])) {
header("Location: http://www.meusite.com.br/");
exit;
}
// Se houve busca, continue o script:

// Salva o que foi buscado em uma variável
$busca = $_GET['consulta'];
// Usa a função mysql_real_escape_string() para evitar erros no MySQL
$busca = mysql_real_escape_string($busca);

// ============================================

// Monta outra consulta MySQL para a busca
$sql = "SELECT * FROM `noticias` WHERE (`ativa` = 1) AND ((`titulo` LIKE '%".$busca."%') OR ('%".$busca."%')) ORDER BY `cadastro` DESC";
// Executa a consulta
$query = mysql_query($sql);

// ============================================

// Começa a exibição dos resultados
echo "<ul>";
while ($resultado = mysql_fetch_assoc($query)) {
$titulo = $resultado['titulo'];
$texto = $resultado['texto'];
$link = 'http://www.meusite.com.br/noticia.php?id=' . $resultado['id'];
echo "<li>";
echo '<a href="'.$link.'" title="'.$titulo.'">'.$titulo.'</a><br />';
echo date('d/m/Y H:i', strtotime($resultado['cadastro']));
echo '<p>'.$texto.'</p>';
echo '<a href="'.$link.'" title="'.$titulo.'">'.$link.'</a>';
echo "</li>";
}
echo "</ul>";
?>

 

Ja quebrei a kbça e nada =/ se alguem puder me dar uma forcinha de como ficaria meu código agradeço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você vai precisar modificar sua query de busca modificando qual porção de dados será retornada integrando parâmetros GET, para condicionar a página da vez, com uma cláusula LIMIT COM offset.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Basicamente, no final da query você adiciona:

 

 LIMIT X,Y

No lugar do X você coloca o valor da página desejada multiplicado pelo número de registros por página.

 

E no lugar do Y, o número de registros por página.

 

Esse valor da página vêm através via URL: www.domain.com/search.php?page=1 e você pega como $_GET['page']

 

Isso é a base, agora coloque em código e veja se funciona. Se não, poste sua tentativa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mais uma vez venho aqui agradeçer sua atenção Bruno haja paciência :D Vamos lá...

 

O LIMIT e o GET ja estão sendo executados la no inicio da página da uma olhada como fiz meu codigo

 

$pag = ($_GET['pag']);
$pag = filter_var($pag, FILTER_VALIDATE_INT);

$inicio = 0;
$limite = 1	;

if ($pag!='')
{
$inicio = $pag - 1;
} 

$busca_total = mysql_query("SELECT COUNT(*) AS total FROM `noticias` WHERE (`ativa` = 1) AND ((`titulo` LIKE '%".$pag."%') OR ('%".$pag."%'))");
$total = mysql_fetch_array($busca_total);
$total = $total['total'];

$busca = mysql_query("SELECT * FROM noticias LIMIT $inicio, $limite");
if (mysql_num_rows($busca)>0)
{
	while ($texto = mysql_fetch_array($busca))
	{
		extract($texto);
		echo '<h2>'.$titulo.'</h2>';
		echo '<p>'. nl2br($texto).'</p>';
	}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo visto não funcionou né? Mas você também você não fez o que eu disse xD

 

Ou se fez não percei onde xD 2

 

Veja, a lógica para o X é multiplicar o número da página pelo valor de Y e o Y sim, este é fixo:

 

$y = 50; // Resultados por página
$x = ( isset( $_GET['page'] ) && ! empty( $_GET['page'] ) ? $_GET['page'] : 1 );

$x *= $y;

Daí na query você faz como já fez, porém trocando os nomes variáveis, claro. Eu usei X e Y para ilustrar como eu tiha explicado anteriormente.

 

Veja se agora dá certo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiz oq você me disse e não deu certo =/ o sistema de busca ainda não consegue páginar =/ tipo eu posso postar o link da páginação para você da um saque e me ajudar a implementar a busca nela? é que la esta mais explicativo e talz!

 

$limite = 2; // Resultados por página $inicio = ( isset( $_GET['pag'] ) && ! empty( $_GET['pag'] ) ? $_GET['pag'] : 1 );  $inicio *= $limite

 

Mais tipo esta linha aqui faz a mesma coisa que você disse ela limita as páginas e talz!

$pag = ($_GET['pag']);
$pag = filter_var($pag, FILTER_VALIDATE_INT);

$inicio = 0;
$limite = 50;

if ($pag!='')
{
$inicio = ($pag - 1) * $limite;
} 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se tiver um link online seria melhor.

 

No fundo, no fundo, eu vejo a lógica como certa, e por isso acredito que você não esteja construindo seus links certo.

 

Quanto ao seu bloco de código, agora ele reflete o que eu disse. Antes você não multiplicava nada. ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Me desculpa Bruno eu fiz oq você disse mais se eu fiz errado foi pq ainda estou começando a entender o php =/ eu estou estudando e talz so q ainda n ta entrando na minha cabeça =/ muitas coisas eu consigo resolver mais isso ai ta me tirando o sono to passando horas no pc fico horas sem comer sem dormir tentando mais n consigo =/ e Bruno mais uma vez obrigado kra pela paciencia e pela vontade de ajudar!

 

Bruno Achei um sistema de paginação bem mais simples e facil de entender aqui mesmo no forum segue o link

 

http://forum.imasters.com.br/topic/192785-script-para-paginacao-bem-simples/

 

Agora so estou com duvida de como implantar a busca nela =/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ae Bruno to quase la man eu consegui deixar bem melhor os unicos problemas que eu estou tendo é o seguinte

 

Clico no Form com o campo vazio e ele me mostra todos os itens cadastrados na minha tabela

e quando eu faço a pesquisa por algum nome no campo acontece o mesmo vai o codigo

 

<? include('conexao.php');?>
<?php
//######### INICIO Paginação
       $numreg = 2; // Quantos registros por página vai ser mostrado
       if (!isset($pg)) {
               $pg = 0;
       }
       $inicial = $pg * $numreg;

//######### FIM dados Paginação
       // Salva o que foi buscado em uma variável
	$busca = $_GET['busca'];
	// Usa a função mysql_real_escape_string() para evitar erros no MySQL
	$busca = mysql_real_escape_string($busca);

       // Faz o Select pegando o registro inicial até a quantidade de registros para página
       $sql = mysql_query("SELECT * FROM noticias LIMIT $inicial, $numreg");

       // Serve para contar quantos registros você tem na seua tabela para fazer a paginação
       $sql_conta = mysql_query("SELECT * FROM `noticias` WHERE (`ativa` = 1) AND ((`titulo` LIKE '%".$busca."%') OR ('%".$busca."%')) ORDER BY `cadastro` DESC");

       $quantreg = mysql_num_rows($sql_conta); // Quantidade de registros pra paginação
       print("Sua busca retornou <b>$quantreg</b> resultados.<br>\n");

       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

       // Começa a exibição dos resultados
	echo "<ul>";
	while ($resultado = mysql_fetch_assoc($sql)) {
	$titulo = $resultado['titulo'];
	$texto = $resultado['texto'];
	$link = 'http://www.meusite.com.br/noticia.php?id=' . $resultado['id'];
	echo "<li>";
	echo '<a href="'.$link.'" title="'.$titulo.'">'.$titulo.'</a><br />';
	echo date('d/m/Y H:i', strtotime($resultado['cadastro']));
	echo '<p>'.$texto.'</p>';
	echo '<a href="'.$link.'" title="'.$titulo.'">'.$link.'</a>';
	echo "</li>";
	}
	echo "</ul>";
?> 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa Tarde Galera mais uma vez quero pedir uma ajudinha :)

 

Estou com 2 codigos um é de paginação e o outro é de busca, eu gostaria que meu sistema de busca ficasse com com esta páginação.

 

PÁGINAÇÃO

 

<?php 
$db = "db";
@mysql_connect("localhost", "usuario", "senha") or trigger_error(mysql_error(),E_USER_ERROR);
mysql_select_db($db);
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Paginação Avançada com PHP</title>
<link rel="stylesheet" type="text/css" href="estilo.css" />
</head>

<body>
<div class="global-div">

<h1>Paginação Avançada com PHP</h1>

<?php

$pag = ($_GET['pag']);
$pag = filter_var($pag, FILTER_VALIDATE_INT);

$inicio = 0;
$limite = 1	;

if ($pag!='')
{
$inicio = $pag - 1;
} 

$busca_total = mysql_query("SELECT COUNT(*) as total FROM artigos");
$total = mysql_fetch_array($busca_total);
$total = $total['total'];

$busca = mysql_query("SELECT * FROM artigos LIMIT $inicio, $limite");
if (mysql_num_rows($busca)>0)
{
	while ($texto = mysql_fetch_array($busca))
	{
		extract($texto);
		echo '<h2>'.$titulo.'</h2>';
		echo '<p>'. nl2br($artigo).'</p>';
	}

$prox = $pag + 1;
$ant = $pag - 1;
$ultima_pag = ceil($total / $limite);
$penultima = $ultima_pag - 1;	
$adjacentes = 2;

echo '<div class="paginacao">';

if ($pag>1)
{
	$paginacao = '<a href="index.php?pag='.$ant.'">anterior</a>';
}


if ($ultima_pag <= 5)
{
for ($i=1; $i< $ultima_pag+1; $i++)
{
	if ($i == $pag)
	{
		$paginacao .= '<a class="atual" href="index.php?pag='.$i.'">'.$i.'</a>';				
	} else {
		$paginacao .= '<a href="index.php?pag='.$i.'">'.$i.'</a>';	
	}
}
} 

if ($ultima_pag > 5)
{
if ($pag < 1 + (2 * $adjacentes))
{
	for ($i=1; $i< 2 + (2 * $adjacentes); $i++)
	{
		if ($i == $pag)
		{
			$paginacao .= '<a class="atual" href="index.php?pag='.$i.'">'.$i.'</a>';				
		} else {
			$paginacao .= '<a href="index.php?pag='.$i.'">'.$i.'</a>';	
		}
	}
	$paginacao .= '...';
	$paginacao .= '<a href="index.php?pag='.$penultima.'">'.$penultima.'</a>';
	$paginacao .= '<a href="index.php?pag='.$ultima_pag.'">'.$ultima_pag.'</a>';
}
elseif($pag > (2 * $adjacentes) && $pag < $ultima_pag - 3)
{
	$paginacao .= '<a href="index.php?pag=1">1</a>';				
	$paginacao .= '<a href="index.php?pag=1">2</a> ... ';	
	for ($i = $pag-$adjacentes; $i<= $pag + $adjacentes; $i++)
	{
		if ($i == $pag)
		{
			$paginacao .= '<a class="atual" href="index.php?pag='.$i.'">'.$i.'</a>';				
		} else {
			$paginacao .= '<a href="index.php?pag='.$i.'">'.$i.'</a>';	
		}
	}
	$paginacao .= '...';
	$paginacao .= '<a href="index.php?pag='.$penultima.'">'.$penultima.'</a>';
	$paginacao .= '<a href="index.php?pag='.$ultima_pag.'">'.$ultima_pag.'</a>';
}
else {
	$paginacao .= '<a href="index.php?pag=1">1</a>';				
	$paginacao .= '<a href="index.php?pag=1">2</a> ... ';	
	for ($i = $ultima_pag - (4 + (2 * adjacentes)); $i <= $ultima_pag; $i++)
	{
		if ($i == $pag)
		{
			$paginacao .= '<a class="atual" href="index.php?pag='.$i.'">'.$i.'</a>';				
		} else {
			$paginacao .= '<a href="index.php?pag='.$i.'">'.$i.'</a>';	
		}
	}
}
}

}


if ($prox <= $ultima_pag && $ultima_pag > 2)
{
	$paginacao .= '<a href="index.php?pag='.$prox.'">próxima »</a>';
}

	echo $paginacao;

echo '</div>';
?>

</div>

</body>
</html>

 

BUSCA

<form method="GET" action="http://www.meusite.com.br/busca.php">
<fieldset>
<label for="consulta">Buscar:</label>
<input type="text" id="consulta" name="consulta" maxlength="255" />
<input type="submit" value="OK" />
</fieldset>
</form>

<?php

// Verifica se foi feita alguma busca
// Caso contrario, redireciona o visitante
if (!isset($_GET['consulta'])) {
header("Location: http://www.meusite.com.br/");
exit;
}
// Se houve busca, continue o script:

// Salva o que foi buscado em uma variável
$busca = $_GET['consulta'];
// Usa a função mysql_real_escape_string() para evitar erros no MySQL
$busca = mysql_real_escape_string($busca);

// ============================================

// Monta outra consulta MySQL para a busca
$sql = "SELECT * FROM `noticias` WHERE (`ativa` = 1) AND ((`titulo` LIKE '%".$busca."%') OR ('%".$busca."%')) ORDER BY `cadastro` DESC";
// Executa a consulta
$query = mysql_query($sql);

// ============================================

// Começa a exibição dos resultados
echo "<ul>";
while ($resultado = mysql_fetch_assoc($query)) {
$titulo = $resultado['titulo'];
$texto = $resultado['texto'];
$link = 'http://www.meusite.com.br/noticia.php?id=' . $resultado['id'];
echo "<li>";
echo '<a href="'.$link.'" title="'.$titulo.'">'.$titulo.'</a><br />';
echo date('d/m/Y H:i', strtotime($resultado['cadastro']));
echo '<p>'.$texto.'</p>';
echo '<a href="'.$link.'" title="'.$titulo.'">'.$link.'</a>';
echo "</li>";
}
echo "</ul>";
?>

 

Ja quebrei a kbça e nada =/ se alguem puder me dar uma forcinha de como ficaria meu código agradeço!

 

Olá boa tarde

cara usa um plugin de jquery é simplismente otimo

http://datatables.net/

ele faz a busca organiza por descriçao modelo ou etc...

muito bom mesmo

da uma olhada

qualquer coisa posta ai que te ajudo com datatable

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha só:

 

$sql = mysql_query("SELECT * FROM noticias LIMIT $inicial, $numreg");

// Serve para contar quantos registros você tem na seua tabela para fazer a paginação

$sql_conta = mysql_query("SELECT * FROM `noticias` WHERE (`ativa` = 1) AND ((`titulo` LIKE '%".$busca."%') OR ('%".$busca."%')) ORDER BY `cadastro` DESC");

E isso:

 

while ($resultado = mysql_fetch_assoc($sql)) {

  // ...

}

O que você acha que está acontecendeo aqui?

 

O while que vai iterar sobre o total de notícias resultantes da busca está operando com o array resultante da primeira query, que não tem filtro (WHERE) nenhum.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvi a busca que fazia mesmo com o campo vazio!

        
if(!$busca){       die("Não foi possivel realizar a consulta!!");       }

 

E o erro no While

while ($resultado = mysql_fetch_assoc($sql)) {     // ...  }

 

Ficou Assim

while ($resultado = mysql_fetch_assoc($sql_conta)) {     // ...  }

 

Resolvi isto ai, mas agora apareceu um probleminha que não tinha percebido =/

 

Registrei 6 noticias com o mesmo nome, quando faço a busca a paginação não limita a quantidade de resultados por página oq eu poderia fazer para resolver isso so me falta isto mesmo para terminar este codigo auhauhaua

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvi, to ficando ligado no php ! :natalbiggrin:

 $sql = mysql_query("SELECT * FROM `noticias` WHERE (`ativa` = 1) AND ((`titulo` LIKE '%".$busca."%') OR ('%".$busca."%')) ORDER BY `cadastro` DESC  LIMIT $inicial, $numreg");

 

So coloquei a mesma coisa do sql_conta na variavel sql mais desta vez add LIMIT $inicial, $numreg"

 

Muito obrigado Bruno Augusto pela força desculpe por te fazer perder tempo com minha ignorância auhauhau. Queria tbm agradecer a todas as pessoas deste fórum maravilhoso, estou aprendendo bastante sobre php e que este Artigo venha servir para outras pessoas. Obrigado mesmo!

 

 

RESOLVIDO!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza, você demorou um pouco mas entendeu o que disse.

 

Se o seu HTML não estivesse entranhado no PHP, você teria resolvido vários posts atrás.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza, você demorou um pouco mas entendeu o que disse.

 

Se o seu HTML não estivesse entranhado no PHP, você teria resolvido vários posts atrás.

 

 

 

Boa noite pessoal,

 

preciso de uma ajudinha, etou a tentar fazer um sistema de busca com paginação, mas estou com 1 problema mal abro a pagina de pesquisa.php ele retorna-me logo todos os items da base de dados. Alguem sabe como contornar este problema?

 

o codigo é o seguinte:

 

 

<?php session_start();

include("cn.php");

?>

 

<!DOCTYPE HTML>

<html>

<head>

<meta>

<!-- www.phpied.com/conditional-comments-block-downloads/ -->

<!-- [id IE]><![endif] -->

 

<meta http-equiv="X-UA-Compatible" conten="IE-edge,chrome=1">

 

<link rel="shortcut icon" href="/favicon.ico">

 

<link rel="stylesheet" href="css/reset.css"/>

<link rel="stylesheet" href="css/text.css"/>

<link rel="stylesheet" href="css/960.css"/>

<link rel="stylesheet" href="css/style.css"/>

 

<!-- [if lt IE 9]>

<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>

<![endif] -->

 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

<script src="js/animate-shadow-min.js"></script>

<script src="js/script.js"></script>

 

<title>Bom e Barato</title>

</head>

<body>

 

<div id="line-up">

 

</div>

 

<div id="container" class="container_12">

<div id="login" class="grid_12">

<?php if (!isset($_SESSION['user'])) { ?>

<form action="login.php" id="login-form" method="post">

<ul>

<li><input type="text" name="email" placeholder="email" /></li>

<li><input type="password" name="password" placeholder="password" /></li>

<li><a href="javascript:{}" onclick="document.getElementById('login-form').submit(); return false;">

 

<img src="img/login-bt.png" alt="" />

</a>

</li>

</ul>

</form>

<?php } else { ?>

<form action="logout.php" id="logout" method=POST>

<p align=right> <?php echo $_SESSION['user']; ?>

<a href="javascript:{}" onclick="document.getElementById('logout').submit(); return false;">Logout</a> |

<a href=inserir.php>Inserir um anúncio</a>

</form>

 

 

<?php } ?>

</div><!-- end login> -->

 

<div id="menu" class"grid_12">

<ul>

<li>

<a href="index.php">Inicio</a>

</li>

<li>

<a href="pesquisa.php">Pesquisa</a>

</li>

<li>

<a href="sobre_nos.php">Sobre N&oacutes</a>

</li>

<li>

<a href="contactos.php">Contactos</a>

</li>

</ul>

</div> <!-- end menu -->

<section class="grid_12">

<div id="compra-venda" class="grid_3 alpha tabs">

<ul>

<a href="compra_venda.php">

<li>

<h5>Compra-Venda</h5>

</li>

<li>

<h6>

<?php

//seleciona toda a tabela

$sql = mysql_query("SELECT * FROM items WHERE categoria=1");

//Conta quantos registros possuem na tabela

$total = mysql_num_rows($sql);

//Mostra o valor

echo "(".$total." items)";

?>

</h6>

</li>

<li>

<img src="img/compra-venda-icon.png" alt="" />

</li>

</a>

</ul>

 

</div><!-- end compra-venda -->

<div id="imoveis" class="grid_3 tabs">

<ul>

<a href="imoveis.php">

<li>

<h5>Im&oacuteveis</h5>

</li>

<li>

<h6>

<?php

//seleciona toda a tabela

$sql = mysql_query("SELECT * FROM items WHERE categoria=2");

//Conta quantos registros possuem na tabela

$total = mysql_num_rows($sql);

//Mostra o valor

echo "(".$total." items)";

?>

</h6>

</li>

<li>

<img src="img/imoveis-icon.png" alt="" />

</li>

</a>

</ul>

</div> <!-- end imoveis -->

<div id="servicos" class="grid_3 tabs">

<ul>

<a href="servicos.php">

<li>

<h5>Servi&ccedilos</h5>

</li>

<li>

<h6>

<?php

//seleciona toda a tabela

$sql = mysql_query("SELECT * FROM items WHERE categoria=3");

//Conta quantos registros possuem na tabela

$total = mysql_num_rows($sql);

//Mostra o valor

echo "(".$total." items)";

?>

</h6>

</li>

<li>

<img src="img/servicos-icon.png" alt="" />

</li>

</a>

</ul>

</div> <!-- end servicos -->

<div id="emprego" class="grid_3 omega tabs">

<ul>

<a href="empregos.php">

<li>

<h5>Empregos</h5>

</li>

<li>

<h6>

<?php

//seleciona toda a tabela

$sql = mysql_query("SELECT * FROM items WHERE categoria=4");

//Conta quantos registros possuem na tabela

$total = mysql_num_rows($sql);

//Mostra o valor

echo "(".$total." items)";

?>

</h6>

</li>

<li>

<img src="img/empregos-icon.png" alt="" />

</li>

</a>

</ul>

</div> <!-- end emprego -->

</section>

<section class="grid_12">

 

 

<div class="listar">

 

<h2>Pesquisa</h2>

 

 

<form name="frmBusca" method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>?a=buscar" >

<input type="text" name="palavra" />

<input type="submit" value="Pesquisar" />

</form>

 

 

 

<?php

$link = mysql_connect("127.0.0.1","root","") or die("Falhou ligação");

mysql_select_db("beb");

 

// Recuperamos a ação enviada pelo formulário

$a = $_GET['a'];

 

// Verificamos se a ação é de busca

if ($a == "buscar") {

 

// Pegamos a palavra

$palavra = trim($_POST['palavra']);

 

// Verificamos no banco de dados produtos equivalente a palavra digitada

$sql = mysql_query("SELECT * FROM items WHERE titulo LIKE '%".$palavra."%'");

 

// Descobrimos o total de registros encontrados

$numRegistros = mysql_num_rows($sql);

 

}

 

 

 

 

 

 

 

 

 

 

 

// Informações da query

$campos_query = "id,titulo,descricao,categoria,owner,preco,owner,foto";

$final_query = "FROM items WHERE titulo LIKE '%".$palavra."%'";

 

// Maximo de registros por pagina

$maximo = 1;

 

// Declaração da pagina inicial

$pagina = $_GET["pagina"];

if($pagina == "") {

$pagina = "1";

}

 

// Calculando o registro inicial

$inicio = $pagina - 1;

$inicio = $maximo * $inicio;

 

// Conta os resultados no total da query

$strCount = "SELECT COUNT(*) AS 'num_registros' $final_query";

$query = mysql_query($strCount);

$row = mysql_fetch_array($query);

$total = $row["num_registros"];

 

###################################################################################

// INICIO DO CONTEÚDO

 

// Realizamos a query

$sql = mysql_query("SELECT $campos_query $final_query LIMIT $inicio,$maximo");

 

 

 

if (mysql_num_rows($sql)<1)

 

echo "Nenhum produto foi encontrado com a palavra <b>".$palavra."</b>";

else {

 

// Exibimos os nomes dos produtos e seus repectivos valores

while ($linha = mysql_fetch_object($sql)) {

echo "

<div class=\"produtos\">

<div class=\"prod_img\">

<img src=\"fotos/".$linha->foto."\"/>

</div>

<ul>

<li class=\"nome\"><a href=ficha.php?id=".$linha->id.">".$linha->titulo."</a></li>

<li class=\"desc\">".$linha->descricao."</li>

<li class=\"preco\">".$linha->preco." €</li>

</ul>

</div>";

}

}

// FIM DO CONTEUDO

###################################################################################

 

$menos = $pagina - 1;

$mais = $pagina + 1;

 

$pgs = ceil($total / $maximo);

 

if($pgs > 1 ) {

 

echo "<br />";

 

// Mostragem de pagina

if($menos > 0) {

echo "<a href=".$_SERVER['PHP_SELF']."?pagina=$menos>Anterior</a>  ";

}

 

// Listando as paginas

for($i=1;$i <= $pgs;$i++) {

if($i != $pagina) {

echo " <a href=".$_SERVER['PHP_SELF']."?pagina=".($i).">$i</a> | ";

 

} else {

echo " <strong>".$i."</strong> | ";

}

}

 

if($mais <= $pgs) {

echo " <a href=".$_SERVER['PHP_SELF']."?pagina=$mais>Pr&oacutexima</a>";

}

}

 

?>

 

 

 

</div><!-- listar -->

 

</section>

 

</div><!-- end container -->

<div id="footer-wrap">

<footer class="container_12">

<p>© 2012 - Bom e Barato - All Rights Reserved</p>

</footer>

</div>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.