Hello, I'm building an internal request system and would like to include status / status steps, I'm trying to do this in bulk using the checkbox.
I basically want to select x number of items from a list, and move them to another list. My difficulty is being in picking up part of the items.
My Example: I have 5 items in the order, I will buy only 2 today and 3 next week.
Form: generate_compra.php
Query to return open orders:
...
$resultado=mysqli_query($conn, "
SELECT pedidos.id as id, data_pedido, produtos_c.nome as produto, produtos_c.unidade as unidade, qtde, data_aplicacao, local_aplicacao, solicitante, situacao
FROM pedidos
INNER JOIN produtos_c
ON pedidos.produto = produtos_c.id
ORDER BY 'id'");
$linhas=mysqli_num_rows($resultado);
...
List view (generate_company.php)
<div class="form-control input-sm">
<form id="select" method="POST">
<table class="table table-hover">
<thead>
<tr>
<th>Id</th>
<th>Data</th>
<th>Produto</th>
<th>Unidade</th>
<th>Quantidade</th>
<th>Data Aplicação</th>
<th>Local Aplicação</th>
<th>Solicitante</th>
<th>Situação</th>
</tr>
</thead>
<tbody>
<div>
<?php
while($linhas = mysqli_fetch_array($resultado)){
echo "<tr>";
echo "<td>".$linhas['id']."</td>";
echo "<td>".date_format(New DateTime($linhas['data_pedido']), 'd/m/Y H:i:s')."</td>";
echo "<td>".$linhas['produto']."</td>";
echo "<td>".$linhas['unidade']."</td>";
echo "<td>".number_format($linhas['qtde'], 2,',','.')."</td>";
echo "<td>".date_format(New DateTime($linhas['data_aplicacao']), 'd/m/Y')."</td>";
echo "<td>".$linhas['local_aplicacao']."</td>";
echo "<td>".$linhas['solicitante']."</td>";
echo "<td>".$linhas['situacao']."</td>";
?>
<td>
<input type="checkbox" name="check[]" value="<?php echo $linhas['id'];?>">
<?php
echo "</tr>";
}
?>
</div>
<div class="form-group">
<div class="col-sm-offset-0 col-sm-10">
<button type="submit" name="enviar" class="btn btn-default">Processar Compra</button>
</div>
</div>
</tbody>
</form>
But I'm not able to get the data from the line, I'm tempted to check the options, (then I'll use the update in the "situation" field) and using "SELECT" to create a new form with the same structure above, only with the items marked.
<?php
$selecao = "";
if(isset($_POST["check"])){echo "Os modulos Escolhidos foram:<BR>";
// Faz loop pelo array dos numeros
foreach($_POST["check"] as $modulo){
echo " - " . $modulo . "<BR>";
$selecao .= $modulo;
}
}
else{echo "Você não escolheu modulos!<br>";
}
echo $selecao. "\n"."echo selecao<br>";
echo $selecao. "\n"."echo modulo<br>";
var_dump($modulo);
$comprado = mysqli_query($conn, "
SELECT pedidos.id as id, data_pedido, produtos_c.nome as produto, produtos_c.unidade as unidade, qtde, data_aplicacao, local_aplicacao, solicitante, situacao
FROM pedidos
INNER JOIN produtos_c
ON pedidos.produto = produtos_c.id
WHERE pedidos.id = '$modulo'
");
$comprados = mysqli_num_rows($comprado);
?>
I think my problem is the line in the query " WHERE requests.id = '$ module' " does not bring all checked items, just the last one.
If anyone can help, I believe that for the more experienced eye-to-eye you'll already have a solution or indicate where I should search.
Thank you.