Cadastro de empresa
Bom dia pessoal. Estou tentando fazer um sistema de cadastro de empresas. Tenho uma tabela em MySQL desta forma: chave | ativa | empresa | indice | cidade | Começo minha consulta pela cidade com este código - portal.php
<? include("config.php").?>
<?php mysql_select_db($db). $consulta = "SELECT cidade FROM portal GROUP BY cidade". $resultado = mysql_query($consulta). while ($reg = mysql_fetch_array($resultado)) echo"<a href='[http://www.emcondominios.com.br/portal_indice.php?concidade=$reg[cidade]'>$reg[cidade]
](http://www.emcondominios.com.br/portal_indice.php?concidade=%24reg%5Bcidade%5D)". echo "Número de linhas retornadas: ".mysql_num_rows($resultado). mysql_close().?>
<form method="GET" action="http://www.emcondominios.com.br/portal_indice.php">
<fieldset>
<label for="consulta">Buscar:</label>
<input type="text" id="consulta" name="consulta" maxlength="255" />
<input type="submit" value="OK" />
</fieldset>
</form> E encontro os índices de produtos e serviços destas cidades - portal_indice.php <? include("config.php").?>
<?php // Configuração do script// ========================
$_BS['PorPagina'] = 50. // Número de registros por página // Verifica se foi feita alguma busca
// Caso contrario, redireciona o visitante
if (!isset($_GET['concidade'])) {
header("Location: [http://www.meusite.com.br/](http://www.meusite.com.br/)"). exit. }// Se houve busca, continue o script: // Salva o que foi buscado em uma variável
$busca = $_GET['concidade']. // Usa a função mysql_real_escape_string() para evitar erros no MySQL
$busca = mysql_real_escape_string($busca). // ============================================ // Monta a consulta MySQL para saber quantos registros serão encontrados
$sql = "SELECT COUNT(*) AS total FROM
portal WHERE (ativa = 1) AND ((cidade LIKE '%".$busca."%') OR ('%".$busca."%'))". // Executa a consulta$query = mysql_query($sql). // Salva o valor da coluna 'total', do primeiro registro encontrado pela consulta
$total = mysql_result($query, 0, 'total'). // Calcula o máximo de paginas
$paginas = (($total % $_BS['PorPagina']) > 0)? (int)($total / $_BS['PorPagina']) + 1: ($total / $_BS['PorPagina']). // ============================================ // Sistema simples de paginação, verifica se há algum argumento 'pagina' na URL
if (isset($_GET['pagina'])) {
$pagina = (int)$_GET['pagina']. } else {
$pagina = 1. }
$pagina = max(min($paginas, $pagina), 1). $inicio = ($pagina - 1) * $_BS['PorPagina']. // ============================================ // Monta outra consulta MySQL, agora a que fará a busca com paginação$sql = "SELECT * FROM
portal WHERE (ativa = 1) AND ((cidade LIKE '%".$busca."%') OR ('%".$busca."%')) ORDER BY indice ASC LIMIT ".$inicio.", ".$_BS['PorPagina']. // Executa a consulta$query = mysql_query($sql). // ============================================ // Começa a exibição dos resultados
echo "<p>Resultados ".min($total, ($inicio + 1))." - ".min($total, ($inicio + $_BS['PorPagina']))." de ".$total." resultados encontrados para '".$_GET['concidade']."'</p>". // <p>Resultados 1 - 20 de 138 resultados encontrados para 'minha busca'</p> echo "<ul>". while ($resultado = mysql_fetch_assoc($query)) {
$indice = $resultado['indice']. $link = 'http://www.emcondominios.com.br/portal_anuncio.php?concidade='.$_GET['concidade'].'&consulta='. $resultado['indice']. echo "<li>". echo '<a href="'.$link.'" indice="'.$indice.'">'.$indice.'</a><br />'. echo "</li>". }
echo "</ul>". // ============================================ // Começa a exibição dos paginadoresif ($total > 0) {
for($n = 1. $n <= $paginas. $n++) {
echo '<a href="?concidade='.$_GET['concidade'].'&pagina='.$n.'">'.$n.'</a> '. }
}?> Até aqui, tudo certo, funcionando bem. Quando seleciono um índice ele deveria mostrar as empresas cadastradas neste índice da cidade selecionado anteriormente. Mas o filtro da cidade se perde e está mostrando todas as empresas de todas as cidades. - portal_anuncio.php <? include("config.php").?>
<?php // Configuração do script// ========================
$_BS['PorPagina'] = 50. // Número de registros por página // Verifica se foi feita alguma busca
// Caso contrario, redireciona o visitante
if (!isset($_GET['consulta'])) {
header("Location: [http://www.meusite.com.br/](http://www.meusite.com.br/)"). exit. }// Se houve busca, continue o script: // Salva o que foi buscado em uma variável
$concidade = $_GET['concidade']. $busca = $_GET['consulta']. // Usa a função mysql_real_escape_string() para evitar erros no MySQL
$busca = mysql_real_escape_string($busca). // ============================================ // Monta a consulta MySQL para saber quantos registros serão encontrados
$sql = "SELECT COUNT(*) AS total FROM
portal WHERE (ativa = 1) AND ((indice LIKE '%".$busca."%') OR ('%".$busca."%'))". // Executa a consulta$query = mysql_query($sql). // Salva o valor da coluna 'total', do primeiro registro encontrado pela consulta
$total = mysql_result($query, 0, 'total'). // Calcula o máximo de paginas
$paginas = (($total % $_BS['PorPagina']) > 0)? (int)($total / $_BS['PorPagina']) + 1: ($total / $_BS['PorPagina']). // ============================================ // Sistema simples de paginação, verifica se há algum argumento 'pagina' na URL
if (isset($_GET['pagina'])) {
$pagina = (int)$_GET['pagina']. } else {
$pagina = 1. }
$pagina = max(min($paginas, $pagina), 1). $inicio = ($pagina - 1) * $_BS['PorPagina']. // ============================================ // Monta outra consulta MySQL, agora a que fará a busca com paginação$sql = "SELECT * FROM
portal WHERE (ativa = 1) AND ((indice LIKE '%".$busca."%') OR ('%".$busca."%')) ORDER BY empresa ASC LIMIT ".$inicio.", ".$_BS['PorPagina']. // Executa a consulta$query = mysql_query($sql). // ============================================ // Começa a exibição dos resultados
echo "<p>Resultados ".min($total, ($inicio + 1))." - ".min($total, ($inicio + $_BS['PorPagina']))." de ".$total." resultados encontrados para '".$_GET['consulta']."' - '".$_GET['concidade']."'</p>". // <p>Resultados 1 - 20 de 138 resultados encontrados para 'minha busca'</p> echo "<ul>". while ($resultado = mysql_fetch_assoc($query)) {
$empresa = $resultado['empresa']. $link = 'http://www.emcondominios.com.br/portal_anuncio.php?indice='. $resultado['indice']. echo "<li>". echo '<a href="'.$link.'" empresa="'.$empresa.'">'.$empresa.'</a><br />'. echo "</li>". }
echo "</ul>". // ============================================ // Começa a exibição dos paginadoresif ($total > 0) {
for($n = 1. $n <= $paginas. $n++) {
echo '<a href="?consulta='.$_GET['consulta'].'&pagina='.$n.'">'.$n.'</a> '. }
}?> Eu consegui recuperar o GET na cidade mas não sei como usar isso como um filtro no banco de dados. Exemplo do filtro que preciso: São Paulo > Academia > Academia do Joaquim em São Paulo. Espero que tenha conseguido explanar a minha dúvida. Obrigado.Discussão (4)
Carregando comentários...