Quando o cliente clica em Registrar chama a função registra especialidades, como abaixo.
registra_especialidades($especialidade);
Se eu passar apenas um valor na propriedade value do checkbox, gravo cada escolha do cliente sem problemas, mas preciso de gravar dois valores como coloquei no value acima.
Só estou conseguindo pegar o primeiro valor, o segundo valor(cod_especialidade) não estou pegando($especialidade)
Ou seja acho que não está entendendo o separador.
Como posso arrumar isso?
Função Registra Especialidades
function registra_especialidadeS($especialidade){
foreach($_POST["especialidade] as $espec)
{
echo "$espec <br />";//APENAS PARA VERIFICAR OS DADOS SE ESTÃO SENDO ENVIADOS
$lista=array($espec);
$cod_especialidade = $lista[0];
$medico_especialidade = $lista[0][1];
$sql = "insert into medicos_especialidades (cod_especialidade,medico_especialidade)values('$cod_especialidade','$medico_especialidade')";
$sql = mysql_query($sql) or die ("Erro na Gravação dos Dados da Especialidade Médica!!!");
}
}
Este abaixo funciona perfeitamente, mas pega somente um valor de cada vez.
foreach($_POST["especialidade"] as $espec)
{
echo "$espec <br />";//APENAS PARA VERIFICAR OS DADOS SE ESTÃO SENDO ENVIADOS
$sql = "insert into medicos_especialidades (espec)values('$espec')";
$sql = mysql_query($sql) or die ("Erro na Gravação dos Dados da Especialidade Médica!!!");
Pergunta
moisesf
Tenho um foreach que funciona perfeitamente com um único valor que vem do formulário de campos checkbox.
Se seleciono várias opções o foreach grava de um a um no banco de dados.
O problema é que no campo value preciso de passar dois valores.
Esse imput é preenchido no cadastro para o cliente fazer múltiplas escolhas, tenho que passar dois valores, código e nome da especialidade.
echo "<input type='checkbox' name='especialidade[]' value=$cod_especialidade,$especialidade' id='cod_especialidade'/>";
echo "<label for='checkbox' id='checkbox'> $especialidade</label><br />";
Quando o cliente clica em Registrar chama a função registra especialidades, como abaixo.
registra_especialidades($especialidade);
Se eu passar apenas um valor na propriedade value do checkbox, gravo cada escolha do cliente sem problemas, mas preciso de gravar dois valores como coloquei no value acima.
Só estou conseguindo pegar o primeiro valor, o segundo valor(cod_especialidade) não estou pegando($especialidade)
Ou seja acho que não está entendendo o separador.
Como posso arrumar isso?
Função Registra Especialidades
function registra_especialidadeS($especialidade){
foreach($_POST["especialidade] as $espec)
{
echo "$espec <br />";//APENAS PARA VERIFICAR OS DADOS SE ESTÃO SENDO ENVIADOS
$lista=array($espec);
$cod_especialidade = $lista[0];
$medico_especialidade = $lista[0][1];
$sql = "insert into medicos_especialidades (cod_especialidade,medico_especialidade)values('$cod_especialidade','$medico_especialidade')";
$sql = mysql_query($sql) or die ("Erro na Gravação dos Dados da Especialidade Médica!!!");
}
}
Este abaixo funciona perfeitamente, mas pega somente um valor de cada vez.
foreach($_POST["especialidade"] as $espec)
{
echo "$espec <br />";//APENAS PARA VERIFICAR OS DADOS SE ESTÃO SENDO ENVIADOS
$sql = "insert into medicos_especialidades (espec)values('$espec')";
$sql = mysql_query($sql) or die ("Erro na Gravação dos Dados da Especialidade Médica!!!");
}
}
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.