zenkphp 0 Denunciar post Postado Junho 27, 2016 Opa, tudo bem? Por necessidade, estou aprendendo a programar em php e usar a linguagem html... e estou tentando praticar e estou com problema de logica, eu não possuo uma logica apurada, vou explanar o que estou tentando fazer e o que já fiz até agora... Solicitar ao usuário a quantidade de itens que estão sendo comprados pelo cliente (pagina 1), depois de clicar em continuar, o sistema tem que apresentar um formulario com os campos para insercao dos itens (selecionando o produto e informar quantidade de produtos)(pagina 2), apos finalizar a compra, o sistema apresenta uma nota em formato tabula contendo os itens, com valor unitario de cada item, a quantidade de itens comprados, o valor total do item e o valor total da compra(tela 3)... Eu já fiz a pagina 1 e a página 2, mas a 3 nao sei nem direito onde começar... mas não gostaria da resposta, e sim me dar uma dica ou me falar uma logica para eu aplicar, essa parte de logica é complicado para eu entender! Segue o que eu já fiz: Index.html <!DOCTYPE html> <html> <head><title>zenk</title></head> <body> <center> <h3>Informe a quantidade de produtos</h3> <form action="produto.php" method="post"> <p> <input name="qntd" type="text" required> </p> <p> <input type="submit" name="submit" value="Continuar"> </p> </form> </center> </body> </html> produto.php <!DOCTYPE html> <html> <head><title>zenk 2</title></head> <body> <center> <?php $qntd = $_POST["qntd"]; echo "Informe os produtos e quantidade<br>"; echo "<br>"; for ($x = 1; $x <= $qntd; $x++){ echo "Produto $x: "; echo "<select name='produto'> <option>Escolha o produto</option> <option value='banana'>Banana</option> <option value='morango'>Morango</option> <option value='melancia'>Melancia</option> <option value='granola'>Granola</option> </select> "; echo "<label>Quantidade: </label>"; echo "<input type='text' size='3' name='totalprodutos' required><br>"; } ?> <button type="submit" formaction="finalizacao.php">Continuar</button> </center> </body> </html> finalizacao.php // o que eu fiz até agora <!DOCTYPE html> <html> <head><title>zenk 3</title></head> <body> <center> <?php $produto = array ( 'banana' => '1,20', 'morango' => '4,60', 'melancia' => '2,50', 'granola' => '3,70', ); $totalprodutos = $_POST["totalprodutos"]; echo "Finalização da compra<br>"; echo "<br>"; ?> </center> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
AndersonMamede 88 Denunciar post Postado Junho 27, 2016 Olá! Na pagina2 você pode trabalhar com formulário também. E deixa os campos como array (adicionando "[]" no final do nome, ex: "produto[]"), então na pagina3 você recebe os dados e faz os tratamentos/cálculos necessário. Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Heming 766 Denunciar post Postado Junho 27, 2016 Primeiro, vamos aos elementos disponíveis: while, for e foreach (ainda existe o do-while) são estruturas de controle. While e for são loops (repetições). Que podem ser utilizadas para iterar sobre um array ou Iterator. O while é a versão mais "liberal" dos loops, necessita apenas de um parâmetro e manterá o loop enquanto o parâmetro for verdadeiro (true). For a implementação do caso mais comum do while: - 1º parâmetro: Será executado/verificado apenas uma vez antes de iniciar o loop: valor inicial; - 2º parâmetro: Será executado antes de cada loop, é condicionante do loop. Ou seja, será o que manterá o loop ativo: A condicional para manter o loop, validação; - 3º parâmetro: Será executado após cada loop, não é condicionante: Incrementação do próximo índice. Entretanto, só o segundo parâmetro é obrigatório, podendo o código abaixo ser executado: for(; true ;) { break; } Foreach é o açucar sintático (syntactic sugar) específico para iterar. Sem um array ou iterator, não é possível realizar loops. O foreach foi criado para o desenvolvedor não se preocupar com o tipo de array utilizado (indexado ou associado), o código abaixo: $array = [ 0 => "a", 1 => "b", 6 => "c", 7 => "d" ]; foreach($array as $key => $row) { printf('[%s] => %s' , $key , $row); } É a simplificação do código: reset($array); while (list($key , $value) = each($array)) { printf('[%s] => %s' , $key , $row); } Ou: for (reset($array) ; list($key , $value) = each($array) ; ) { printf('[%s] => %s' , $key , $row); } Agora, sobre a forma que você pode utilizar para enviar os elementos de uma página a outra (basicamente a versão completa do post #2):http://forum.imasters.com.br/topic/462549-resolvidoretornar-array-de-inputs-com-mesmo-nome/ Com formulários PHP, você provavelmente utilizará somente o foreach. É muito raro necessitar de outra forma. Compartilhar este post Link para o post Compartilhar em outros sites