Request with Checkbox + inputys [duplicate]

0

I would like to make a mini ordering system through the checkbox and input, this would be the idea in the code below:

<form method="POST">
    <input type="checkbox" name="produto[]" value="Feijao">Feijao - Quantidade
    <input type="number" name="qtd[]" min="0" max="99">


    <input type="checkbox" name="produto[]" value="Arroz">Arroz - Quantidade
    <input type="number" name="qtd[]" min="0" max="99">

    <input type="submit" name="">
</form>

How would you do to get these items through php? the idea would be: Quantity and the product marked next - Ex:

2 - Feijão
3 - Arroz
    
asked by anonymous 01.04.2018 / 17:34

1 answer

1

Form use indexes in input names

for beans: name="produto[0]" name="qtd[0]"

for rice: name="produto[1]" name="qtd[1]"

<form method="POST" action="">
    <input type="checkbox" name="produto[0]" value="Feijao">Feijao - Quantidade
    <input type="number" name="qtd[0]" min="0" max="99">


    <input type="checkbox" name="produto[1]" value="Arroz">Arroz - Quantidade
    <input type="number" name="qtd[1]" min="0" max="99">


    <input type="submit" name="enviar">
</form>

PHP

  • No loop

    if (isset($_POST['enviar'])){
        $feijao = $_POST['produto']['0'];
        $qtdfeijao = $_POST['qtd']['0'];
        $arroz = $_POST['produto']['1'];
        $qtdarroz = $_POST['qtd']['1'];
    
        if($feijao!="" && $qtdfeijao!=""){
            echo $qtdfeijao." - ".$feijao;
        }
    
        echo "<br>";
    
        if($arroz!="" && $qtdarroz!=""){
            echo $qtdarroz." - ".$arroz;
        }
    }
    
  • with loop

    if(isset($_POST['enviar'])){
        // quantidade de checkboxes 2
        for ($i=0;$i<2;$i++) {
            $Prod = $_POST['produto'][$i];
            $Quant = $_POST['qtd'][$i]; 
            if ($Prod!="" && $Quant!=""){
                echo $Quant.' - '.$Prod.'<br />';   
            }
        }
    
    }       
    
  • 01.04.2018 / 23:54