Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola pessoal ! sou iniciante na area da programação e preciso de uma ajuda. É o seguinte preciso que quando digito um codigo(cod) no campo "textfield" e teclo "enter" ele busque no banco e adiciona na lista de pedido.
Eu consegui fazer ele funcionar com o a caixa "select" onde eu escolho primeiro a "categoria" e depois o "produto", mas como eu disse eu queria ja qdo eu digita o "cod" no campo "textfield" ele ja adiciona o produto.
#Código
<script type="text/javascript">
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
</script>
<form action="" method="post" enctype="multipart/form-data" style="margin-left:12px; margin-top:-7px;">
Selecione categoría:
<select name="jumpMenu" id="jumpMenu" onChange="MM_jumpMenu('parent',this,0)">
<option value=""> =Selecione=</option>
<?php
include "config/conexao.php";
$idGarcon =$_GET['idGarcon'];
$salto = mysql_query("SELECT * FROM categoria ORDER BY nome ASC");
while($aaa = mysql_fetch_array($salto)){
?>
<option value="inicio.php?btn=vendermesa&id_mesa=<?php echo $numero ?>&id_categoria=<?php echo $aaa['id_categoria']; ?>&idGarcon=<?php echo $idGarcon ?>"><?php echo $aaa['nome'] ?></option>
<?php } ?>
</select>
<label for="textfield"> Codigo:</label>
<input name="cod" type="text" id="cod" value="<?php echo $cod ?>" size="5">
<?php
include "config/conexao.php";
$cod =$_GET['cod'];
$incluir = mysql_query("SELECT * FROM tbl_produtos WHERE cod = $cod ");
while($aaa = mysql_fetch_array($incluir)){
?>
<option value="inicio.php?btn=vendermesa&id_mesa=<?php echo $numero ?>&id_categoria=<?php echo $aaa['id_categoria']; ?>&idGarcon=<?php echo $idGarcon ?>"><?php echo $aaa['nome'] ?></option>
<?php } ?>
</select>
</form>Opa vamos lá!! não, o produto já esta cadastrado porém eu digito o codigo deste produto e ele aparece no pedido, pois como eu disse eu consegui fazer diferente por pesquisa de categoria e depois produto, mas como eu já sei o codigo de cada eu digito direto o codigo do produto e teclo enter e adiciona no pedido!
Sobre as dicas mto obrigado eu vou estudar essas possibilidades sim! é que esse sistema estava parado faz tempo e eu estou remodelando ele para funcionar.
Então é só um SELECT, filtrando pelo valor de $_POST['cod']
SELECT campos FROM tabela WHERE cod = <cod digitado>;
Com os dados retornados, basta inserir no pedido
Funcionou, porém esta com erro
" Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in/home/storage/a/0a/15/jaarts1/public_html/bares/selecionacat.phpon line 31"
e a linha 31 é essa:
while($aaa = mysql_fetch_array($incluir)){
?>
<option value="inicio.php?btn=vendermesa&id_mesa=<?php echo $numero ?>&cod=<?php echo $aaa['cod']; ?>&idGarcon=<?php echo $idGarcon ?>"><?php echo $aaa['nome'] ?></option>
<?php } ?>
</select>
</form>
oque pode ser?
mysql_query falhou e retornou false
Faça debug da query para identificar o erro
Veja: http://rberaldo.com.br/as-mensagens-de-erros-mais-comuns-do-php/#mysql_result_resource
consegui corrigir o erro, e quando digito o código ele me informa o item, mas eu quero que quando eu digito o código do produto ele adiciona-se no campo de pedido mesa conforme esta no código para escolher categoria e depois o item. mto obrigado pela ajuda ate o momento!
Não entendi sua dúvida.
Você quer que, ao digitar um código, ele seja cadastrado no banco e já apareça nos <select>'s?
Se for isso, precisa usar Ajax.
Duas dicas
1. Seu código está vulnerável a SQL Injection, por não filtrar as entradas de dados. Leia este artigo: http://rberaldo.com.br/seguranca-em-sistemas-de-login-protecao-contra-sql-injection/
2. funções mysql_* estão obsoletas desde o PHP 5.5 e já foram removidas no PHP 7. Prefira usar MySQLi ou PDO. Veja mais aqui: http://rberaldo.com.br/mysql-obsoleto-php/