Ir para conteúdo
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");
	}

 

Compartilhar este post


Link para o post
Compartilhar em outros 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!

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

 

 

Compartilhar este post


Link para o post
Compartilhar em outros 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.

Compartilhar este post


Link para o post
Compartilhar em outros 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");

 

Compartilhar este post


Link para o post
Compartilhar em outros 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.

Compartilhar este post


Link para o post
Compartilhar em outros 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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por ILR master
      Fala galera.
      Espero que todos estejam bem.
      Seguinte: Tenho um arquivo xml onde alguns campos estão com : (dois pontos), como o exemplo abaixo:
       
      <item>
      <title>
      d sa dsad sad sadasdas
      </title>
      <link>
      dsadas dsa sad asd as dsada
      </link>
      <pubDate>sadasdasdsa as</pubDate>
      <dc:creator>
      d sad sad sa ad as das
      </dc:creator>
      </item>
       
      Meu código:
       
      $link = "noticias.xml"; 
      $xml = simplexml_load_file($link); 
      foreach($xml -> channel as $ite) {     
           $titulo = $ite -> item->title;
           $urltitulo = $ite -> item->link;
           print $urltitulo = $ite -> item->dc:creator;
      } //fim do foreach
      ?>
       
      Esse campo dc:creator eu não consigo ler. Como faço?
       
      Agradeço quem puder me ajudar.
       
      Abs
       
       
    • Por First
      Olá a todos!
       
      Eu estou criando um sistema do zero mas estou encontnrando algumas dificuldades e não estou sabendo resolver, então vim recorrer ajuda de vocês.
      Aqui está todo o meu código: https://github.com/PauloJagata/aprendizado/
       
      Eu fiz um sistema de rotas mas só mostra o conteúdo da '/' não sei porque, quando eu tento acessar o register nada muda.
      E eu também quero que se não estiver liberado na rota mostra o erro de 404, mas quando eu tento acessar um link inválido, nada acontece.
      Alguém pode me ajudar com isso? E se tiver algumas sugestão para melhoria do código também estou aceitando.
       
       
      Desde já, obrigado.
    • Por landerbadi
      Olá pessoal, boa tarde
       
      Tenho uma tabela chamada "produtos" com os seguintes campos (id, produto) e outra tabela chamada "itens" com os seguintes campos (id, prod_01, prod_02, prod_03, prod_04).
       
      Na tabela produtos eu tenho cadastrado os seguintes produtos: laranja, maçã, uva, goiaba, arroz, feijão, macarrão, etc.
       
      Na tabela itens eu tenho cadastrado os itens da seguinte maneira:
       
      1, laranja, uva, arroz, feijão;
      2, maçã, macarrão, goiaba, uva;
      3, arroz, feijão, maçã, azeite
       
      Meu problema é o seguinte: 
      Eu escolho um produto da tabela "produtos", por exemplo "uva".  Preciso fazer uma consulta na tabela "itens" para ser listado todos os registros que contenham o produto "uva" e que todos os demais produtos estejam cadastrados na tabela "produtos".
       
      No exemplo acima seria listado apenas dois registros, pois o terceiro registro não contém o produto "uva". 
       
      Alguém pode me ajudar? Pois estou quebrando a cabeça a vários dias e não consigo achar uma solução.
    • Por landerbadi
      Boa tarde pessoal. Estou tentado fazer uma consulta no banco de dados porém estou tendo dificuldades. Tenho uma tabela chamada "itens" com os seguintes campos: id, item, plural, ativo. Nela tem cadastrado vários itens e seu respectivo plural. No campo ativo eu coloco a letra "S" para informar que esta palavra está ativa no sistema. Por exemplo: 1, casa, casas, S 2, mesa, mesas, S 3, cama, camas, S 4, moto, motos, S 5, rádio, rádios O quinto registro "radio" não está ativo no sistema pois não tem um "S" no campo ativo. E outra tabela chamada "variações" com os seguintes campos (id, item1, item2, item3) com os seguintes registros: 1, casa, camas, moto 2, mesas, casas, radio 3, rádio, cama, mesa Eu preciso fazer uma busca na tabela variações da seguinte maneira: Eu escolho um registro na tabela "itens", por exemplo "casa". Preciso fazer com que o php me liste todos os registros da tabela "variações" que contenham a palavra "casa". Porém se tiver algum registro com a palavra "casas" também tem que ser listado. Neste caso ele irá encontrar dois registros. Agora eu preciso que o php verifique os demais itens e faça a listagem apenas dos item que estão ativos (que contenham um "S" no campo ativo. Neste caso ele irá encontrar apenas um registro, pois o segundo registro contém a palavra "rádio". E "rádio" não está ativo na tabela itens. Como faço isso?
    • Por First
      Olá a todos!
       
      Quando eu tento fazer o login me mostra esse erro "Could not log you in."; Alguém sabe me ajudar a resolver esse problema no meu código?
      <?php require_once("core/init.php"); if (Input::exists()) { if (Token::check(Input::get("token"))) { $validate = new Validate(); $validation = $validate->check($_POST, array( "username" => array("required" => true), "password" => array("required" => true) )); if ($validation->passed()) { $user = new User(); $remember = (Input::get("remember")) === "on" ? true : false; $login = $user->login(Input::get("username"), Input::get("password"), $remember); if ($login) { Session::flash("home", "Welcome back!"); Redirect::to("index.php"); } else { echo "Could not log you in."; } } else { foreach ($validation->errors() as $error) { echo $error."<BR>"; } } } } ?> <form action="" method="POST"> <div class="field"> <label for="username">Username</label> <input type="text" name="username" id="username"> </div> <div class="field"> <label for="password">Password</label> <input type="password" name="password" id="password"> </div> <div class="field"> <label for="remember"> <input type="checkbox" name="remember" id="remember"> Remember me </label> </div> <input type="hidden" name="token" value="<?php echo Token::generate(); ?>"> <input type="submit" value="Log in"> </form>  
       
      Desde já obrigado.
×

Informação importante

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