Fórum Datas sendo salvas no banco de dados com o valor zerado... PHP + MYSQL #613344
26/11/2020
0
É o seguinte, eu estou tentando fazer um formulário de agendamento de datas. Aonde de um lado vc vai ter um PROFESSOR que irá disponibilizar datas disponíveis, e do outro lado, um segundo usuário ALUNO que irá escolher dentro de um <select><option>, as datas fornecidas pelo primeiro usuário.
Pois bem, acontece que quando eu escolho uma das datas que vem do lado do professor, elas vem normalmente como na imagem
https://uploaddeimagens.com.br/imagens/g7Ly-CE
O campo de Datas disponíveis vem dinamicamente do que eu colocar do lado do professor, que usa uma tabela events.
No caso do aluno, segue o código fonte +/- resumido :
E eu tenho uma tabela para guardar informações de dia e hora que serão inseridas pelo professor que é a `events` e outra tabela para pegar os dados do aluno.
Ok, eu preencho meu nome, telefone e escolho dentro do select alguma data disponivel, e envio... funciona, só que as datas não estão sendo salvas.
Por exemplo na imagem :
https://uploaddeimagens.com.br/imagens/0uRzui0
No caso não importa a data que eu selecione, sempre fica com o valor zerado.
Como eu poderia salvar as datas da mesma forma que elas vêm do formulário, no banco de dados ?
Pois bem, acontece que quando eu escolho uma das datas que vem do lado do professor, elas vem normalmente como na imagem
https://uploaddeimagens.com.br/imagens/g7Ly-CE
O campo de Datas disponíveis vem dinamicamente do que eu colocar do lado do professor, que usa uma tabela events.
No caso do aluno, segue o código fonte +/- resumido :
<form id="addevent-form" method="POST" role="form">
<div>
<!--Nome Completo-->
<input type="name" name="name" id="name" class="form-control" placeholder="Nome Completo">
</div> <br>
<div>
<!--Telefone para contato-->
<input type="text" name="telephone" id="telephone" class="form-control" placeholder="Telefone Contato">
</div><br>
<div>
<!--Div de datas disponíveis-->
<div class="form-group row">
<?php
try {
$statement = $pdo->prepare("SELECT DATE_FORMAT(`start`,'%d/%m/%Y -- %H-%i') start FROM events");
//echo $result "SELECT start FROM events"
$statement->execute();
$row = $statement->fetchAll(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
echo "Oops there was an error<br><br>" . $e->getMessage();
}
?>
<div class="col-md-9">
<select name="datas" id="datas" class="form-control">
<option value="" name="a" id="a" >Datas disponíveis</option>
<?php foreach ($row as $rows) { ?>
<option name="option" id="option"><?php echo htmlspecialchars($rows["start"]);
} ?> </option>
</select>
</div><br>
<input type="submit" name="addevent-submit" id="addevent-submit" class="btn btn-warning btn-md" value="Agendar"></button>
</div><br>
</div>
</form>
E eu tenho uma tabela para guardar informações de dia e hora que serão inseridas pelo professor que é a `events` e outra tabela para pegar os dados do aluno.
Ok, eu preencho meu nome, telefone e escolho dentro do select alguma data disponivel, e envio... funciona, só que as datas não estão sendo salvas.
Por exemplo na imagem :
https://uploaddeimagens.com.br/imagens/0uRzui0
No caso não importa a data que eu selecione, sempre fica com o valor zerado.
Como eu poderia salvar as datas da mesma forma que elas vêm do formulário, no banco de dados ?
Weslley Felix
Curtir tópico
+ 0
Responder
Post mais votado
30/11/2020
Olá amigo, tudo bem?
Vamos começar pela sua tag "form", deixe ela assim:
Segundo, duas coisas que eu notei no seu select:
1º- Os options não precisam de nome e id, pois o valor é pego pelo POST do select e não do option selecionado.
2º - Seus options que são populados no select não tem "value", logo se eles não tem "value" eles passam vazio para o POST.
Ajuste esses pontos, e poste se funcionou.
Espero ter ajudado. :D
Vamos começar pela sua tag "form", deixe ela assim:
<form id="addevent-form" method="POST" role="form" enctype="multipart/form-data">
Segundo, duas coisas que eu notei no seu select:
1º- Os options não precisam de nome e id, pois o valor é pego pelo POST do select e não do option selecionado.
2º - Seus options que são populados no select não tem "value", logo se eles não tem "value" eles passam vazio para o POST.
Ajuste esses pontos, e poste se funcionou.
Espero ter ajudado. :D
Olá Alex, obrigado pela resposta !
fiz as correções sugeridas
<form id="addevent-form" method="POST" role="form" enctype="multipart/form-data">
e nos options
<select name="datas" id="datas" class="form-control">
<option>Datas disponíveis</option>
<?php foreach ($row as $rows) { ?>
<option><?php echo htmlspecialchars($rows["start"]);
} ?> </option>
</select>mas continua com o mesmo problema... será que o problema está nos formatos das datas ?
Eu achei o problema de fato ! É que só dá pra salvar no banco de dados com o formato nativo ! Se eu usar o DATE_FORMAT(`start`,''%d/%m/%Y -- %H-%i'')
no select, e eu tentar salvar no banco de dados vindo assim pro meu formulário ele não salva... se eu remover, ele salva, mas com a data e hora no formato nativo do banco...
Weslley Felix
Responder
Gostei + 1
Mais Posts
27/11/2020
Alex William
Olá amigo, tudo bem?
Vamos começar pela sua tag "form", deixe ela assim:
Segundo, duas coisas que eu notei no seu select:
1º- Os options não precisam de nome e id, pois o valor é pego pelo POST do select e não do option selecionado.
2º - Seus options que são populados no select não tem "value", logo se eles não tem "value" eles passam vazio para o POST.
Ajuste esses pontos, e poste se funcionou.
Espero ter ajudado. :D
Vamos começar pela sua tag "form", deixe ela assim:
<form id="addevent-form" method="POST" role="form" enctype="multipart/form-data">
Segundo, duas coisas que eu notei no seu select:
1º- Os options não precisam de nome e id, pois o valor é pego pelo POST do select e não do option selecionado.
2º - Seus options que são populados no select não tem "value", logo se eles não tem "value" eles passam vazio para o POST.
Ajuste esses pontos, e poste se funcionou.
Espero ter ajudado. :D
Responder
Gostei + 0
30/11/2020
Weslley Felix
Olá amigo, tudo bem?
Vamos começar pela sua tag "form", deixe ela assim:
Segundo, duas coisas que eu notei no seu select:
1º- Os options não precisam de nome e id, pois o valor é pego pelo POST do select e não do option selecionado.
2º - Seus options que são populados no select não tem "value", logo se eles não tem "value" eles passam vazio para o POST.
Ajuste esses pontos, e poste se funcionou.
Espero ter ajudado. :D
Vamos começar pela sua tag "form", deixe ela assim:
<form id="addevent-form" method="POST" role="form" enctype="multipart/form-data">
Segundo, duas coisas que eu notei no seu select:
1º- Os options não precisam de nome e id, pois o valor é pego pelo POST do select e não do option selecionado.
2º - Seus options que são populados no select não tem "value", logo se eles não tem "value" eles passam vazio para o POST.
Ajuste esses pontos, e poste se funcionou.
Espero ter ajudado. :D
Olá Alex, obrigado pela resposta !
fiz as correções sugeridas
<form id="addevent-form" method="POST" role="form" enctype="multipart/form-data">
e nos options
<select name="datas" id="datas" class="form-control">
<option>Datas disponíveis</option>
<?php foreach ($row as $rows) { ?>
<option><?php echo htmlspecialchars($rows["start"]);
} ?> </option>
</select>mas continua com o mesmo problema... será que o problema está nos formatos das datas ?
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)