Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou com uma dúvida, em uma tabelinha é cadastrado a data em uma coluna e a hora em outra coluna, então para "juntar" podemos usar CONCAT() no SELECT. Tudo certo...
SELECT id, CONCAT(data_ini, ' ', hora_ini) as inicio FROM tabela
Retorna como esperado:
>
Citar
2020-09-13 03:00:00
2020-09-13 04:00:00
2020-09-13 05:00:00
2020-09-13 06:30:00
Minha dúvida é, se eu quiser exibir o horário de término para ficar assim como seria a consulta? Lembrando que não existe as colunas data_final e horario_final.
2020-09-13 03:00:00 2020-09-13 04:00:00
2020-09-13 04:00:00 2020-09-13 05:00:00
2020-09-13 05:00:00 ....
De onde vem e quais os requisitos para uso do horário de término?
Deduzo que seja algo dinâmico sem intervenção humana e só por display mesmo, então nesse caso veja:
$resultado_do_banco = date('H:i:s'); // Isso pode ser o horário obtido através da query
$termino = date('H:i:s', strtotime("{$resultado_do_banco} +1 hour")); // Obtem a hora atual e almenta 1 hora a mais em relação com o horário vindo da query.
var_dump($termino);
>
6 horas atrás, Omar~ disse:
De onde vem e quais os requisitos para uso do horário de término?
Deduzo que seja algo dinâmico sem intervenção humana e só por display mesmo, então nesse caso veja:
$resultado_do_banco = date('H:i:s'); // Isso pode ser o horário obtido através da query
$termino = date('H:i:s', strtotime("{$resultado_do_banco} +1 hour")); // Obtem a hora atual e almenta 1 hora a mais em relação com o horário vindo da query.
var_dump($termino);
Obrigado pela dica, quebrei a cabeça e consegui da forma abaixo, com certeza não é a forma correta, mas funciona essa gambiarra.
$i = 1;
$sql_canais = $con->query("SELECT id, CONCAT(data_ini, ' ', hora_ini) as inicio FROM tabela LIMIT 5");
while($c = $sql_canais->fetch(PDO::FETCH_ASSOC)){
$inicio = $c['inicio'];
$sql_prox = $con->query("SELECT id, CONCAT(data_ini, ' ', hora_ini) as final FROM tabela LIMIT $i,$i ");
$p = $sql_prox->fetch(PDO::FETCH_ASSOC);
$final = $p['final'];
echo "".$inicio." | ".$final." <br />";
$i++;
}
Tenta com lag e lead.
https://www.mysqltutorial.org/mysql-window-functions/mysql-lag-function/
https://www.mysqltutorial.org/mysql-window-functions/mysql-lead-function/