moisesf Postado Fevereiro 26, 2012 Denunciar Share Postado Fevereiro 26, 2012 (editado) Tenho um formulário com checkbox, que me retornarão valores separados por vírgula com o uso do implode.A contagem do retorno já descobri como faz, usando count();$espec = $_POST["especialidade"]; $cod_especialidades= implode(",",$espec); echo $cod_especialidades;$cod_cliente = $_POST["cod_cliente"]; Exemplo do retorno que receberei do form:cod_cliente=21";cod_especialidade= "12, 14, 55, 102";Minha tabela contem os seguntes campos:cod_cliente e cod_especialidade.$total_especialidades=count($cod_especialidades);for ($i = 1; $i <= $total_especialidades; $i++) { echo $i;$sql = "insert into especialidade (cod_cliente,cod_especialidade)values('$cod_cliente','$cod_especialidade')";$sql = mysql_query($sql) or die ("Erro na Gravação!!!");}Preciso que conte os cod_especialidade que retornaram do form e sejam gravados de um a um.No caso acima foram 4 cod_especialidades.Então gravaria 4X cada cod_especialidade para o mesmo cod_cliente, mas claro que linhas diferentes.Podem me ajudar?Grato;MoisésFVou tentar FOREACH, no exemplo abaixo eu consegui mostrar os códigos separados, vou ver se faz o mesmo com o banco de dados.foreach($_POST["especialidade] as $espec) { echo $espec; echo "<script language=\"javascript\" type=\"text/javascript\"> alert(\"Ola mundo ;p $espec \"); </script>"; }?> Editado Fevereiro 26, 2012 por moisesf Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Markus Magnus Postado Fevereiro 27, 2012 Denunciar Share Postado Fevereiro 27, 2012 (editado) Eu acho que não entendi bem o que você quis fazer. Primeiro você recebe os parâmetros que vêm do formulário e faz um implode nas especialidades, transformando em uma string colocando esse valor em $cod_especialidades.Logo depois você usa a função cont() nessa variável, porem o valor retornado será sempre 1 pois $cod_especialidade é uma string e não uma variável acredito que o mais correto seria você usar essa função em $espec que é uma array, caso contrario o seu loop for só sera executado uma vez.E um texto ("12, 14, 55, 102") com todos os códigos de especialidades será inserido para cada código de cliente Editado Fevereiro 27, 2012 por Markus Magnus Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
moisesf
Tenho um formulário com checkbox, que me retornarão valores separados por vírgula com o uso do implode.
A contagem do retorno já descobri como faz, usando count();
$espec = $_POST["especialidade"];
$cod_especialidades= implode(",",$espec);
echo $cod_especialidades;
$cod_cliente = $_POST["cod_cliente"];
Exemplo do retorno que receberei do form:
cod_cliente=21";
cod_especialidade= "12, 14, 55, 102";
Minha tabela contem os seguntes campos:
cod_cliente e cod_especialidade.
$total_especialidades=count($cod_especialidades);
for ($i = 1; $i <= $total_especialidades; $i++) {
echo $i;
$sql = "insert into especialidade (cod_cliente,cod_especialidade)values('$cod_cliente','$cod_especialidade')";
$sql = mysql_query($sql) or die ("Erro na Gravação!!!");
}
Preciso que conte os cod_especialidade que retornaram do form e sejam gravados de um a um.
No caso acima foram 4 cod_especialidades.
Então gravaria 4X cada cod_especialidade para o mesmo cod_cliente, mas claro que linhas diferentes.
Podem me ajudar?
Grato;
MoisésF
Vou tentar FOREACH, no exemplo abaixo eu consegui mostrar os códigos separados, vou ver se faz o mesmo com o banco de dados.
foreach($_POST["especialidade] as $espec)
{
echo $espec;
echo "<script language=\"javascript\" type=\"text/javascript\"> alert(\"Ola mundo ;p $espec \"); </script>";
}
?>
Editado por moisesfLink para o comentário
Compartilhar em outros sites
1 resposta 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.