Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fala Galera tudo bem? Estou novamente com um probleminha eu sempre peno para conseguir fazer funções que funcionem com Arrays então decidi recorrer ao fórum pq o negócio ta cabrerro sequinte estava fazendo um formulário onde o usuario precisava digitar a data, decidi usar recursos do HTML5 (input :date) detalhe o firefox e outros navegadores não tratam da mesma forma como o Chrome. resultado tive que mudar a forma de date para text o input fazer tratamento via javascrit e datepicker for bootstrap para que o usuario digitasse a data corretamente (dd/mm/aaaa) detalhe o mysql aceita somente no formato (aaaa-mm-dd) consegui fazer o Explode e inverter o problema é que meu formulario tem campos dinamicos, ou seja podem ser adicionados quantos campos data eu quiser eu estava fazendo assim:
$data = $_POST['data']; // Já recebe o Array do input com nome= 'data[]'
for ($i=0; $i<$quant; $i++) {
$data= explode("/",$data[$i]);
$data =$data[2]."-".$data[1]."-".$data[0];
$Insere="Insert into Camposponto (data, hr_entrada, hr_saida, justificativa, cod_relatorio) values ('".$data."', '".$horaEntrada[$i]."', '".$horaSaida[$i]."', '".$justificativa[$i]."', '".$id_inserido."')";
mysql_query($Insere);
}
O Algoritmo até funciona mas somente para a primeira data da segunda em diante ele se perde e parra de funcionar, e a data recebe como valor zerado. Veja que a data deveria receber o valor do proximo valor do array a cada nova entrada no laço, e não é o que está acontecendo.
Galera cancela a ajuda. Descobri o erro era meu e bem básico, fica de experiencia para os próximos:
$data = $_POST['data']; // Já recebe o Array do input com nome= 'data[]'
for ($i=0; $i<$quant; $i++) {
$data2= explode("/",$data[$i]);
$data2 =$data2[2]."-".$data2[1]."-".$data2[0];
$Insere="Insert into Camposponto (data, hr_entrada, hr_saida, justificativa, cod_relatorio) values ('".$data2."', '".$horaEntrada[$i]."', '".$horaSaida[$i]."', '".$justificativa[$i]."', '".$id_inserido."')";
mysql_query($Insere);
}
o nome da variavel correspondente a data dentro do laço deve ser diferente do que aquela que recebe o array se não ela se perde. Obrigado mesmo assim.
Boa tarde,
Sua dúvida e a dúvida de muitos, quando trabalhamos com array temos um grau de dificuldades por não conhecermos muitas funcionalidades e funções nativas da mesma.
Fiz um script básico e espero que ajude nessa jornada da programação =D
depois e só colocar no seu SQL e pronto =D até amigo.
Boa tarde,
Sua dúvida e a dúvida de muitos, quando trabalhamos com array temos um grau de dificuldades por não conhecermos muitas funcionalidades e funções nativas da mesma.
Fiz um script básico e espero que ajude nessa jornada da programação =D
// Eliminar Campos Vázios.
$TotalDatas = sizeof($data['data']);
for($i=0; $i < $TotalDatas; $i++):
if($data['data'][$i] == ""):
// Inverter Datas = YYYY-MM-DD
foreach($data['data'] as $Datas):
depois e só colocar no seu SQL e pronto =D até amigo.
Abaixo o pequeno script que criei se houver problema nesse entendimento.
usei:
Jquery
masked input plugin
E um script para a mascara
site.js
<!DOCTYPE html>