viniciusalopes
(usa Ubuntu)
Enviado em 13/03/2017 - 06:54h
Opa!
Eu corrigi o código do arquivo
result.php tentando alterar o mínimo possível para você não perder a referência com o código anterior; os outros arquivos não foram alterados.
As principais alterações foram:
- Excluí a cláusula 'LIMIT 1' da query, em função da estrutura da tabela, para trazer todos os resultados com a mesma id;
- Alterei os nomes dos campos em função do resultado da consulta ao banco;
- Salvei os valores em variáveis;
- Exibi o resultado após o final do laço 'while';
Está funcionando MAAASSSSS, na MINHA OPINIÃO, há muita coisa que pode ser melhorada, atualizada, modificada, enfim... a começar pela modelagem do banco e pela forma de conexão com o banco, não são bem o que podemos chamar de
"melhores práticas", mas como
opiniões não resolvem problemas, segue SOLUÇÃO:
<?php include 'conexao.php' ?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf8">
<title>Cadastro de Pedidos</title>
</head>
<body id="conteudo">
<h1 align="center" class="botao">Cadastro de Pedidos</h1>
<form name="searchform" method="post" action="result.php">
Pesquisar Pedido: <input type="text" name="buscar"/>
<input type="submit" value="buscar">
</form>
<?php
$id = $_POST['buscar'];
$select = mysql_query("SELECT * FROM oc_order
INNER JOIN oc_order_total
ON oc_order.order_id = oc_order_total.order_id
WHERE oc_order.order_id = '$id'");
while ($res_select = mysql_fetch_array($select)) {
//oc_order
# Armazena o número do Pedido
$order_id = $res_select['order_id'];
# Armazena o primeiro
$firstname = $res_select['firstname'];
# Armazena o último nome
$lastname = $res_select['lastname'];
//oc_order_total
# Armazena o valor da linha e já formata para exibir
$value = number_format(substr($res_select['value'], 0, -2), 2, ',', '.');
# Armazena o 'code' da linha
$code = $res_select['code'];
# Armazena o valor de acordo com o 'code' da linha
if ($code == 'sub_total') {
$sub_total = $value;
} else if ($code == 'shipping') {
$shipping = $value;
} else { # ENTÃO $code == 'total'
$total = $value;
}
} # FIM while ($linha = mysql_fetch_array($query))
?>
<form id="forml" name="forml" method="post" action="cadastra.php" class="botao">
N° Pedido: <input type="text" name="numero" value="<?php echo $order_id; ?>" size="2">
Cliente: <input type="text" name="nome" value="<?php echo $firstname; ?> <?php echo $lastname; ?>" size="18">
Valor: <input type="text" name="valor" value="<?php echo $sub_total; ?>" size="5">
Frete: <input type="text" name="frete" value="<?php echo $shipping; ?>" size="5">
Total: <input type="text" name="total" value="<?php echo $total; ?>" size="5">
<input type="submit" name="cadastra" id="cadastra" value="Salvar" />
</form>
</body>
</html>
"Apresente soluções! Opiniões não resolvem problemas. (Viniciusalopes)"