Jump to content
Rzorr

Url, Busca

Recommended Posts

Bom dia,

        eu tenho um  site de imóveis, sou corretor, ele está com alguns problemas na URL, comprei esse script e venho fazendo algumas alterações nele, sei o básico, cadastrar, deletar, buscar, update, mas o que acontece esse site foi construido com MVC e confesso parei de estudar PHP faz muito tempo, e não entendo nada de MVC, abaixo o código da busca e como forma o link é montado.

    No site o link fica assim: /imoveis/lista/referencia/referencia/categoria/comprar/tipo/tipo/cidade/Camboriú/bairro/bairro#busca nesse exemplo fiz uma busca pela cidade!

   Se clico no menu em vendas o link fica assim: /imoveis/lista/referencia/referencia/categoria/comprar/tipo/tipo/cidade/cidade/bairro/bairro#busca

pessoal obrigado pela disposição em ajudar, eu to tentando resolver faz dias, mas não consigo entender a a forma como é construido.

 

<?php
class busca extends controller {
	
	public function init(){
	}
	
	public function inicial(){
		
	     $referencia = $this->post('referencia');
	 	 $categoria = $this->post('categoria');
		 $tipo = $this->post('tipo');
	     $cidade = $this->post('cidade');
		 $bairro = $this->post('bairro');
		
		if($referencia){
			$cidade = "cidade";
			$bairro = "bairro";
			$tipo = "tipo";
			$categoria = "categoria";
		} else {
			$referencia = 'referencia';
			if(!$categoria){
				$categoria = "categoria";
			}
			if(!$tipo){
				$tipo = "tipo";
			}
			if(!$cidade){
				$cidade = "cidade";
			}
			if(!$bairro){
				$bairro = "bairro";
			}
		}
		
		$endereco = DOMINIO."imoveis/lista/referencia/$referencia/categoria/$categoria/tipo/$tipo/cidade/$cidade/bairro/$bairro#busca";

		$this->irpara("$endereco");
	}

 

Share this post


Link to post
Share on other sites

Alguém consegue ajudar, não quero que faça o código para mim,  preciso de uma orientação, me parece que as buscas são feitas através de post, mas também através do get. se alguem puder ajudar!

Share this post


Link to post
Share on other sites

Bom dia Guilherme Luiz, eu to tentando mudar a forma como é formado as urls, por exemplo hoje se clico no menu em vendas  a URL é essa --> https://www.rafaelbatistaimoveis.com.br/imoveis/lista/referencia/referencia/categoria/comprar/tipo/tipo/cidade/cidade/bairro/bairro#busca

Ele busca pela categoria certo que é comprar, mas aparece essas palavras em duplicidade, já editei o script e tirei essas palavras ai não funciona nada.

outra dificuldade é quando tento fazer uma busca por exemplo por apartamento, aparece o id da categoria apartamento https://www.rafaelbatistaimoveis.com.br/imoveis/lista/referencia/referencia/categoria/comprar/tipo/3697/cidade/cidade/bairro/bairro#busca

Porém se eu tiro as palavras em duplicidade já não funciona nada.

 

estou tentando entender qual foi a lógica da busca que foi executada, mas confesso que não compreendi ainda. Nos menus é passados via get, já mudei as forma mas ai fica tela branca, e na busca é passado via POST, se mudo só da erro!

 

Obrigado por responder.

Em 06/05/2020 at 12:47, Guilherme Luiz disse:

Não ficou claro qual a sua dúvida.


Ao que me parece esse script foi feito sob o framework Laravel.

 

Se você começar a "dissecar" as classes e dar uma olhada na documentação do framework, com certeza você terá uma clareza maior do que foi feito nele

 

 

 

Agora, Rzorr disse:
Em 06/05/2020 at 12:47, Guilherme Luiz disse:

Não ficou claro qual a sua dúvida.


Ao que me parece esse script foi feito sob o framework Laravel.

 

Se você começar a "dissecar" as classes e dar uma olhada na documentação do framework, com certeza você terá uma clareza maior do que foi feito nele

 

 

 

 

Bom dia Guilherme Luiz, eu to tentando mudar a forma como é formado as urls, por exemplo hoje se clico no menu em vendas  a URL é essa --> https://www.rafaelbatistaimoveis.com.br/imoveis/lista/referencia/referencia/categoria/comprar/tipo/tipo/cidade/cidade/bairro/bairro#busca

Ele busca pela categoria certo que é comprar, mas aparece essas palavras em duplicidade, já editei o script e tirei essas palavras ai não funciona nada.

outra dificuldade é quando tento fazer uma busca por exemplo por apartamento, aparece o id da categoria apartamento https://www.rafaelbatistaimoveis.com.br/imoveis/lista/referencia/referencia/categoria/comprar/tipo/3697/cidade/cidade/bairro/bairro#busca

Porém se eu tiro as palavras em duplicidade já não funciona nada.

 

estou tentando entender qual foi a lógica da busca que foi executada, mas confesso que não compreendi ainda. Nos menus é passados via get, já mudei as forma mas ai fica tela branca, e na busca é passado via POST, se mudo só da erro!

 

Obrigado por responder.

Share this post


Link to post
Share on other sites
Em 06/05/2020 at 12:47, Guilherme Luiz disse:

Não ficou claro qual a sua dúvida.


Ao que me parece esse script foi feito sob o framework Laravel.

 

Se você começar a "dissecar" as classes e dar uma olhada na documentação do framework, com certeza você terá uma clareza maior do que foi feito nele

 

 

Seguindo seu conselho, comecei a rever todo código novamente, e acredito que na busca por post o cara que escreveu o código fez o seguinte, montou uma url que recebe todos os dados e faz a busca por get e da o retorno, então agora estou mexendo neste pedaço de código para tentar fazer montar a url da forma que eu preciso, não tive sucesso ainda mas já é um começo.

 

public function inicial(){
		
		$referencia = $this->post('referencia');
		$categoria = $this->post('categoria');
		$tipo = $this->post('tipo');
		$cidade = $this->post('cidade');
		$bairro = $this->post('bairro');
		
		if($referencia){
			$cidade = $cidade;
			$bairro = $bairro;
			$tipo = $tipo;
			$categoria = $categoria;
		} else {
			$referencia = $referencia;
			if(!$categoria){
				$categoria = "";
			}
			if(!$tipo){
				$tipo = "";
			}
			if(!$cidade){
				$cidade = "";
			}
			if(!$bairro){
				$bairro = "";
			}
		}
		
		$endereco = DOMINIO."imoveis/lista/$referencia/$categoria/$tipo/$cidade/$bairro";

		$this->irpara("$endereco");

 

Share this post


Link to post
Share on other sites
Em 15/05/2020 at 13:36, Rzorr disse:

Seguindo seu conselho, comecei a rever todo código novamente, e acredito que na busca por post o cara que escreveu o código fez o seguinte, montou uma url que recebe todos os dados e faz a busca por get e da o retorno, então agora estou mexendo neste pedaço de código para tentar fazer montar a url da forma que eu preciso, não tive sucesso ainda mas já é um começo.

 


public function inicial(){
		
		$referencia = $this->post('referencia');
		$categoria = $this->post('categoria');
		$tipo = $this->post('tipo');
		$cidade = $this->post('cidade');
		$bairro = $this->post('bairro');
		
		if($referencia){
			$cidade = $cidade;
			$bairro = $bairro;
			$tipo = $tipo;
			$categoria = $categoria;
		} else {
			$referencia = $referencia;
			if(!$categoria){
				$categoria = "";
			}
			if(!$tipo){
				$tipo = "";
			}
			if(!$cidade){
				$cidade = "";
			}
			if(!$bairro){
				$bairro = "";
			}
		}
		
		$endereco = DOMINIO."imoveis/lista/$referencia/$categoria/$tipo/$cidade/$bairro";

		$this->irpara("$endereco");

 

Não desisti ainda estou tentando, fiz progresso com relação a busca por código, entendi também que foi feito 2 controllers. um chamado controller_imoveis.php  e outro controller_busca.php, o que ocorre quando se faz uma busca é feito uma busca no controller_busca.php, que aciona uma url que na pagina controller_imoveis.php. Pois bem na busca por código fiz o seguinte.

 

fiz um IF pra ver se tava preenchido

if($referencia){
			//Faz a busca conforme vem os dados do controle_imoveis.php
             $endereco = DOMINIO."imoveis/lista/referencia/$referencia";

			$this->irpara("$endereco");
}

Na página controller_busca.php.

 

Já na página controller_imoveis.php fiz outro if que aciona a busca.

 

// Busca por referencia
		if($url_referencia){
			$query = "SELECT * FROM imoveis WHERE ref='$url_referencia'";
		}

isso fez funcionou fez a busca por referencia e a url ficou. 

 

/imoveis/lista/referencia/1070, não é ainda o que eu quero mas já é um progresso.

 

Tentei fazer o mesmo com categoria, seguindo a logica de verificar se está vindo preenchida, mas ai aparece a mensagem 

Notice: Trying to get property of non-object in C:\wamp\www\nova_imobiliaria\upload\_controllers\controller_imoveis.php on line 135

 

e não faz a busca, continuo tentando, se tiver alguem para ajudar!

 

por enquanto obrigado.

Share this post


Link to post
Share on other sites
Em 06/05/2020 at 12:47, Guilherme Luiz disse:

Não ficou claro qual a sua dúvida.


Ao que me parece esse script foi feito sob o framework Laravel.

 

Se você começar a "dissecar" as classes e dar uma olhada na documentação do framework, com certeza você terá uma clareza maior do que foi feito nele

 

 

Boa noite, sigo tentando, agora estou na seguinte situação entendi como foi feito, mas não to conseguindo fazer a busca funcionar até determinado IF funciona depois não funciona mais .

public function inicial(){
		
		$referencia = $this->post('referencia');
		var_dump($categoria = $this->post('categoria'));
		$tipo = $this->post('tipo');
		$cidade = $this->post('cidade');
		$bairro = $this->post('bairro');
		
		if($referencia){
			//Faz a busca conforme vem os dados do controle_imoveis.php
             $endereco = DOMINIO."imoveis/lista/referencia/$referencia";
            $this->irpara("$endereco");      
		}elseif($categoria AND $tipo AND $cidade AND $bairro){
      $endereco = DOMINIO."imoveis/lista/categoria/$categoria/tipo/$tipo/cidade/$cidade/bairro/$bairro";
			$this->irpara("$endereco");

/// Até aqui funciona depois disso já não funciona mais 


		}elseif($categoria AND $tipo AND $cidade){
            $endereco = DOMINIO."imoveis/lista/categoria/$categoria/tipo/$tipo/cidade/$cidade";
			$this->irpara("$endereco");	
		}elseif($tipo AND $categoria){
            $endereco = DOMINIO."imoveis/lista/categoria/$categoria/tipo/$tipo";
			$this->irpara("$endereco");	
		}elseif($tipo){
            $endereco = DOMINIO."imoveis/lista/tipo/$tipo/bairro/$bairro";
			$this->irpara("$endereco");	
		}elseif($cidade){
            $endereco = DOMINIO."imoveis/lista/cidade/$cidade";
			$this->irpara("$endereco");	
		}elseif($tipo){
            $endereco = DOMINIO."imoveis/lista/tipo/$tipo";
			$this->irpara("$endereco");	
		}elseif($categoria){
            $endereco = DOMINIO."imoveis/lista/categoria/$categoria";
			$this->irpara("$endereco");	
		}
		
	}

da url montada vem para cá e faz a busca

// Busca por referencia
		if($url_referencia){
			$query = "SELECT * FROM imoveis WHERE ref='$url_referencia'";
			//busca por categoria, tipo, cidade e bairo
		}elseif($url_categoria AND $url_tipo AND $url_cidade AND $url_bairro){
        	$query = "SELECT * FROM imoveis WHERE categoria_id='$categoria_id' AND  tipo_id='$url_tipo' AND cidade='$url_cidade' AND bairro='$url_bairro'";
        	//busca por categoria, tipo, cidade 
        }elseif($url_categoria AND $url_tipo AND $url_cidade){
			$query = "SELECT * FROM imoveis WHERE categoria_id='$categoria_id' AND  tipo_id='$url_tipo' AND cidade='$url_cidade'";
			//busca por categoria, tipo
		}elseif($url_categoria AND $url_tipo){
			$query = "SELECT * FROM imoveis WHERE categoria_id='$categoria_id' AND  tipo_id='$url_tipo'";
		   //busca por cidade
		}elseif($url_cidade){
			$query = "SELECT * FROM imoveis WHERE cidade='$url_cidade'";
		  //busca por tipo e Cidade
		}elseif($url_tipo AND $url_cidade){
            $query = "SELECT * FROM imoveis WHERE tipo_id='$url_tipo' AND cidade='$url_cidade'";
		 //busca por tipo e bairro
		 }elseif($url_tipo AND $url_bairro){
			$query = "SELECT * FROM imoveis WHERE tipo_id='$url_tipo' AND bairro='$url_bairro'";
		  //busca por tipo
		}elseif($url_tipo){
			$query = "SELECT * FROM imoveis WHERE tipo_id='$url_tipo'";
		}elseif($url_bairro){
			//busca por bairro
			$query = "SELECT * FROM imoveis WHERE bairro='$url_bairro'";
		}elseif($url_categoria){
			//busca por categoria
			$query = "SELECT * FROM imoveis WHERE categoria_id='$categoria_id'";
		}
		///////////////////////

se aguem puder dar uma luz, uma ajuda obriga, sigo tentando e postando. obrigado.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Sapinn
      Opa galera. Então depois que eu comecei a usar cookies no meu sistema o seguinte erro está acontecendo Cannot modify header information - headers already sent by não sei exatamente o que é e preciso de ajuda. O erro ocorre quando eu verifico se a caixa "mantenha-me conectado" é marcada então eu faço uma verificação direto no index.
      <?php     session_start();              include '../app/configuracao.php';         include '../app/autoload.php';         include '../app/Controllers/Admins.php';         $rotas = new Rota();         $db = new DataBase();         $control = new Admins();         if(isset($_COOKIE['acesso'])){             $db->query('select * from admins where acesso = :acesso');             $db->bind('acesso',$_COOKIE['acesso']);             $db->resultado();                  if($db->resultado()){                 $control->fazLogin(isset($db->resultado()->email), isset($db->resultado()->senha));             }         }            ?>  
    • By Jack Oliveira
      Ola pessoal boa noite preciso salvar umas coisas no banco de dados usando ao clicar no botão que esteja aparecendo sem que recarregue a página
       
      Seria isso aqui
       
      HTML do botão
      <div class="btn-group"> <a href="javascript:void(0)" class="rate-btn toggole-contnet"> <i class="fa fa-thumbs-o-up" aria-hidden="true"></i> Sim </a> <a href="javascript:void(0)" class="rate-btn toggole-contnet"> <i class="fa fa-thumbs-o-down" aria-hidden="true"></i> Não </a> </div> No PHP para salvar no banco esta da seguinte forma.
      <?php if(isset($_POST['AvaliComentario'])) { // Se o cookie ainda não foi setado $cookie = isset($_COOKIE["avali_comentario_".$Comentario['id']]) ? $_COOKIE["avali_comentario_".$Comentario['id']] : null; if (!isset($cookie)) { $Adicionar = array( 'comentario_id' => $Comentario['id'], 'up' => post('up'), 'down' => post('down') ); $Query = DBCreate('avali_comentario', $Adicionar); // Se for um sucesso a query if ($Query) { // Seta um cookie setcookie("avali_comentario_".$Comentario['id']."", true, time()+60*60*24*6004); // Retorna false, ou seja, sucesso echo false; Redireciona(''.$URLSHARE.''); }else{ //AbreAlerta("Erro! Ouve um erro ao ".$dados['titulo']."!"); //Redireciona(''.$URLSHARE.''); } }else{ //Sweet('Atenção!!!', 'Você já deu sua Curtida para '.$dados['titulo'].'!', 'warning', 'Fechar'); //AbreAlerta("Ops! Você já deu sua Curtida para ".$dados['titulo']."!"); //Redireciona(''.$URLSHARE.''); } } Só preciso para quando clicar uns dos botão ele salvar sem precisar carregar a página...
       
      Se ter um forma diferente para fazer fico grato pelas dicas que puderem dar ai..
       
       
    • By mark1978
      Boa noite srs, tem o código abaixo e esta funcionando normal e carregando o Qrcode no HTML na soma.
      Porém gostaria de alterar e que fosse da seguinte forma:
      Se "totalServico" for menor que "totalProdutos" e diferente de zero então carregue o Qr Code com esse valor
      Se não o valor for "0,00" carregue o valor "totalProdutos". Essa finalidade é para ter uma opção de desconto.
       
      <?php use Piggly\Pix\StaticPayload; class Os_model extends CI_Model { public function getProdutos($id = null) { $this->db->select('produtos_os.*, produtos.*'); $this->db->from('produtos_os'); $this->db->join('produtos', 'produtos.idProdutos = produtos_os.produtos_id'); $this->db->where('os_id', $id); return $this->db->get()->result(); } public function getServicos($id = null) { $this->db->select('servicos_os.*, servicos.nome, servicos.preco as precoVenda'); $this->db->from('servicos_os'); $this->db->join('servicos', 'servicos.idServicos = servicos_os.servicos_id'); $this->db->where('os_id', $id); return $this->db->get()->result(); } public function valorTotalOS($id = null) { $totalServico = 0; $totalProdutos = 0; if ($servicos = $this->getServicos($id)) { foreach ($servicos as $s) { $totalServico = $totalServico + $s->preco; } } if ($produtos = $this->getProdutos($id)) { foreach ($produtos as $p) { $totalProdutos = $totalProdutos + $p->subTotal; } } return ['totalServico' => $totalServico, 'totalProdutos' => $totalProdutos]; } public function getQrCode($id, $pixKey, $emitente) { if (empty($id) || empty($pixKey) || empty($emitente)) { return; } $result = $this->valorTotalOS($id); $amount = round(floatval($result['totalServico'] + $result['totalProdutos']), 2); if ($amount <= 0) { return; } $pix = (new StaticPayload()) ->applyValidCharacters() ->applyUppercase() ->setPixKey(getPixKeyType($pixKey), $pixKey) ->setMerchantName($emitente->nome, true) ->setMerchantCity($emitente->cidade, true) ->setAmount($amount) ->setTid($id) ->setDescription(sprintf("%s OS %s", $emitente->nome, $id), true); return $pix->getQRCode(); } }  

    • By manolegal
      Olá amigos(as) do Fórum.
      Tenho um número inteiro no PHP e preciso inseri-lo no Postgresql com 02 casas decimais.
      Defini o campo no Postgresql do tipo numeric(14,2)
      O valor está assim no PHP:
      2961966 Preciso gravar no BD da seguinte maneira:
      29619.66 Porém está gravando da seguinte forma:
      2961966.00 Tentei utilizando number_format, porém não consegui:
      $numero_bd = number_format($numero, '.', ''); $numero_bd = number_format($numero,2,"."); $numero_bd = number_format($numero,2,","numerovalor_ref_15,2,",","."); Caso alguém possa me ajudar, desde já agradeço.
    • By dayvidham
      Olá, atualmente faço parte de uma comunidade brasileira que está imersa em um projeto DeFi de um Token que roda na rede BSC.
      Temos um Token chamado SkyRocketSR criado a 31 dias e ja somos mais de 5000 pessoas interessadas no seu sucesso.
      Estamos em busca de programadores, designers e todos que poderem somar à comunidade de alguma forma.
      Alguém gostaria de saber mais do projeto e quem sabe compor a equipe da linha de frente já que somos uma comunidade?
      Obrigado e contamos com você.

      https://skyrocketsr.com/en/

      Aqui há mais sobre nós!
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.