Pesquisar em mais de uma coluna
Gostaria de saber como faço esta pesquisa em pdo.
<?php //selecionando categoria no banco $query = "select idcat, nomecat from categorias where ativada ='1' and controle ='1'"; $result1 = mysql_query($query,$conec) or die (mysql_error()); while ($linha1 = mysql_fetch_array($result1)) { echo "<option value =\\"$linha1[0]\\">$linha1[1]</option>"; } ?>
Claudemir
Curtidas 0
Melhor post
Calebe Menezes
13/06/2017
Olá Claudemir, tudo bem?
Sua dúvida não fico muito clara. No caso você só quer fazer o mesmo procedimento utilizando PDO? Na sua pergunta você diz que quer selecionar mais de uma coluna.
Vamos lá,
Primeiro você vai ter a declaração da sua query
Depois você vai prepara-lá com a conexão que você já vai ter pronta
Após, vc vai passar os parâmetros:
E por último você vai executar a query:
Espero ter ajudado, qualquer dúvida é só falar.
Sua dúvida não fico muito clara. No caso você só quer fazer o mesmo procedimento utilizando PDO? Na sua pergunta você diz que quer selecionar mais de uma coluna.
Vamos lá,
Primeiro você vai ter a declaração da sua query
$query = "select idcat, nomecat from categorias where ativada = ? and controle = ? ";
Depois você vai prepara-lá com a conexão que você já vai ter pronta
$stmt = $dbh->prepare($sql);
Após, vc vai passar os parâmetros:
$stmt->bindValue(1, $ativada); $stmt->bindValue(2, $controle);
E por último você vai executar a query:
$stmt->execute();
Espero ter ajudado, qualquer dúvida é só falar.
GOSTEI 1
Mais Respostas
Claudemir
12/06/2017
Obrigado pela sugestão, mas eu preciso que filtre na coluna ativada os registros =1 e o controle =1.
Poderiam me ajudar?
Poderiam me ajudar?
GOSTEI 0
Calebe Menezes
12/06/2017
Opa Claudemir, beleza?
Então,você vai definir o valor das variáveis $ativada e $controle antes dos parâmetros serem passados. Eu colocaria até antes da query para o código ser executado.
Você simplesmente vai definir desse jeito:
Nesse caso acima, estou definindo esses valores colocando o valor diretamente neles, mas esse valores pode vir de um post por exemplo:
Que seria o caso mais adequado para você utilizar os parâmetros no pdo. Porque se os valores sempre forem esses, você pode utilizar diretamente na sua query
Qualquer dúvida é só falar.
Então,você vai definir o valor das variáveis $ativada e $controle antes dos parâmetros serem passados. Eu colocaria até antes da query para o código ser executado.
Você simplesmente vai definir desse jeito:
$ativada = 1; $controle = 1;
Nesse caso acima, estou definindo esses valores colocando o valor diretamente neles, mas esse valores pode vir de um post por exemplo:
$ativada = $_POST['ativada']; $controle = $_POST['controle'];
Que seria o caso mais adequado para você utilizar os parâmetros no pdo. Porque se os valores sempre forem esses, você pode utilizar diretamente na sua query
$query = "select idcat, nomecat from categorias where ativada = 1 and controle = 1 ";
Qualquer dúvida é só falar.
GOSTEI 0
Claudemir
12/06/2017
Agora deu certo.
Mas tenho outra duvida,
Tenho uma segunda consulta mas não deu certo.
fiz assim
Mas tenho outra duvida,
Tenho uma segunda consulta mas não deu certo.
fiz assim
<select name="notedi" > <option value=" ">selecionar</option> <?php //selecionando categoria no banco $PDO = db_connect(); $query2 = "select idedicao, nomedicao from edicao where controle = 1 "; $stmt2 = $PDO->prepare($query2); $stmt2->bindValue('1', 1, PDO::PARAM_INT); $stmt2->execute(); $user2 = $stmt2->fetch(PDO::FETCH_ASSOC); while($linha2 = $stmt2->fetch(PDO::FETCH_BOTH)) { echo "<option value =\\"$linha2[0]\\">$linha2[1]</option>"; } ?> </select>
GOSTEI 0
Claudemir
12/06/2017
Alguém pode me ajudar??
GOSTEI 0
Calebe Menezes
12/06/2017
Olá Claudemir.
O que exatamente não deu certo na segunda consulta? A consulta não trouxe nenhum resultado?
O que exatamente não deu certo na segunda consulta? A consulta não trouxe nenhum resultado?
GOSTEI 0
Claudemir
12/06/2017
Sim, a segunda consulta não trouxe nenhum resultado.
GOSTEI 0
Calebe Menezes
12/06/2017
Então Claudemir,
Quanto a query, a mesma está certa na sintaxe pelo que vi aqui.
Existe algum registro na sua tabela em que o valor do campo controle seja igual a 1?
Fiquei confuso com o seguinte trecho:
No caso as categorias estão na tabela edicao?
Também gostaria de ver como está a função db_connect()
Qualquer coisa é só falar :)
Quanto a query, a mesma está certa na sintaxe pelo que vi aqui.
Existe algum registro na sua tabela em que o valor do campo controle seja igual a 1?
Fiquei confuso com o seguinte trecho:
<?php //selecionando categoria no banco $PDO = db_connect(); $query2 = "select idedicao, nomedicao from edicao where controle = 1 ";
No caso as categorias estão na tabela edicao?
Também gostaria de ver como está a função db_connect()
Qualquer coisa é só falar :)
GOSTEI 0
Claudemir
12/06/2017
Olá, Pessoal.
Então, o código acima é referente a um segundo filtro.
vou postar o código inteiro.
O primeiro filtro deu certo e o segundo não.
Poderiam me ajudar?
Então, o código acima é referente a um segundo filtro.
vou postar o código inteiro.
<select name="notcat"> <option value=" ">selecionar</option> <?php //selecionando categoria no banco $PDO = db_connect(); $query1 = "select idcat, nomecat from categorias where ativada = 1 and controle = 1 "; $stmt = $PDO->prepare($query1); //$stmt->bindValue(':pass', 12345, PDO::PARAM_STR); #ou assim. //$stmt->bindValue(':pass', 'senha', PDO::PARAM_STR); //$stmt->bindValue(1, $ativada); //$stmt->bindValue(2, $controle); $stmt->execute(); $user = $stmt->fetch(PDO::FETCH_ASSOC); while($linha1 = $stmt->fetch(PDO::FETCH_BOTH)) { echo "<option value =\\"$linha1[0]\\">$linha1[1]</option>"; } ?> </select> </font></font></div></td> <td> </td> <td align="center"><font size="2"><font size="2"><font face="Arial, Helvetica, sans-serif"> <select name="notedi" > <option value=" ">selecionar</option> <?php //selecionando categoria no banco $PDO = db_connect(); $query2 = "select idedicao, nomedicao from edicao where controle = 1 "; $stmt2 = $PDO->prepare($query2); //$stmt2->bindParam('1', 1, PDO::PARAM_INT); //$stmt2->bindValue('1', $controle); //$stmt2->bindParam('1', PDO::PARAM_INT); //$stmt2->bindValue(1, $controle); //$stmt->bindValue(2, $controle); $stmt2->execute(); $user2 = $stmt2->fetch(PDO::FETCH_ASSOC); while($linha2 = $stmt2->fetch(PDO::FETCH_BOTH)) { echo "<option value =\\"$linha2[0]\\">$linha2[1]</option>"; } ?> </select>
O primeiro filtro deu certo e o segundo não.
Poderiam me ajudar?
GOSTEI 0
Fabio Rocha
12/06/2017
Olá Claudemir,
Primeiro verifique no seu banco de dados ou pelo phpMyAdmin ou outra ferramente consulte seu SQL
Se ele retornou algum registro sabemos que tem dados com esta query.
Pois seu código me parece ok em relação ao PHP PDO.
Abraços
Primeiro verifique no seu banco de dados ou pelo phpMyAdmin ou outra ferramente consulte seu SQL
select idedicao, nomedicao from edicao where controle = 1
Se ele retornou algum registro sabemos que tem dados com esta query.
Pois seu código me parece ok em relação ao PHP PDO.
Abraços
GOSTEI 1