Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Junior Sanxo

Salvar horas no formato 00:00 por form>

Recommended Posts

Olá pessoal!

 

 

 

Estou com um problema aqui com um formulário!

 

 

Tenho um form que pega as horas do Banco...

 

Tabela > Horas

id | hora

1 | 9:00

2 | 9:30

 

Essa tabela adicionei manualmente pelo phpmyadmin...

 

Meu formulário faz a busca no banco pelas horas e monta um <select>

assim.

 

<select>

<option value='.$hora.'>$hora</option>

</select>

 

To tentando enviar pro banco via POST mas ele simplesmente não faz nada!

Mudei o value pra '1' ai ele envia! Mas eu quero enviar a própria hora por banco! nesse formato! 00:(dois pontos)00

 

Agradeço! :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como assim não faz nada? Deveria funcionar... Tanto por POST ou por GET (: seria substituído por %3A na URL)

 

Outra questão é: Sua tag select está exatamente assim?

<select>
   <option value='.$hora.'>$hora</option>
</select>

Se sim, está incorreto falta o atributo name

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso ele simplesmente não grava nada na tabela, o campo la no banco ta como text, ja tentei como varchar! Acho que é pqe tem os dois pontos :! o Name coloquei já no select! Na tabela do banco ta escrito exatamente assim! 9:00

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso ele simplesmente não grava nada na tabela, o campo la no banco ta como text, ja tentei como varchar! Acho que é pqe tem os dois pontos :! o Name coloquei já no select! Na tabela do banco ta escrito exatamente assim! 9:00

 

Poste a estrutura completa da sua tabela. Qual o tipo da coluna 'hora' ?

Antes de executar a query, tente debugar dando um var_dump() e verifique se o campo está transmitindo o valor desejado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso ele simplesmente não grava nada na tabela,

 

Hmm, não grava nada certo, ou ele grava vazio? Você disse que fez o teste com um

valor inteiro e funcionou certo? Talvez seja na hora de dar o INSERT, para textos

você precisa utilizar '' (Aspas simples).

 

Vamos supor que coluna_1 fosse um campo INT e o coluna_2 fosse VARCHAR

INSERT INTO table (coluna_1, coluna_2) VALUES (100, '21:59');

:)

Compartilhar este post


Link para o post
Compartilhar em outros sites

LucasQuery

 

HoraIn text utf8mb4_unicode_ci Não None

 

Felipe.

Ele não grava nada se eu colocar um outro post, por exemplo, a data...

 

INSERT INTO table (data) VALUES (00.23453453);

 

Ele grava...

 

Mas se eu colocar qualquer outra coisa + a hora...

INSERT INTO table (data, hora) VALUES ($data, $hora);

 

ele não grava nada. Não cria um novo id la...


if(isset($_POST['submit']))
{
		
		$CarroTipo		= $_POST["CarroTipo"];
		$data 			= $_POST["data"]; 
		$HoraIn 		= $_POST["HoraIn"];
			
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

// Perform queries 
mysqli_query($db,"INSERT INTO agenda (CarroTipo,data,HoraIn) 
VALUES ($CarroTipo,$data,$HoraIn)");

mysqli_close($db);
}

?>
<select name="HoraIn">
<?php
$query = mysqli_query($db,"SELECT * FROM horas WHERE hora NOT IN (SELECT HoraIn FROM agenda)")or die(mysql_error());
while($row = mysqli_fetch_assoc($query)) {
$hora	= $row['hora'];		
echo '<option value="'.$hora.'">'.$hora.'</option>';
}
?> 


Compartilhar este post


Link para o post
Compartilhar em outros sites

como você tá buscando os horários de uma tabela, porquê não fazer assim:

<select>
   <option value='.$id.'>$hora</option>
</select>

ai você poderia pegar este id e fazer uma das duas coisas: salvar o id na tabela e fazer um select na hora de exibir na tela, ou fazer um select e pegar o horario correspondente àquele id antes de inserir, e fazer a inserção já com a data.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa ideia Mateus! :D

Ai eu posso só relacionar!

 

Só não sei se vai dar certo pqe além disso eu tenho que fazer o formulário mostrar somente os horários disponíveis... Por exemplo.

 

Eu to montando um módulo de agendamento pra uma empresa de lavagem de carros a seco...

O SEO disse pra mim que um trabalho dura em torno de 1hora e 30 min... Ele atende das 9:00 as 18:00

Ou seja, assim que um cliente fizer um agendamento o site de automaticamente comer 1:30min.

Ao por exemplo.

 

Tenho os horarios.

 

9:00

9:30

10:00

10:30

11:00

11:30

 

e eu faço um agendamento para as 9:00 automaticamente o sistema deve escondar as 1:30 min seguintes.

Mostrando somente o restante. ficando assim.

 

<!-- Agendados

9:00

9:30

10:00

10:30

-->

 

11:00

11:30

 

Tenho que fazer algo do tipo se a hora for maior que HoraIn e hora for menor que HoraFi. Coisa assim!

Compartilhar este post


Link para o post
Compartilhar em outros sites

crie uma nova coluna na tabela de horários, coloque como status ou disponivel, pode por como um campo (int), toda vez que um cliente agendar um horário vai setar este campo para 1, por exemplo, logo 0 = disponível e 1 = indisponível. e para desmarcar automaticamente o horário, você pode fazer um select sempre que a página for acessada, onde vai buscar na tabela horários que estão com status = 1(agendado) e que o horário atual+1:30 é maior ou igual ao horario do banco e fazer um update no status pra 0 novamente, acho que deu pra entender né ? qualquer coisa, so falar

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.