Select usando PDO
15/10/2013
0
O select seria da seguinte forma,
No form tem um List que contem os nomes dos campos da tabela e um input que deve ser informado o valor da busca.
Estou tentando utilizar da seguinte forma:
$sql = "SELECT * FROM qd_usuarios WHERE :bus_campo LIKE :bus_valor"; $buscar = $pdo->prepare($sql); $buscar->bindColumn(':bus_campo', $campo_bus, PDO::PARAM_STR); $buscar->bindValue(':bus_valor', "%$valor_bus%", PDO::PARAM_STR); $buscar->execute();
mas não esta dando certo.
Alguém pode me ajudar?
Helio Junior
Posts
23/10/2013
Leandro Richard
Poderia postar o código do seu form também ?
02/11/2013
Helio Junior
<form name="buscar_jogadores" id="buscar_jogadores" action="/qd_admin/perguntas/bus/jogadores.html" method="get" enctype="application/x-www-form-urlencoded" lang="pt"> <table style="text-align: left; width: 980px;" border="0" cellpadding="0" cellspacing="0"> <tr> <td style="text-align: left; width: 240px;" > <label for="campo">Campo</label> <select name="campo"> <option value="id">ID</option> <option value="codigo">Código</option> <option value="nome">Nome</option> <option value="quizname">Quizname</option> <option value="cpf">CPF</option> <option value="data_nascimento">Dt. Nasc.</option> <option value="cidade">Cidade</option> <option value="estado">estado</option> <option value="cep">CEP</option> <option value="email">E-mail</option> </select> </td> <td style="text-align: left; width: 700px;" > <span>Texto:</span> <input name="valor" type="text" size="50" /></td> <td style="text-align: left; width: 10px;" > </td> </tr> <tr> <td style="text-align: center; width: 700px;" colspan="3"><button id="btnBuscar" value="buscar" name="buscar">Buscar</button></td> </tr> </table> </form>
Cogido que recebe do Form.:
$valor_bus = $_GET['valor']; $campo_bus = $_GET['campo']; $sql_bus_jogador_pg = "SELECT * FROM qd_usuarios WHERE :campo_a LIKE :valor_a"; try { $tod_buscar_jogador_pg = $pdo->prepare($sql_bus_jogador_pg); $tod_buscar_jogador_pg->bindValue(':campo_a', $campo_bus, PDO::PARAM_STR); $tod_buscar_jogador_pg->bindValue(':valor_a', "%$valor_bus%", PDO::PARAM_STR); $tod_buscar_jogador_pg->execute(); $total_jogadores = $tod_buscar_jogador_pg->rowCount(); $quantidade_bus = 20; $pagina_bus = (isset($_GET['pagina']) ? (int) $_GET['pagina'] : 1); $inicio_bus = ($quantidade_bus * $pagina_bus) - $quantidade_bus; $sql_bus_jogador = "SELECT * FROM qd_usuarios WHERE :bus_campo LIKE :bus_valor"; try { $totalPagina = ceil($total_jogadores / $quantidade_bus); $tod_buscar_jogador = $pdo->prepare($sql_bus_jogador); $tod_buscar_jogador->bindColumn(':bus_campo', $campo_bus, PDO::PARAM_STR); $tod_buscar_jogador->bindValue(':bus_valor', "%$valor_bus%", PDO::PARAM_STR); $tod_buscar_jogador->execute(); echo $campo_bus.'<br>'; echo $valor_bus.'<br>'; echo $tod_buscar_jogador->rowCount(); if ($tod_buscar_jogador->rowCount() > 0) { $smt->assign("res_Buscar", "mostra_busca"); echo "teste"; while ($arr_quest = $tod_buscar_jogador->fetch()) { $resId[] = $arr_user['id']; $resNome[] = $arr_user['nome']; $resQuizname[] = $arr_user['quiz_name']; $resQuizname1[] = $arr_user['quiz_name_1']; $resQuizname2[] = $arr_user['quiz_name_2']; $resQuizname3[] = $arr_user['quiz_name_3']; $resQuizname4[] = $arr_user['quiz_name_4']; $resQuizname5[] = $arr_user['quiz_name_5']; $resEmail[] = $arr_user['email']; $resDataCad[] = $arr_user['dt_cadastro']; $resCPF[] = $arr_user['cpf']; $resNascimento[] = $arr_user['dt_nascimento']; $resRua[] = $arr_user['rua']; $resNumero[] = $arr_user['numero']; $resBairro[] = $arr_user['bairro']; $resCidade[] = $arr_user['cidade']; $resEstado[] = $arr_user['estado']; $resCEP[] = $arr_user['cep']; $resFone[] = $arr_user['fone']; $resCreditos[] = $arr_user['creditos']; $resStatus[] = $arr_user['status']; } $smt->assign("resId", $resId); $smt->assign("resNome", $resNome); $smt->assign("resQuizname", $resQuizname); $smt->assign("resQuizname1", $resQuizname1); $smt->assign("resQuizname2", $resQuizname2); $smt->assign("resQuizname3", $resQuizname3); $smt->assign("resQuizname4", $resQuizname4); $smt->assign("resQuizname5", $resQuizname5); $smt->assign("resEmail", $resEmail); $smt->assign("resDataCad", $resDataCad); $smt->assign("resCPF", $resCPF); $smt->assign("resNascimento", $resNascimento); $smt->assign("resPaginacao", $paginacao); $smt->assign("resRua", $resRua); $smt->assign("resNumero", $resNumero); $smt->assign("resBairro", $resBairro); $smt->assign("resCidade", $resCidade); $smt->assign("resEstado", $resEstado); $smt->assign("resCEP", $resCEP); $smt->assign("resFone", $resFone); $smt->assign("resCreditos", $resCreditos); $smt->assign("resStatus", $resStatus); } } catch (PDOException $erroBusca) { echo 'erro ao buscar:' . $erroBusca->getMessage(); } } catch (PDOException $erroBusca) { echo 'erro ao buscar:' . $erroBusca->getMessage(); }
Tem alguns detalhes ai que é o Smarty Template.
08/12/2015
Adilson
if (isset($_GET["txtnome"])) { $nome = $_GET["txtnome"];
// Conexao com o banco de dados
$server = "localhost";
$user = "root";
$senha = "";
$base = "teste";
$conexao = mysql_connect($server, $user, $senha) or die("Erro na conexão!");
mysql_select_db($base);
// Verifica se a variável está vazia
if (empty($nome))
{
$sql = "SELECT * FROM contato"; }
else {
$nome .= "%"; $sql = "SELECT * FROM contato WHERE nome like '$nome'";
} sleep(1); $result = mysql_query($sql); $cont = mysql_affected_rows($conexao);
// Verifica se a consulta retornou linhas
if ($cont > 0) {
// Atribui o código HTML para montar uma tabela
$tabela = "<table border='1'>
<thead> <tr>
<th>NOME</th>
<th>TELEFONE</th>
<th>CELULAR</th>
<th>EMAIL</th>
</tr> </thead> <tbody> <tr>";
$return = "$tabela";
// Captura os dados da consulta e inseri na tabela HTML
while ($linha = mysql_fetch_array($result)) {
$return.= "<td>" . utf8_encode($linha["nome"]) . "</td>";
$return.= "<td>" . utf8_encode($linha["fone"]) . "</td>";
$return.= "<td>" . utf8_encode($linha["celular"]) . "</td>";
$return.= "<td>" . utf8_encode($linha["email"]) . "</td>";
$return.= "</tr>"; } echo $return.="</tbody></table>"; }
else {
// Se a consulta não retornar nenhum valor, exibi mensagem para o usuário
echo "Não foram encontrados registros!";
}
}
?>
Clique aqui para fazer login e interagir na Comunidade :)