Datas sendo salvas no banco de dados com o valor zerado... PHP + MYSQL
É 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
Curtidas 0
Melhor post
Weslley Felix
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...
GOSTEI 1
Mais Respostas
Alex William
26/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
GOSTEI 0
Weslley Felix
26/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 ?
GOSTEI 0