moisesf Posted February 26, 2012 Report Share Posted February 26, 2012 (edited) 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>"; }?> Edited February 26, 2012 by moisesf Quote Link to comment Share on other sites More sharing options...
0 Markus Magnus Posted February 27, 2012 Report Share Posted February 27, 2012 (edited) 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 Edited February 27, 2012 by Markus Magnus Quote Link to comment Share on other sites More sharing options...
Question
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>";
}
?>
Edited by moisesfLink to comment
Share on other sites
1 answer to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.