dinohills Posted April 19, 2012 Report Share Posted April 19, 2012 (edited) Boa tarde, estou montando uma tabela de horários, puxandos as horas de uma tabela no banco de dados.A tabela tem no cabeçalho as horas de 00h ate 23h. Meu problema esta em conseguir colocar a hora no cabeçalho correspondente, e principalmente quando existe um intervalo de hora.Vou colocar o exemplo que montei em php e a saida em html pra ajudar.tabela.php<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> </head> <body> <table border="1" style="font-family: monospace;" align="center"> <thead align="center"> <td></td> <?php for ($i = 0; $i < 24; $i++) { echo "<td>" . $i . "H<br/>H:M:S</td>"; } ?> </thead> <tbody> <?php $hora_array = array(9, 13, 17); $dia = "19/04/2012"; echo "<tr>"; echo "<td>$dia</td>"; //imprimindo o array nas posições certas for ($i = 0; $i < 24; $i++) { foreach ($hora_array as $hora) { if($i == $hora){ echo "<td>$hora</td>"; }else{ echo "<td>-</td>"; } } } echo "</tr>"; ?> </tbody> </table> </body> </html>Desse jeito a tabela fica assim:Eu gostaria que ela ficasse desse jeito:Obs: já tentei usa break e continue no php, mas não deu certo não. Se alguém tiver uma idéia de como fazer ela sair desse jeito posta ai por favor.Obrigado Edited April 20, 2012 by dinohills Quote Link to comment Share on other sites More sharing options...
0 Churc Posted April 19, 2012 Report Share Posted April 19, 2012 opaentão ta errado seus loops da parte debaixo...tenta assim<?php $hora_array = array(9, 13, 17); $dia = "19/04/2012"; echo "<tr>"; echo "<td>$dia</td>"; //imprimindo o array nas posições certas for ($i = 0; $i < 24; $i++) { if (in_array($i, $hora_array)) echo "<td>$i</td>"; else echo "<td>-</td>"; } echo "</tr>"; ?>abrx Quote Link to comment Share on other sites More sharing options...
0 dinohills Posted April 20, 2012 Author Report Share Posted April 20, 2012 (edited) E ai Churc, deu certo cara do seu jeito !!! VLW !!Mas dexa te pergunta, e se meu array de horas fosse assim:$hora_extensa = array("09:12:27","13:13:59","16:39:16"); Eu estou tentando imprimir esses valores, mas não estou conseguindo. $hora_extensa = array("09:12:27","13:13:59","16:39:16"); //imprimindo o array nas posições certas for ($i = 0; $i < 24; $i++) { if (in_array($i, $hora_extensa)){ echo "<td>$hora_extensa[$i]</td>"; }else{ echo "<td>-</td>"; } } echo "</tr>";To usando o $i pra pega o valor na posição do array, mas não ta dando certo. alguém teria uma ideia de como imprimir o valor ?Obrigado Edited April 20, 2012 by dinohills Quote Link to comment Share on other sites More sharing options...
0 Churc Posted April 20, 2012 Report Share Posted April 20, 2012 certo...é muda um poco o esquema de busca na array rssegue...<?php $hora_extensa = array("09:12:27","13:13:59","16:39:16"); $dia = "19/04/2012"; echo "<tr>"; echo "<td>$dia</td>"; //imprimindo o array nas posições certas for ($i = 0; $i < 24; $i++) { $hora = ($i <= 9) ? "0".$i.":" : $i.":"; $achou = preg_grep("/^".$hora.".*/", $hora_extensa); if (count($achou) > 0) { end($achou); $chave = key($achou); echo "<td>".$hora_extensa[$chave]."</td>"; } else echo "<td>---</td>"; } echo "</tr>"; ?>abrss Quote Link to comment Share on other sites More sharing options...
0 dinohills Posted April 20, 2012 Author Report Share Posted April 20, 2012 Bom dia, Churc vlw cara deu certo !!!Ainda bem que você ajudo, porque eu não ia da conta não ahahahahahaE pra fala a verdade não entendi direito o que você fez ai, mas deu certo e eu consegui aplica aqui. Obrigado Quote Link to comment Share on other sites More sharing options...
Question
dinohills
Boa tarde, estou montando uma tabela de horários, puxandos as horas de uma tabela no banco de dados.
A tabela tem no cabeçalho as horas de 00h ate 23h.
Meu problema esta em conseguir colocar a hora no cabeçalho correspondente, e principalmente quando existe um intervalo de hora.
Vou colocar o exemplo que montei em php e a saida em html pra ajudar.
tabela.php
Desse jeito a tabela fica assim:
Eu gostaria que ela ficasse desse jeito:
Obs: já tentei usa break e continue no php, mas não deu certo não. Se alguém tiver uma idéia de como fazer ela sair desse jeito posta ai por favor.
Obrigado
Edited by dinohillsLink to comment
Share on other sites
4 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.