Ir para conteúdo
Fórum Script Brasil
  • 0

formulario frente de caixa


adrsublimacao

Pergunta

queria saber como faco pra criar um formulario pra frente de caixa

segue um select de exemplo pra busca produtos produtos do banco como exemplo abaixo

$buscaprod         = $connect->query("SELECT * FROM produtos WHERE emitente='$emitente'"); 

 

tenho esses campos 

esse é o campo que queria que ao digitar alguma coisa por exemplo o codigo do produto ou nome parece-se pra eu selecionar e ao selecionar puxava ali no campo valor do produto ai a pessoa so digitava a quantidade e dava enter e salvava o produto

exemplo abaixo pra inserir o pedido depois eu adapto

$salvapedidos= $connect->query("INSERT INTO pedidos(id, nome, quantidade, valorunitario, total) VALUES ('$id','$nome','$quantidade','$valorunitario','$total')");

<div class='row'>
      
    <div class="col-md-12 bg-blue-dark bg-font-blue-dark" style="padding: 5px;">
        <input type="text" name="produto" class="form-control" placeholder="Código, Descrição, Leitor" style="height: 60px; font-size: 30px">
    </div>
</div>
<hr/>

esse é o campo acima

 

 


<div class='row'>
    <div class="col-md-5 bg-blue-dark bg-font-blue-dark" style="padding: 20px; min-height: 300px">


        <br/>   <input type="text" onkeyup="SomaSubTotal()" name="qtd" id="qtd" class="form-control" placeholder="Quantidade" style="height: 60px; font-size: 30px;">
        <br/>
        <input  type="text" id="vProd" onkeypress="mascara(this, mvalor);" onkeyup="SomaSubTotal()" class="form-control" placeholder="Preço Unitário" style="height: 60px; font-size: 30px">
        <br/>
        <input  type="text" id="subtotal"  readonly="" class="form-control" placeholder="Sub Total" style="height: 60px; font-size: 30px">
        <hr/>
        <?= utf8_encode(strftime('%A, %d de %B de %Y', strtotime('today'))) ?> <br/>
        Documento Nº: <span><?=$id_cliente;?></span>
    </div>

    <div class="col-md-1"></div>

    <div class="col-md-6 bg-blue-dark bg-font-blue-dark" style="padding: 15px">
        <div class="col-md-12 bg-white bg-font-white" id="recebeprodutofc" style="overflow-y: scroll; min-height: 220px; max-height: 250px;">

        </div>

        <div class="col-md-12 bg-blue-dark bg-font-blue-dark"><hr/>
            <input type="text" id="valortotal" readonly="" class="form-control tex-right" placeholder="TOTAL" style="height: 60px; font-size: 30px">
        </div>
    </div>
</div>
<hr/>

<script>
    function SomaSubTotal() {
        var qtd = $("#qtd").val();
        var vprod = $("#vProd").val();
        var subtotal = Number(qtd) * Number(vprod);
        $("#subtotal").val(subtotal.toFixed(2));
    }

<script>

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 1

O código a seguir é uma gambiarra, o propósito dele é mostrar como a frente do caixa "seleciona" o produto, em seguida "pega" a quantidade para finalmente mostrar os dados de um único item. Esse código só permite incluir um único item, num único pedido. Para melhorar, eu preciso de mais tempo e recur$o.

<?php
/* mysql:
schema=laravel, usuario root, sem senha
produtos (id int,descricao varchar(45),preço float)
usuarios (id int,nome varchar(45))
pedidos (id int)
orcamentos (id int,idusuario int,idpedido int,idproduto int,quantidade float,preço float,subtotal float) */
$mysqli=new mysqli("localhost","root","","laravel");
session_start();
$_SESSION['codusuario']=1; // isso precisa ser definido na tela de login, não aqui.
$codusuario=$_SESSION['codusuario']; 
$query=$mysqli->query("select * from produtos order by descricao");
$produtos=$query->fetch_all(MYSQLI_ASSOC); ?>
<form>
<select name=codigo onchange=submit()>
	<option>Selecione o produto</option>
	<?php foreach($produtos as $produto) {
		echo "<option value=".$produto['id'].">".$produto['descricao']."</option>";} ?>
</select>
</form>
<?php
if(isset($_GET['codigo'])){
	$codigo=$_GET['codigo'];
	$query=$mysqli->query("select * from produtos where id=$codigo");
	$produto=$query->fetch_assoc();
	$descricao=$produto['descricao'];
	$preço=$produto['preço'];
	$_SESSION['codigo']=$codigo;
	$_SESSION['descricao']=$descricao;
	$_SESSION['preço']=$preço; ?>
	<table>
	<tr><th>Código<th>Descrição<th>Quantidade<th>preço
	<tr><td><?=$codigo?><td><?=$descricao?><td>
	<form style=margin:0>
		<input name=quantidade size=2 onchange=submit()>
	</form>
	<td><?=$preço?>
	</table>
	<?php } 
if(isset($_GET['quantidade'])){
	$quantidade=$_GET['quantidade'];
	$idpedido=1; // rotina precisa ser melhorada para definir número do pedido
	$codsuario=$_SESSION['codusuario'];
	$codigo=$_SESSION['codigo'];
	$descricao=$_SESSION['descricao'];
	$preço=$_SESSION['preço'];
	$id=1; // rotina precisa ser melhorada para definir o id do orçamento
	$subtotal=$quantidade*$preço;
	$mysqli->query("insert into orçamentos 
		(id,idpedido,idusuario,quantidade,idproduto,preço,subtotal)
		values ($id,$codigo,$codusuario,$quantidade,$preço,$subtotal)"); 
		// falta conferir se esse código deu certo
		?>
	<table>
	<tr><th>Código<th>Descrição<th>Quantidade<th>preço<th>Subtotal
	<tr><td><?=$codigo?><td><?=$descricao?><td><?=$quantidade?><td>
	<?=$preço?><td><?=$subtotal?>
	</table> <?php } ?>

 

Link para o comentário
Compartilhar em outros sites

  • 0
<form>
  <input name=codigo placeholder="codigo do produto">
  <input name=quantidade placeholder="quantidade">
  <input type=submit>
</form>
<?php
$mysqli=new mysqli("localhost","root","","laravel");
if(isset($_GET['codigo']) {
	$usuario=1;
	$codigo=$_GET['codigo'];
	$quantidade=$_GET['quantidade'];
	$query=$mysqli->query("insert into orcamento (idusuario, idproduto, quantidade)
 		values ($usuario,$codigo,$quantidade)");}

Esse código é bem simples, não usa o JavaScript, mas mostra como é possível usar somente o PHP para guardar a informação no banco de dados. Ele não oferece a possibilidade do usuário escolher o produto, o código presume que  o usuário sabe o código do produto.

Quando você escreveu o código 
 

SELECT * FROM produtos WHERE emitente='$emitente'

eu logo vi que o problema não está na frente do caixa, mas sim lá atrás. Ninguém vai criar o campo emitente na tabela de produtos. Sem um banco de dados organizado, é impossível pedir qualquer coisa para o PHP. No código que vou publicar no próximo post, vou tentar resolver o problema na frente do caixa.

Editado por Frank K Hosaka
Link para o comentário
Compartilhar em outros sites

  • 0
1 hora atrás, Frank K Hosaka disse:

O código a seguir é uma gambiarra, o propósito dele é mostrar como a frente do caixa "seleciona" o produto, em seguida "pega" a quantidade para finalmente mostrar os dados de um único item. Esse código só permite incluir um único item, num único pedido. Para melhorar, eu preciso de mais tempo e recur$o.

<?php
/* mysql:
schema=laravel, usuario root, sem senha
produtos (id int,descricao varchar(45),preço float)
usuarios (id int,nome varchar(45))
pedidos (id int)
orcamentos (id int,idusuario int,idpedido int,idproduto int,quantidade float,preço float,subtotal float) */
$mysqli=new mysqli("localhost","root","","laravel");
session_start();
$_SESSION['codusuario']=1; // isso precisa ser definido na tela de login, não aqui.
$codusuario=$_SESSION['codusuario']; 
$query=$mysqli->query("select * from produtos order by descricao");
$produtos=$query->fetch_all(MYSQLI_ASSOC); ?>
<form>
<select name=codigo onchange=submit()>
	<option>Selecione o produto</option>
	<?php foreach($produtos as $produto) {
		echo "<option value=".$produto['id'].">".$produto['descricao']."</option>";} ?>
</select>
</form>
<?php
if(isset($_GET['codigo'])){
	$codigo=$_GET['codigo'];
	$query=$mysqli->query("select * from produtos where id=$codigo");
	$produto=$query->fetch_assoc();
	$descricao=$produto['descricao'];
	$preço=$produto['preço'];
	$_SESSION['codigo']=$codigo;
	$_SESSION['descricao']=$descricao;
	$_SESSION['preço']=$preço; ?>
	<table>
	<tr><th>Código<th>Descrição<th>Quantidade<th>preço
	<tr><td><?=$codigo?><td><?=$descricao?><td>
	<form style=margin:0>
		<input name=quantidade size=2 onchange=submit()>
	</form>
	<td><?=$preço?>
	</table>
	<?php } 
if(isset($_GET['quantidade'])){
	$quantidade=$_GET['quantidade'];
	$idpedido=1; // rotina precisa ser melhorada para definir número do pedido
	$codsuario=$_SESSION['codusuario'];
	$codigo=$_SESSION['codigo'];
	$descricao=$_SESSION['descricao'];
	$preço=$_SESSION['preço'];
	$id=1; // rotina precisa ser melhorada para definir o id do orçamento
	$subtotal=$quantidade*$preço;
	$mysqli->query("insert into orçamentos 
		(id,idpedido,idusuario,quantidade,idproduto,preço,subtotal)
		values ($id,$codigo,$codusuario,$quantidade,$preço,$subtotal)"); 
		// falta conferir se esse código deu certo
		?>
	<table>
	<tr><th>Código<th>Descrição<th>Quantidade<th>preço<th>Subtotal
	<tr><td><?=$codigo?><td><?=$descricao?><td><?=$quantidade?><td>
	<?=$preço?><td><?=$subtotal?>
	</table> <?php } ?>

 

show me ajudou bastante a entender a logica

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...