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

orcamento.php, um péssimo exemplo de programação


Frank K Hosaka

Pergunta

A listagem que segue é um péssimo exemplo de programação, na verdade se trata de uma gambiarra, ele viola todas as regras de uma boa programação, mas ele foi criado (mas falta muita coisa, ele não consegue por exemplo abrir um novo pedido), mas resume tudo o que eu aprendi em PHP.

Eu comprei o meu primeiro computador de bolso em 1999, desde então vivi sonhando com o banco de dados num computador de bolso. O computador de bolso não existe mais, no lugar surgiram os smartphones, mas não consegui instalar nenhum banco de dados no IoS e nem no Android.

Só em 2021 é que descobri que havia uma versão WampServ para o Windows e ainda de graça. Junto com o Apache, veio o MySQL e o PHP.  Eu fiquei encantado com o PHP. O PHP exige que você saiba usar o HTML, eu sinceramente não sei como trabalhar com o HTML, estou aprendendendo na base da tentativa e erro.

Com o WampServ finalmente consegui conectar o smartphone no banco de dados do MySQL, através da rede local.

Claro que não faz o menor sentido você trabalhar com o banco de dados no celular, se o notebook está do lado. Eu pensei em usar o celular fora da rede local, lá no meio da rua. Foi aí que eu descobri o ngrok, ele cria um canal de comunicação bem esperta que conecta qualquer aparelho ao notebook através da internet. Não sei se o ngrok é seguro, mas ele me ajudou a realizar o meu sonho de consultar o banco de dados lá no meio da rua com o celular.

A regra do PHP é criar pelo menos uma página HTML para cada código PHP. Na hora que eu criei o orcamento.php eu me perguntei se não é possível criar todas as páginas HTML num só script PHP. Ou seja, ao invés de criar um script para consultar produto, outro para eliminar um item do pedido, outro para acrescentar um item no produto, e assim vai, em vários scripts PHP, o que me impede de fazer tudo num só script?

Claro que o código ficou uma bela macarronada, difícil de depurar. Como o PHP não tem uma janela imediata, apenas o navegador, várias vezes tive que usar a instrução echo $variavel; exit; para ver o tamanho do meu erro. Esse é o famoso método científico da tentativa e erro. Nada produtivo, mas muito bom para um aposentado como eu que está cansado de ver Netflix. Se você está cansado do Netflix, o PHP é um ótimo companheiro, toda hora ele pede para você fazer curso de digitação.

A gambiarra que utilizei foi o método implicito do PUT, gerado pelo marcador <input> e <a href> ou pelo comando header. Todos eles passam valores para a página orçamento.php e o orçamento.php vai executanto uma tarefa específica para os valores que recebe.

A seguir o código do orcamento.php bem como a estrutura das tabelas em MySQL:

 

<?php
echo '<meta name="viewport" content="width=device"-width, initial-scale=1">';
function dec($num) {$fmt = number_format($num,2,',','.'); return $fmt;} 
function deca($num) {$fmt = str_replace(',','.',$num); return $fmt;}
function df($data) {$fmt = date('d/m/Y',strtotime($data)); return $fmt;}
$codprod=$_GET['codprod'] ?? null;
$com=$_GET['com'] ?? null;
$id=$_GET['id'] ?? null;
$ped=$_GET['ped'] ?? null;

$mysqli=new mysqli("localhost","root","","diario"); // não defini senha, tenho pavor de perder a conexão com o MySQL

//rotina para excluir item do orçamento
if (empty($com)){;} else {if ($com=='dec') {
	$query=$mysqli->query("delete from tbhistped where id=$id");
	$query=$mysqli->query("select sum(subtotal) as total from tbhistped where codped = $ped");
	$total = $query->fetch_assoc()['total'];
	$total=round($total,2);
	$query=$mysqli->query("update tbpedido set totalped = $total, dia = '".date('Y-m-d')."' where codped = $ped");}}

//rotina para incluir item no orçamento
if (empty($com)){;} else {if ($com=='adc') {
	$qt=deca($_GET['qt']);
	$codprod = $_GET['codprod'];
	$unitario = $_GET['unitario'];
	$subtotal = round($qt * $unitario,2);
	
	$query=$mysqli->query("insert into tbhistped (codped,qt,codprod,unitario,subtotal) values ($ped,$qt,$codprod,$unitario,$subtotal)");
	$query=$mysqli->query("select sum(subtotal) as total from tbhistped where codped = $ped");
	$total = $query->fetch_assoc()['total'];$total=round($total,2);
	//echo "update tbpedido set totalped = $total, dia = '".date('Y-m-d')."' where codped = $ped";exit;
	$query=$mysqli->query("update tbpedido set totalped = $total, dia = '".date('Y-m-d')."' where codped = $ped");
	header('location:orcamento.php');}}
	
//rotina para selecionar um produto
if (empty($com)) {;} else {if ($com=='slc') {
	echo "<table><tr><th>Código</th><th>Descrição</th></tr>";
	$query=$mysqli->query("select * from tbprod order by prod");
	while($linha = $query->fetch_assoc()) {
		$codprod = $linha['codprod'];
		$codprod = "<a href=orcamento.php?codprod=$codprod>".$linha['codprod']."</a>";
		echo "<tr><td align='right'>$codprod</td><td>".$linha['prod']."</td></tr>";}
	echo "</table>";
	exit;}}
$query = $mysqli->query("select * from tbpedido");
$num_rows = $query->num_rows;
if ($num_rows==0) {$query=$mysqli->query("insert into tbpedido (codped) values (1)");}
$query = $mysqli->query("select * from tbpedido order by codped desc");
$row = $query->fetch_assoc();
$ped = $row['codped'];
$dia = df($row['dia']);
$total = $row['totalped'];
if (empty($total)) {$total=0;}

echo "<font color=red>Pedido $ped de $dia, Total R$ ".dec($total);
echo "</font><br>Para excluir item do pedido, selecione a unidade do item";
echo "<table><tr><th>Produto</th><th>Qt</th><th>Un</th><th>Preço</th><th>Total</th></tr>";

$query = $mysqli->query("SELECT tbhistped.id,tbhistped.codped, tbhistped.codprod, tbhistped.qt as qt, tbhistped.unitario as unitario, tbhistped.subtotal, tbprod.prod as prod, tbprod.un as un
FROM tbhistped INNER JOIN tbprod ON tbhistped.codprod = tbprod.codprod and tbhistped.codped = $ped ORDER BY tbhistped.id;");


while ($row = $query->fetch_assoc()) {
	$un = $row['un'];
	$un = "<a href='orcamento.php?com=dec&ped=$ped&id=".$row['id']."'>$un</a>";
	echo "<tr><td>".$row['prod']."</td><td align=right>".dec($row['qt'])."</td><td>$un</td><td align=right >".dec($row['unitario']);
	echo "</td><td align=right>".dec($row['subtotal'])."</td></tr>"; }
if (empty($codprod)) {
	echo "<tr><td><a href='produto.php?end=orcamento.php'>Selecione o produto</a></td></tr>";} else {
	$query = $mysqli->query("select * from tbprod where codprod=$codprod");
	$row=$query->fetch_assoc();
	$custo = $row['custo'];
	echo "<tr><td>".$row['prod']."</td><td>";
	echo "<form action='orcamento.php'><input name='qt' width='5'><input type='hidden' name='codprod' value=$codprod>";
	echo "<input type='hidden' name='com' value='adc'><input type='hidden' name='unitario' value=$custo>";
	echo "<input type='hidden' name='ped' value=$ped></td><td>".$row['un']."</td><td align=right>".dec($row['custo'])."</td></td>";}

 

tbprod.png

tbpedido.png

tbhistped.png

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 1

Rapaz!
Parabéns pela produtividade!
Em minhas andanças pelo desenvolvimento de web apps, também comecei assim.
Depois, a primeira coisa que comecei a fazer foi nomear melhor as variáveis.
Em seguida, comecei a separar a lógica da apresentação. Foi quando comecei a entender que a lógica acontece no servidor(backend) e a apresentação(frontend) acontece no usuário.

Eu não entendi o que significam os nomes das funções:
dec,
deca,
df
Eu preciso observá-las com calma, pra poder entender o que fazem.
Enquanto no nome, essa informação já poderia estar autocontida.

Também não entendi o que signica un varchar(30) na tabela tbprod

Mas está indo muito bem!
Parabéns mesmo!

Link para o comentário
Compartilhar em outros sites

  • 1
drop schema if exists diario;
create schema diario;
use diario;

create table tbpedido(
  codped int primary key auto_increment,
  totalped float,
  dia date
);

insert into tbpedido(totalped, dia) values(50, '2022-03-18');

create table tbprod(
  codprod int primary key auto_increment,
  un varchar(30),
  prod varchar(80),
  custo decimal(13,2),
  codbar varchar(14),
  codforn varchar(30),

  unique key(prod, codbar)
);

insert into tbprod(un, prod, custo, codbar, codforn) 
values
(50, 'chiclete', 1, 123456, 'abc-123'),
(40, 'jujuba', .5, 543211, 'abc-123');

create table tbhistped(
  id int primary key auto_increment,
  codped int, 
  codprod int, 
  qt float, 
  unitario float, 
  subtotal float, 

  constraint foreign key (codped) references tbpedido (codped),
  constraint foreign key (codprod) references tbprod (codprod)
);

Eu não consegui rodar aqui até agora.
Se puder, gentileza conferir se com o banco de dados assim funcionaria.
image.thumb.png.2c0a28e81c74deb073eb8f3c9656debf.png
image.thumb.png.0e8c974461ec432290b2d67706821327.png

Dá um erro na linha 76, porque a variável $ped é iniciada com o valor null
E a query com codped=
Dá erro.
Afinal, como o sr. procede pra executar esse script?

Editado por lowys
Link para o comentário
Compartilhar em outros sites

  • 0

Obrigado Iowys. dec é a função que pega o valor do MySQL e apresenta de forma abrasileirada o número para o usuário. deca faz o contrário, pega o número abrasileirado do usuário e transforma no formato que o MySQL espera. df pega a data do MySQL e abrasileira no padrão "dia/mês/ano".

varchar(30) define o campo como alfa numérico com no máximo 30 posições na tabela MySQL. Se o campo tiver 5 caracteres, ele vai ocupar exatamente 5 caracteres. Já o char(30) vai ocupar todas as 30 posições dentro do HD, não importa se você não usou todo o espaço alocado.

Fiz o teste no meu celular, e encontrei um tremendo erro logo na primeira linha. O marcador <meta>  não pode ser definido dentro do script <?php ?>, ele tem que vir antes do script. Do jeito que está, o usuário vai enxergar pouca coisa no celular. É assim que vou aprendendo HTML, tem coisas que não dá para fazer com o poderoso echo do PHP.

Quanto a nomenclatura, você está coberto de razão. Mas eu cansei de brigar com o PHP, quanto mais você escreve mais o PHP encontra erro, assim estou apelando para palavras bem curtas, nada descritivas, impossíveis de reduzir. Eu escrevia CodFornecedor, CodFornec, CodForn, e de tanta advertência que recebi do PHP, decidi escrever tudo em minúsculo e assim decidi por codforn tanto no nome do campo quanto na variável. Mas o PHP é muito chato, ele não aceita eu escrever $_get, ele me obriga a escrever $_GET.

Mas eu fui honesto. Eu comecei o título alertando que o meu código é um péssimo exemplo de programação.

 

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

  • 0

Inclui a rotina de novo orçamento, e a versão 2.0 ficou assim:

 

<meta name="viewport" content="width=device-width, initial-scale=1">
<?php
function dec($num) {$fmt = number_format($num,2,',','.'); return $fmt;} 
function deca($num) {$fmt = str_replace(',','.',$num); return $fmt;}
function df($data) {$fmt = date('d/m/Y',strtotime($data)); return $fmt;}
$codprod=$_GET['codprod'] ?? null;
$com=$_GET['com'] ?? null;
$id=$_GET['id'] ?? null;
$ped=$_GET['ped'] ?? null;

$mysqli=new mysqli("localhost","root","","diario");

//rotina para um novo pedido (regra: não abrir novo pedido se o anterior não foi utilizado)
if (empty($com)) {;} else {if ($com=='novo') { 
	$query=$mysqli->query("select * from tbpedido order by codped desc");
	$row = $query->fetch_assoc();
	$ultped = $row['codped'];
	$totalped = $row['totalped'];
	
	if ($totalped>0){ 
		$dia=date('Y-m-d');
		$ultped = $ultped + 1; 
		$query=$mysqli->query("insert into tbpedido (codped,dia) values ($ultped,'$dia')");}
	header('location:orcamento.php?ped='.$ultped);}}

//rotina para um pedido anterior
if (empty($com)){;} else {if ($com=='anterior') { if ($ped>1) {$ped=$ped-1;header('location:orcamento.php?ped='.$ped);}}}

//rotina para excluir item do orçamento
if (empty($com)){;} else {if ($com=='dec') {
	$query=$mysqli->query("delete from tbhistped where id=$id");
	$query=$mysqli->query("select sum(subtotal) as total from tbhistped where codped = $ped");
	$total = $query->fetch_assoc()['total'];
	$total=round($total,2);
	$query=$mysqli->query("update tbpedido set totalped = $total, dia = '".date('Y-m-d')."' where codped = $ped");}}

//rotina para incluir item no orçamento
if (empty($com)){;} else {if ($com=='adc') {
	$qt=deca($_GET['qt']);
	$codprod = $_GET['codprod'];
	$unitario = $_GET['unitario'];
	$subtotal = round($qt * $unitario,2);
	
	$query=$mysqli->query("insert into tbhistped (codped,qt,codprod,unitario,subtotal) values ($ped,$qt,$codprod,$unitario,$subtotal)");
	$query=$mysqli->query("select sum(subtotal) as total from tbhistped where codped = $ped");
	$total = $query->fetch_assoc()['total'];$total=round($total,2);
	$query=$mysqli->query("update tbpedido set totalped = $total, dia = '".date('Y-m-d')."' where codped = $ped");
	header('location:orcamento.php?ped='.$ped);}}
	
//rotina para selecionar um produto
if (empty($com)) {;} else {if ($com=='slc') {
	$sql="select * from tbprod order by prod";
	$proc = $_GET['proc'] ?? null;
	if (empty($proc)) {;} else {
		if (strlen($proc) > 1) {$sql="select * from tbprod where prod like '%$proc%' order by prod";
		if ($proc[0]=="@"){$proc=substr($proc,1);
		$sql="select * from tbprod where codforn like '%$proc%' order by prod";}} else  
		{$sql="select * from tbprod where prod like '$proc%' order by prod";}}
	echo "<form action='orcamento.php'><br>Procurar: ";
	echo "<input name='proc' autocomplete='off' value=$proc ><input type='hidden' name='com' value='slc'></form>";
	echo "<table><tr><th>Código</th><th>Descrição</th></tr>";
	$query=$mysqli->query($sql);
	while($linha = $query->fetch_assoc()) {
		$codprod = $linha['codprod'];
		$codprod = "<a href=orcamento.php?codprod=$codprod&ped=$ped>".$linha['codprod']."</a>";
		echo "<tr><td align='right'>$codprod</td><td>".$linha['prod']."</td></tr>";}
	echo "</table>";
	exit;}}
	
$query = $mysqli->query("select * from tbpedido");
$num_rows = $query->num_rows;

if ($num_rows==0) {$query=$mysqli->query("insert into tbpedido (codped,dia) values (1,date(now()))");$ped=1;}

$query = $mysqli->query("select * from tbpedido where codped=$ped");
$row = $query->fetch_assoc();
if (empty($ped)) {$ped = $row['codped'];}
$dia = df($row['dia']);
$totalped = $row['totalped'];
if (empty($totalped)) {$totalped=0;}

echo "<table><tr><font color=red>Pedido $ped de $dia, Total R$ ".dec($totalped)."</tr>";
echo "<tr></font><br>Para excluir item do pedido, selecione a unidade do item </tr>";
echo "<tr><td><form action='orcamento.php'><input type='submit' name='com' value='novo'><input type='hidden' name='com' value='novo'></form></td>";
echo "<td><form action='orcamento.php'><input type='submit' name='com' value='anterior'><input type='hidden' name=ped value=$ped></form></td></tr></table>";
echo "<table><tr><th>Produto</th><th>Qt</th><th>Un</th><th>Preço</th><th>Total</th></tr>";

$sql="SELECT tbhistped.id,tbhistped.codped, tbhistped.codprod, tbhistped.qt as qt, tbhistped.unitario as unitario, tbhistped.subtotal,";
$sql.="tbprod.prod as prod, tbprod.un as un ";
$sql.="FROM tbhistped INNER JOIN tbprod ON tbhistped.codprod = tbprod.codprod and tbhistped.codped = $ped ORDER BY tbhistped.id";

$query = $mysqli->query($sql);


while ($row = $query->fetch_assoc()) {
	$un = $row['un'];
	$un = "<a href='orcamento.php?com=dec&ped=$ped&id=".$row['id']."'>$un</a>";
	echo "<tr><td>".$row['prod']."</td><td align=right>".dec($row['qt'])."</td><td>$un</td><td align=right >".dec($row['unitario']);
	echo "</td><td align=right>".dec($row['subtotal'])."</td></tr>"; }
	if (empty($codprod)) {
		echo "<tr><td><a href='orcamento.php?com=slc&ped=$ped'>Selecione o produto</a></td></tr>";} else {
			$query = $mysqli->query("select * from tbprod where codprod=$codprod");
			$row=$query->fetch_assoc();
			$custo = $row['custo'];
			echo "<tr><td>".$row['prod']."</td><td>";
			echo "<form action='orcamento.php'><input name='qt' autocomplete=off width=5><input type='hidden' name='codprod' value=$codprod>";
			echo "<input type='hidden' name='com' value='adc'><input type='hidden' name='unitario' value=$custo>";
			echo "<input type='hidden' name='ped' value=$ped></td><td>".$row['un']."</td><td align=right>".dec($row['custo'])."</td></td>";}
?>

 

Link para o comentário
Compartilhar em outros sites

  • 0

Isso é um tremendo erro de lógica. Testei várias vezes até o código funcionar. Mas esqueci de testar quando o usuário entra pela primeira vez, aonde esqueci de definir a variável $pec que é o motor de todo o programa. Que mancada! Eu peço sinceras desculpas.

Para contornar o problema paliativamente, digite orcamento.php?ped=1 na barra de endereços. Agradeço por testar o meu programa.

Quanto à criação das tabelas, nunca passou na cabeça fazer tal tarefa dentro do orçamento.php. Isso é um outro erro de lógica, eu jamais iria imaginar que alguém teria coragem de testar o meu código, mas isso vai além da minha capacidade. O MySQL ainda é novo para mim. O meu maior problema hoje é saber como conectar as chaves das tabelas e criar a integridade referencial e impedir que as subtabelas fiquem órfãs da tabelas principais.

O máximo que posso fazer é consertar o erro de lógica, e publicar o orçamento.php 3.0 assim que ficar pronto, por enquanto, obrigado por tudo e por prestigiar o meu código com o seu tempo.

-----------------------------

A seguir a listagem do orcamento.php 3.0, corrigindo o erro da definição do $ped.

 

<meta name="viewport" content="width=device-width, initial-scale=1">
<?php
function dec($num) {$fmt = number_format($num,2,',','.'); return $fmt;} 
function deca($num) {$fmt = str_replace(',','.',$num); return $fmt;}
function df($data) {$fmt = date('d/m/Y',strtotime($data)); return $fmt;}
$codprod=$_GET['codprod'] ?? null;
$com=$_GET['com'] ?? null;
$id=$_GET['id'] ?? null;
$ped=$_GET['ped'] ?? null;

$mysqli=new mysqli("localhost","root","","diario");

//rotina para um novo pedido (regra: não abrir novo pedido se o anterior não foi utilizado)
if (empty($com)) {;} else {if ($com=='novo') { 
	$query=$mysqli->query("select * from tbpedido order by codped desc");
	$row = $query->fetch_assoc();
	$ultped = $row['codped'];
	$totalped = $row['totalped'];
	
	if ($totalped>0){ 
		$dia=date('Y-m-d');
		$ultped = $ultped + 1; 
		$query=$mysqli->query("insert into tbpedido (codped,dia) values ($ultped,'$dia')");}
	header('location:orcamento.php?ped='.$ultped);}}

//rotina para um pedido anterior
if (empty($com)){;} else {if ($com=='anterior') { if ($ped>1) {$ped=$ped-1;header('location:orcamento.php?ped='.$ped);}}}

//rotina para excluir item do orçamento
if (empty($com)){;} else {if ($com=='dec') {
	$query=$mysqli->query("delete from tbhistped where id=$id");
	$query=$mysqli->query("select sum(subtotal) as total from tbhistped where codped = $ped");
	$total = $query->fetch_assoc()['total'];
	$total=round($total,2);
	$query=$mysqli->query("update tbpedido set totalped = $total, dia = '".date('Y-m-d')."' where codped = $ped");}}

//rotina para incluir item no orçamento
if (empty($com)){;} else {if ($com=='adc') {
	$qt=deca($_GET['qt']);
	$codprod = $_GET['codprod'];
	$unitario = $_GET['unitario'];
	$subtotal = round($qt * $unitario,2);
	
	$query=$mysqli->query("insert into tbhistped (codped,qt,codprod,unitario,subtotal) values ($ped,$qt,$codprod,$unitario,$subtotal)");
	$query=$mysqli->query("select sum(subtotal) as total from tbhistped where codped = $ped");
	$total = $query->fetch_assoc()['total'];$total=round($total,2);
	$query=$mysqli->query("update tbpedido set totalped = $total, dia = '".date('Y-m-d')."' where codped = $ped");
	header('location:orcamento.php?ped='.$ped);}}
	
//rotina para selecionar um produto
if (empty($com)) {;} else {if ($com=='slc') {
	$sql="select * from tbprod order by prod";
	$proc = $_GET['proc'] ?? null;
	if (empty($proc)) {;} else {
		if (strlen($proc) > 1) {$sql="select * from tbprod where prod like '%$proc%' order by prod";
		if ($proc[0]=="@"){$proc=substr($proc,1);
		$sql="select * from tbprod where codforn like '%$proc%' order by prod";}} else  
		{$sql="select * from tbprod where prod like '$proc%' order by prod";}}
	echo "<form action='orcamento.php'><br>Procurar: ";
	echo "<input name='proc' autocomplete='off' value=$proc ><input type='hidden' name='com' value='slc'></form>";
	echo "<table><tr><th>Código</th><th>Descrição</th></tr>";
	$query=$mysqli->query($sql);
	while($linha = $query->fetch_assoc()) {
		$codprod = $linha['codprod'];
		$codprod = "<a href=orcamento.php?codprod=$codprod&ped=$ped>".$linha['codprod']."</a>";
		echo "<tr><td align='right'>$codprod</td><td>".$linha['prod']."</td></tr>";}
	echo "</table>";
	exit;}}

// definir a variável $pec onde ele é igual a 1 se a tbpedido estiver vazia, caso contrário assume o último pedido.
if (empty($ped)) {	
	$query = $mysqli->query("select * from tbpedido");
	$num_rows = $query->num_rows;
	if ($num_rows==0) {$query=$mysqli->query("insert into tbpedido (codped,dia) values (1,date(now()))");$ped=1;} else
		{$query = $mysqli->query("select * from tbpedido order by codped desc");$ped=$query->fetch_assoc()['codped'];}}
		
$query = $mysqli->query("select * from tbpedido where codped=$ped");
$row = $query->fetch_assoc();
$dia = df($row['dia']);
$totalped = $row['totalped'];
if (empty($totalped)) {$totalped=0;}

echo "<table><tr><font color=red>Pedido $ped de $dia, Total R$ ".dec($totalped)."</tr>";
echo "<tr></font><br>Para excluir item do pedido, selecione a unidade do item </tr>";
echo "<tr><td><form action='orcamento.php'><input type='submit' name='com' value='novo'><input type='hidden' name='com' value='novo'></form></td>";
echo "<td><form action='orcamento.php'><input type='submit' name='com' value='anterior'><input type='hidden' name=ped value=$ped></form></td></tr></table>";
echo "<table><tr><th>Produto</th><th>Qt</th><th>Un</th><th>Preço</th><th>Total</th></tr>";

$sql="SELECT tbhistped.id,tbhistped.codped, tbhistped.codprod, tbhistped.qt as qt, tbhistped.unitario as unitario, tbhistped.subtotal,";
$sql.="tbprod.prod as prod, tbprod.un as un ";
$sql.="FROM tbhistped INNER JOIN tbprod ON tbhistped.codprod = tbprod.codprod and tbhistped.codped = $ped ORDER BY tbhistped.id";

$query = $mysqli->query($sql);


while ($row = $query->fetch_assoc()) {
	$un = $row['un'];
	$un = "<a href='orcamento.php?com=dec&ped=$ped&id=".$row['id']."'>$un</a>";
	echo "<tr><td>".$row['prod']."</td><td align=right>".dec($row['qt'])."</td><td>$un</td><td align=right >".dec($row['unitario']);
	echo "</td><td align=right>".dec($row['subtotal'])."</td></tr>"; }
	if (empty($codprod)) {
		echo "<tr><td><a href='orcamento.php?com=slc&ped=$ped'>Selecione o produto</a></td></tr>";} else {
			$query = $mysqli->query("select * from tbprod where codprod=$codprod");
			$row=$query->fetch_assoc();
			$custo = $row['custo'];
			echo "<tr><td>".$row['prod']."</td><td>";
			echo "<form action='orcamento.php'><input name='qt' autocomplete=off width=5><input type='hidden' name='codprod' value=$codprod>";
			echo "<input type='hidden' name='com' value='adc'><input type='hidden' name='unitario' value=$custo>";
			echo "<input type='hidden' name='ped' value=$ped></td><td>".$row['un']."</td><td align=right>".dec($row['custo'])."</td></td>";}
?>

 

Editado por Frank K Hosaka
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,5k
×
×
  • Criar Novo...