Ir para conteúdo
Fórum Script Brasil
  • 0

Conflito com dados via get


vini_loock

Pergunta

Olá.

Eu bem que tento não encomodar, mas é quase impossivel!

Eu tava com meu sistema quase pronto, dai quando fui adicionar a busca nele deu um conflito entre os dados vindos por get.

Eu to usando para abrir tudo atravez da index e a url fica +/- assim: http://www.markasom.com.br/portalbairros/i...goria=autopecas

Assim funciona normalmente, só que quando eu faço uma busca a url fica assim: http://www.markasom.com.br/portalbairros/i...avra=som+eluzes

E na navbarleft.php que é o arquivo responsavel por gerar a primeira url, eu to verificando se existe "bairro". só que como o primeiro valor seria action mostra como se não existisse bairro.

Vou postar o script da index.php e navbarleft.php

index.php

<?php 
include ("includes/configuracoesgerais.php"); 
include ("configs/conecta.php");
?>
<html>
<head>
<?php include ("includes/head.php"); ?>
<script type="text/javascript">
function somatam(){
var tam = document.getElementById("navbar-right").offsetHeight;
document.getElementById("conteudo").style.minHeight = tam;
}
</script>
<script type="text/javascript" src="adm/js/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
      
      $(document).ready(function(){
         
         $("select[name=bairro]").change(function(){
            $("select[name=categoria]").html('<option value="0">Carregando...</option>');
            
            $.post("adm/categoria.php",
                  {bairro:$(this).val()},
                  function(valor){
                     $("select[name=categoria]").html(valor);
                  }
                  )
            
         })
      })
      
</script>

</head>
<body onLoad="somatam()">
    <div id="global">
        <div id="topo">
            <?php include ("includes/topo.php"); ?>
        </div>
        <div id="navbar-left">
            <?php include ("includes/navbarleft.php"); ?>
        </div>
        <div id="navbar-right">
            <?php include ("includes/navbarright.php"); ?>
        </div>
        <div id="conteudo">
            <?php
                if(isset($_GET['action'])){
                $action = $_GET['action'];
                
                
                if( $action == 'Buscar' )
                {
                    $hostname       = "localhost";
                    $username       = "root";
                    $password       = "";
                    $banco          = $_GET['bairro'];
                    $tabela         = $_GET['categoria'];
                    $palavra        = $_GET['palavra'];
                    $conecta        = mysql_connect( $hostname, $username, $password );
                    $selecionaBanco = mysql_select_db( $banco, $conecta );
                    $busca          = mysql_query( "SELECT * FROM $tabela WHERE nome LIKE '%".$palavra."%' OR ramo LIKE '%".$palavra."%'" );
                    
                    if( mysql_num_rows($busca) > 0 )
                    {
                        while( $sql = mysql_fetch_assoc( $busca ) )
                        {
                            $nome  = $sql['nome'];
                            $ramo  = $sql['ramo'];
                            $id    = $sql['id'];
                            
                            echo "Nome da empresa: ".$nome;
                            echo "Ramo de atividade ".$ramo;
                            echo "ID: ".$id;
                        }
                    }
                    else
                    {
                        echo "Não há nenhum resultado para $nome em $bairro  $categoria";
                    }
                }
                }
            
                if(isset($_GET['local'])){
                            $categoria = $_GET['local'];
                }else{
                        include ("conteudo_inicial.php");
                }
                if(isset($categoria)){
                    switch($categoria){
                        
                        case $_GET['local']:
                                $quantidade = 5;
                                $pagina     = (isset($_GET['pagina'])) ? (int)$_GET['pagina'] : 1;
                                $inicio = ($quantidade * $pagina) - $quantidade;
                                
                            $bancoBairro = "$inicio"."$bairro";
                            $seleciona = mysql_select_db($bancoBairro, $conecta);
                            $busca = mysql_query("SELECT * FROM $categoria LIMIT $inicio, $quantidade");
                            if($busca > 0){
                                while($sql = mysql_fetch_assoc($busca)){
                                    $img = $sql['img'];
                                    $nome = $sql['nome'];
                                    $ramo = $sql['ramo'];
                                    $endereco = $sql['endereco'];
                                    $telefone = $sql['telefone'];
                                    $id = $sql['id'];
                                    $idurl = "$categoria".$id;
                                    
                                    echo "
                                    <div id=anunciante>
                                        <div id=img><img src=$img width=150 height=150></div>
                                        <div id=texto>
                                            Nome da empresa: $nome<br>
                                            Ramo de atividade: $ramo<br>
                                            Endereço: $endereco<br>
                                            Telefone: $telefone<br>
                                            ID: $id;
                                        </div>
                                        <div id=btn>
                                            <div id=vermais><a href=vizualizando.php?bairro=$bairro&userid=$id&tabela=$categoria target=_blank>vermais</a></div>
                                        </div>
                                    </div>
                                    ";
                                }
                            
                                
                                $sqlTotal = "SELECT * FROM $categoria";
                                $qrTotal = mysql_query($sqlTotal) or die(mysql_error());
                                $numTotal = mysql_num_rows($qrTotal);
                                $totalPagina = ceil($numTotal/$quantidade);
                                if($totalPagina <=1){echo "";}else{
                                if($totalPagina != 1){
                                echo"<div id=paginacao>";
                                if($pagina ==1){
                                    echo"<div id=sem>Primeira página</div>";
                                }else{
                                    echo "<div id=com><a href=\"?bairro=$bairro&local=$categoria&pagina=1\">Primeira página</a></div>";
                                }
                                
                                if($pagina ==1){
                                    echo"<div id=sem><<</div>";
                                }else{
                                    $p = $_GET['pagina'];
                                    for($i = $p; $i == $p; $i--);
                                    echo "<div id=com><a href=\"?bairro=$bairro&local=$categoria&pagina=$i\"><<</a></div>";
                                }
                                
                                $p = $_GET['pagina'];
                                for($i = $p; $i == $p; $i++);
                                
                                  $paginaMenos = $i;
                                if($paginaMenos > 4){
                                    echo "<div id=sem>...</div>";
                                }
                                
                                $exibirDir = 3;
                                $exibirEsq = 2;
                                for($i = $pagina-$exibirEsq; $i <= $pagina-1; $i++){
                                    if($i > 0)
                                        echo '<div id=com><a href="?bairro=$bairro&local='.$categoria.'&pagina='.$i.'"> '.$i.' </a></div>';
                                }
                                
                                if($i == $pagina){
                                    echo "<div id=sem>".$i."</div>";
                                }else{
                                    echo "<div id=sem><a href=\"?bairro=$bairro&local=$categoria&pagina=$pagina\">".$i."</a></div>";
                                }
                                
                                for($i = $pagina+1; $i < $pagina+$exibirDir; $i++){
                                    if($i <= $totalPagina)
                                        echo '<div id=com><a href="?bairro='.$bairro.'&local='.$categoria.'&pagina='.$i.'"> '.$i.' </a></div>';
                                }
                                
                                $totalMais = $totalPagina;
                                $paginaAtual = $i-1;
                                if($paginaAtual < $totalMais){
                                    echo "<div id=sem>...</div>";
                                }
                                $i = $pagina;
                                $inovo = ($i+1);
                                if($i == $totalPagina){
                                    echo"<div id=sem>>></div>";
                                }else{
                                    echo "<div id=com><a href=\"?bairro=$bairro&local=$categoria&pagina=$inovo\">>></a></div>";
                                }

                                if($pagina == $totalPagina){
                                    echo"<div id=sem>Última página</div>";
                                }else{
                                    echo "<div id=com><a href=\"?bairro=$bairro&local=$categoria&pagina=$totalPagina\">Última página</a></div>";
                                }
                                    echo "<div id=paginaquantidade>Página $pagina de $totalPagina</div>";
                                    echo"</div>";
                                }
                            }}else{
                            include "conteudo_inicial.php";
                        }
                    }
                }
            ?>
            <br><br>
        </div>
        <div id="rodape"><br>
            <?php include ("includes/rodape.php"); ?>
        </div>
    </div>
    <div id="toolbar">
        <?php include ("includes/toolbar.php"); ?>
    </div>
</body>
</html>
navbarleft.php
<h1>Guia do comércio</h1>

<?php

include ("configs/conecta.php");
include ("includes/configuracoesgerais.php");
echo "<ul>";

if(isset($_GET['bairro'])){
    $bairro = $_GET['bairro'];
    
    $banco = "$inicio"."$bairro";
    $select = mysql_select_db($banco, $conecta);
    $sql0 = mysql_query("SELECT * FROM categoria ORDER BY cateexi ASC");
    while($sql = mysql_fetch_array($sql0)){
        $categorias = $sql['categoria'];
        $exibicao = $sql['cateexi'];
        $endereco = $sql['url'];
        echo "<li><a href=?bairro=$bairro&local=$categorias&pagina=1>$exibicao</a></li>";
}
    
}else{
    $bancoGeral = "$inicio"."geral";
        $selecionaGeral = mysql_select_db($bancoGeral, $conecta);
        $nomeBairros = "bairros";
        $selecionaBairros = mysql_query("SELECT * FROM $nomeBairros");
        if($selecionaBairros >= 1){
            while($sql = mysql_fetch_array($selecionaBairros)){
                $bairro = $sql['bairro'];
                $exibirBairro = $sql['exibicao'];
                echo "<li><a href=?bairro=$bairro>$exibirBairro</a></li>";
        }
    }
}

echo "</ul>";

?>

Como que eu posso fazer para verificar se existe um valor para bairro, mesmo ele tando em segundo?

Faz o teste aki:

primeiro acesse a index.

http://www.markasom.com.br/portalbairros/index.php

Depois acesse o link vitória regia

http://www.markasom.com.br/portalbairros/i...?bairro=vitoria

Depois escolha uma categoria.

http://www.markasom.com.br/portalbairros/i...as&pagina=1

e depois faça uma busca

http://www.markasom.com.br/portalbairros/i...s&palavra=a

E vai aparecer o erro em guia do comercio, que é onde está a navbarleft.php

Eu fiz uns testes aqui e apaguei, mas vou fazer de novo para postar o código.

Vlw

Editado por vini_loock
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
Semi-resolvido

Eu conesegui arrumar o problema, agora só falta fazer as consultas no banco e ver se da certo.
Eu escrevi uma nova página, sem conexão, só com dados atravez de variaveis, mas acredito que va funcionar, pois só falta pegar os dados do bd.
Segue o código abaixo.
<?php
//conexão
$hostname = "localhost";
$username = "root";
$password = "";
$conecta = mysql_connect($hostname, $username, $password);

if(isset($_GET['action'])){
    $action = $_GET['action'];
}

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Documento sem título</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>
<body>

<div id="global">
    <div id="topo">
        <div id="cima">
            <div id="logo"></div>
        </div>
        <div id="menu">
            <ul>
                <li><a href="#">Home</a></li>
                <li><a href="#">Serviços</a></li>
                <li><a href="#">Contato</a></li>
            </ul>
        </div>
        <div id="busca">
            <form action="<?php $_SERVER['PHP_SELF']; ?>" method="get">
                <input type="hidden" name="action" value="buscar">
            
                <select name="bairro">
                    <option value="1">Bairro 1</option>
                    <option value="2">Bairro 2</option>
                    <option value="3">Bairro 3</option>
                </select>
                
                <select name="categoria">
                    <option value="1">Categoria 1</option>
                    <option value="2">Categoria 2</option>
                    <option value="3">Categoria 3</option>
                </select>
                <?php
                    if(isset($_GET['local'])){
                        $bairro = $_GET['local'];
                        if(isset($_GET['localbairro'])){
                            $categoria = $_GET['localbairro'];
                        }
                    }
                ?>
                <input type="hidden" name="local" value="<?php echo "$bairro"?>">
                <input type="hidden" name="localbairro" value="<?php echo "$categoria"; ?>">
                <input type="text" name="palavrachave">
                <input type="submit" value="Buscar">
            </form>
        </div>
    </div>
    
    <div id="conteudo">
        <div id="navbarleft">
            <?php
                if(isset($_GET['action'])){
                    if($_GET['action'] == 'buscar'){
                        if(isset($_GET['local'])){
                            if(isset($_GET['localbairro'])){
                                echo "categoria do bairro". $_GET['local'];
                            }else{
                                echo "categoria do bairro". $_GET['local'];
                            }
                        }else{
                            echo "selecione um bairro";
                        }
                    }
                }else{
                    if(isset($_GET['local'])){
                        if(isset($_GET['localbairro'])){
                            echo "categoria do bairro".$_GET['local'];
                        }else{
                            echo "categoria do bairro".$_GET['local'];
                        }
                    }else{
                        echo "selecione um bairro";
                    }
                }
            ?>
        
        </div>
        
        <div id="texto">
            <?php
            
            if(isset($action)){
                if($action == 'buscar'){
                    $bairro = $_GET['bairro'];
                    $categoria = $_GET['categoria'];
                    $palavra = $_GET['palavrachave'];
                    echo "<h1>Resultados para $palavra</h1>";
                    echo "bairro : $bairro";
                    echo "<br>";
                    echo "categoria : $categoria";
                    echo "<br>";
                    echo "palavra : $palavra";
                }
            }else{
                if(isset($_GET['bairro'])){
                    if(isset($_GET['categoria'])){
                        echo "bairro e categoria";
                    }else{
                        echo "bairro";
                    }
                }else{
                    echo "sem bairro";
                }
            }
            
            
            ?>
        </div>
        
        <div id="navbarright">
            <h1></h1>
            <ul>
                <li><a href="#"><img src="" width="100" height="100" border="0"></a></li>
                <li><a href="#"><img src="" width="100" height="100" border="0"></a></li>
                <li><a href="#"><img src="" width="100" height="100" border="0"></a></li>
            </ul>
        </div>
        
    </div>
    
    <div id="rodape">
        <h1>Rodapé</h1>
    </div>
    
</div>

</body>
</html>


Ainda essa semana eu testo. e posto aqui se funcionou ao não.
Vlw

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...