Jump to content
biza

Filtro com PHP PDO e MYSQL

Recommended Posts

Viva pessoal, 

Estou com um problema na execução de um filtro aos dados vindos da base de dados, sera que alguém me pode ajudar, os dados estão vindo para a pagina através do método $_POST,

que são seleccionados através do carregamento de uma dropbox chamada 'select-segment', desta forma se o utilizador apertar o botão 'action' ele executa o filtro caso não aperte ele executa a seleção sem filtros, será que alguém me pode ajudar...

O erro devolvido é o seguinte:

Fatal error::  Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in /Applications/MAMP/htdocs/cargeWebsite/carList.php:46
Stack trace:
#0 /Applications/MAMP/htdocs/cargeWebsite/carList.php(46): PDOStatement->execute()
#1 /Applications/MAMP/htdocs/cargeWebsite/index.php(155): include('/Applications/M...')
#2 {main}
  thrown in 

$query .='SELECT * FROM tbl_vehicle AS v 
INNER JOIN  tbl_brands AS b ON v.brand_id = b.id_brand 
INNER JOIN 	tbl_images AS i ON v.id_vehicle = i.vehicle_id 
INNER JOIN tbl_fuel    AS f ON v.fuel_id = f.id_fuel 
WHERE v.active = :active';


if(isset($_POST['action'])){
	if(isset($_POST['select-segment']) && $_POST['select-segment']!=''){
		$segment_filter = $_POST['select-segment'];
    	$query.= 'AND segment_id IN ("'.$segment_filter.'")';

	}

	$query .='ORDER BY v.last_inser ASC';  

}else{

	$query .='ORDER BY v.last_inser ASC';  

}
	if($_POST['lenght'] = -1){
		$query_1 = 'LIMIT :inicio, :limite';
	}

    $dbh = createPDO();
    $statement = $dbh->prepare($query);


    $statement->bindValue(':active',$intermedio);
    $statement->execute();
    $number_filter_row = $statement->rowCount();
    
    $statement = $dbh->prepare($query . $query_1);
    
    $statement->bindValue(':inicio',(int)$init, PDO::PARAM_INT);
	$statement->bindValue(':limite',(int)$limite, PDO::PARAM_INT);
	$statement->execute();

 	foreach ($result as $row){
	}
	

 

Share this post


Link to post
Share on other sites

Tópico resolvido, no fim de cada subquery, deve-se dar espaço fo final de forma a não se juntar a proximo filtro...

 

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 Felipe Haberl
      Prezados, bom dia!
       
      Sou iniciante em desenvolvimento utilizando o PHP e estou precisando da ajuda de vocês para criar um gerador de senhas, vou deixar abaixo os critérios de funcionamento:
       
      Palavra:       senhadodia
      Sequencia: 0123456789
      Data do dia: 26012022
       
      A senha seria: NOSENSNN
       
      Desde já agradeço a atenção de todos (a).
    • By arthursanno
      Usando PHP e MySQL, estou tentando elaborar um código de inserção Multi Nível Binário (máximo 2 filhos pra cada pai). A inserção é sem escolher o pai de forma manual. O código tem que localizar o primeiro registro que não possui 2 filhos e inserir o novo registro ali. O desenho final, será uma pirâmide multi nível de 2 em 2.
      Sou iniciante em PHP/MySQL e isso é parte de um estudo (curso), então necessito de apoio para:
      Saber por onde começar a montar essa lógica; Um exemplo de SQL para buscar e inserir nesse formato que descrevi. Obrigado.
    • By Caio Vargas
      Fala pessoal como estOu criando um ecommerce estou com uma dúvida de como criar um filtro de produtos igual a desse site aqui 
      https://www.charmefitness.com.br/produtos/moda-fitness ele já vem marcado a categoria que está e já pega todos os itens daquela categoria alguém tem algo assim ou já fez 
       
       
    • By mateus.andriollo
      Tenhos duas tabelas Cab e Itm, gostaria de listar s sequencia de cab e inserir em um array os itens pertencentes a elas, compo incomum idcab.
       
      Não consigo fazer, o array será para json
    • By AdrianoAP
      Pessoal estou tendo este erro quando eu fui passa a minha aplicação do mysql para o mysqli vejam o código -->>
       
      <?php
        $emitente = $mysqli->query("SELECT nome FROM emitente ORDER BY id ASC LIMIT 1");
        while($ln = $emitente->fetch_array()){
        echo $ln['nome'];
      }?>
       
       
      Devido á isso meu sistema não consegue fazer o login, se alguém puder me dar alguma dica eu agradeço.
×

Important Information

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