Jump to content
Fórum Script Brasil
  • 0
Sign in to follow this  
koodez

Inserir multiplos checkbox com MySQLi

Question

Preciso inserir informações em uma tabela onde as opções são:

`amarelo` varchar(255) NOT NULL,
`laranja` varchar(255) NOT NULL,
`azul` varchar(255) NOT NULL,
`verde` varchar(255) NOT NULL,
O que devo alterar no código abaixo para fazer a inserção das opções?
$stmt = $mysqli->prepare("
INSERT INTO
cores (
amarelo,
laranja,
azul,
verde
) VALUES (
?,
?,
?,
?
)");
$stmt->bind_param('ssss',
$amarelo,
$laranja,
$azul,
$verde
);
O HTML está como segue abaixo:
<input type="checkbox" name="tipo[]" value="amarelo"></span>
<input type="checkbox" name="tipo[]" value="laranja"></span>
<input type="checkbox" name="tipo[]" value="azul"></span>
<input type="checkbox" name="tipo[]" value="verde"></span>
Este é apenas um exemplo, o arquivo original tem 20 itens.

Se alguém puder me dar uma ajuda, agradeço muito!

Obrigado.

Share this post


Link to post
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Cada input tem que ter o name igual ao do value, assim quando for fazer o INSERT você só tem que pegar os valores na variável $_POST e inserir, os valores retornados por cada input será o próprio value ou FALSE se ele não tiver sido selecionado.

Porém cara o que é ideal para uma situação dessas é seguir as regrinhas de como se estruturar um banco de dados, isso facilita e muito na manutenção de um sistema, porque sistemas crescem, daqui a pouco centenas de pessoas querem usar e você terá que dar prioridades diferentes à cada tipo de usuário ou os produtos deverão ter mais campos à serem preenchidos. Enfim não seguir a normalização te dará dores de cabeça futuros.

Se precisar de ajuda posta que a gente te da uma mão.

Abraços.

Tudo de bom.

Share this post


Link to post
Share on other sites
  • 0

Agradeço pela dica Markus, infelizmente preciso resolver esse problema com a inserção das opções do checkbox. Se tiver alguma idéia mais prática para a solução do meu problema, agradeço. No entanto, já estou lendo o material que você sugeriu.

Obrigado.

Share this post


Link to post
Share on other sites
  • 0

O primeiro parágrafo é a solução simples.

Cada input tem que ter o name igual ao do value, assim quando for fazer o INSERT você só tem que pegar os valores na variável $_POST e inserir, os valores retornados por cada input será o próprio value(amarelo,laranja,azul,verde) ou FALSE se ele não tiver sido selecionado.
<?php
$stmt = $mysqli->prepare("
INSERT INTO
cores (
amarelo,
laranja,
azul,
verde
) VALUES (
?,
?,
?,
?
)");
$stmt->bind_param('ssss',
$_GET['amarelo'],
$_GET['laranja'],
$_GET['azul'],
$_GET['verde']
);

Abraços.

Tudo de bom.

Share this post


Link to post
Share on other sites
  • 0

<script type='text/javascript'>window.mod_pagespeed_start = Number(new Date());</script>

O primeiro parágrafo é a solução simples.

Cada input tem que ter o name igual ao do value, assim quando for fazer o INSERT você só tem que pegar os valores na variável $_POST e inserir, os valores retornados por cada input será o próprio value(amarelo,laranja,azul,verde) ou FALSE se ele não tiver sido selecionado.
<?php
$stmt = $mysqli->prepare("
INSERT INTO
cores (
amarelo,
laranja,
azul,
verde
) VALUES (
?,
?,
?,
?
)");
$stmt->bind_param('ssss',
$_GET['amarelo'],
$_GET['laranja'],
$_GET['azul'],
$_GET['verde']
);

Abraços.

Tudo de bom.

Muito obrigado pela ajuda, aqui funcionou sem maiores problemas.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

Cloud Computing


  • Forum Statistics

    • Total Topics
      148420
    • Total Posts
      643845
×
×
  • Create New...