How do I make multiple records with checkbox
?
I need to make multiple records according to my tag in every% of% and include in the column checkbox
the same id_item
that comes from the variable ID
in all records.
I'm trying this, it's just not working:
<form action="#" method="POST" enctype="multipart/form-data">
Flights on: <br/>
<input type="checkbox" name="categoria[]" value="1">segunda<br>
<input type="checkbox" name="categoria[]" value="2">Sunday<br>
<input type="checkbox" name="categoria[]" value="3">Monday<br>
<input type="checkbox" name="categoria[]" value="4">Tuesday <br>
<input type="checkbox" name="categoria[]" value="5">Wednesday<br>
<input type="checkbox" name="categoria[]" value="6">Thursday <br>
<input type="checkbox" name="categoria[]" value="7">Friday<br>
<input type="checkbox" name="categoria[]" value="8">Saturday <br>
<input type="submit" name="insert" value="submit">
</form>
if(isset($_POST['insert']))
{
$checkBox = $_POST['categoria'];
for ($i=0; $i<sizeof($checkBox); $i++) {
$cadastrarItem = $DB->prepare("INSERT INTO teste (id_item, id_category) VALUES ($proximoID, '" . $checkBox[$i] . "')");
}
$cadastrarItem->execute();
if($cadastrarItem->rowCount() >= 0)
{
echo 'sucesso';
}
else
{
echo 'erro';
}
}
/
/ ESSE CÓDIGO É PARA PEGAR O ID DO ITEM, POR EXEMPLO A VARIAVEL $proximoID VAI DAR UM NUMERO, EU PRECISO QUE ESSE NUMERO ESTEJA NOS MULTIPLOS REGISTRO E ALTERE APENAS O id DO $checkBox
try {
$sql = "SHOW TABLE STATUS LIKE 'teste' ";
$stmt = $DB->prepare($sql);
$stmt->execute();
$resultado = $stmt->fetch();
$proximoID = $resultado['Auto_increment']; // a chave esta aqui
} catch (Exception $ex) {
echo $ex->getMessage();
}
echo $proximoID;
@edit
$checkBox = array_filter($_POST['categoria'], 'is_int');
// Segurança: apenas haverá números inteiros, dessa forma se houver: (1,2,3,biscoito,5,10,lasanha) irá ser: (1,2,3,5,10)
$sqlParcial = '';
for ($i=0; $i < count($checkBox); $i++) {
$sqlParcial .= '("'. $checkBox[$i] .'", (SELECT AUTO_INCREMENT FROM information_schema.tables WHERE table_name = "teste" AND table_schema = DATABASE()) -'. $i .'),';
}
$cadastrarItem = $DB->prepare("INSERT INTO teste (id_category, id_item) VALUES ". $sqlParcial."");
$cadastrarItem->execute();
if($cadastrarItem->rowCount() >= 0)
{
echo 'sucesso';
}
else
{
echo 'erro';
}