Ir para conteúdo

POWERED BY:

Arquivado

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

tvplus

PHP + HTML Dinamico + Dados vindo do BD...

Recommended Posts

Gente, estou fazendo um guia de programação (clique aqui para ver), e pintou uma grande e complica dúvida. Na verdade, não sei nem por onde começar o script dessa página que quero fazer. Seguinte, estou querendo fazer uma grade de programação que mostre os dados desta forma:

 

=====================================

| 13h00 | 13h30 | 14h00 |

=====================================

| Logo | prog 1 --|------- Prog 2 ---|----- prog 3----- |

| Logo | prog 4 ----------------------------------------- |

| Logo | prog 6 --|------- prog 7 --- | --- prog ------- |

| Logo | --------------------------------|---- prog Y ----- |

=====================================

| 13h00 | 13h30 | 14h00 |

=====================================

| Logo | ------------------------------- | --- prog ----- |

| Logo | prog ----| ----- prog ------- | --- prog ----- |

| Logo | prog --- | ----- prog ------- | --- prog ----- |

| Logo | prog -------------------------------------------- |

======================================

 

Como podem ver, o HTML precisa gerar automaticamente dentro do script pegando os dados do BD. Note que dentro da tabela algumas colunas jamais devem ser alteradas, como é o caso da coluna LOGO, por outro lado, o restante onde mostra a programação vai sofrer bastante alteração, já que cada programa começa X hora, sendo assim, pra tabela ficar certa, teria que usar colspan pra algumas colunas ficar certa. Outra coisa, coluna que mostra a hora teria que repetir a cada 4 canais, como na figura que descrevi acima.

 

Alguém pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ninguém? Nem pra indicar um tuto?

 

EDITADO: Puxa, ninguém pode ajudar? alguém há de saber mais ou menos como fazer. Please pessoal, me dê uma luz.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então pessoal, acho que agora fica melhor pra vocês me ajudar. tava me matando aqui bolando um jeito, já consegui fazer algo. Consigo mostrar 5 canais e fazer um intervalo pra mostrar a bara de hora como no exemplo acima, o problema está em duas questão.

 

Não estou conseguindo fazer as <TD> e colocar a HORA AVANÇADA correta na barra de horário (22:00 --- 22:30 -- 23:00 -- 23:30). Então, por equanto está mostrando dessa forma.

 

LOGO > programa

LOGO > programa a seguir (repetiu o mesmo canal pq não fez a <td> pra separar a TD do programa primeiro programa, então o sistema fez um quebra </tr> automaticamente e repetiu o mesmo logo/canal, só que mostrou o programa a seguir). Isso se repete até ter 5 quebras de linha. A cada 5 quebra de linha mostra a barra (22:00 --- 22:30 -- 23:00 -- 23:30).

 

Vou postar o que consegui desenvolver até agora. Por favor, alguém me ajuda.

 

<?phpinclude("connection.php");		  // abre a conexão com o servidor MySql		  $dbh = mysql_connect($host, $user, $password);		  if (!$dbh) {				  die("Não consegui conexão com o MySql");		  }		  // abre o banco de dados		  mysql_select_db($dbname);		  unset($sth);$canal_count = 5;$tds = 24;$qry ="select .... "; $sth = mysql_query("$qry",$dbh);echo "<table summary=\"\" cellspacing=\"0\" class=\"default channels grade\" align=\"center\">"."\r\n";echo "<tfoot>"."\r\n";echo "<tr><th><th><th><th><th><th><th><th><th><th><th><th><th><th><th><th><th><th><th><th><th><th><th><th><th>"."\r\n";echo "<tbody>"."\r\n";while($rows=mysql_fetch_array($sth)) {$inicio = substr($rows[1],11,2)."h".substr($rows[1],14,2);$canal = $rows["canal"];$titulo = $rows["titulo"];$sinopse = $rows["sinopse"];$gif = strtolower($rows[0]).".gif"; 	   $nome_canal = $canais_generico[array_search($rows[0], $canais_generico)+1];$data_hora = "<b>".substr($rows[1],8,2)."/".substr($rows[1],5,2)."</b>"; if($sinopse=="N/D"){						$sinopse="";				  }				  if(empty($sinopse)){							$sinopse="Sinopse Não Disponível.";				  } $canal = "<img src ='../guia/gifs/logos_home/$gif' border='0' alt=''></a>";$link_prg = "<a href=\"info.php?sinopse=$sinopse\">$titulo</a>";$time = time(); 	if ($canal_count==5)	{	  $canal_count=0;	} 	if ($canal_count==0)	{				 echo "<tr><th><th colspan=\"3\" style=\"text-align:left\">".strftime("%H",$time).":00<th colspan=\"6\">".strftime("%H",$time).":30<th colspan=\"6\">".strftime("%H",$time).":00<th colspan=\"6\">".strftime("%H",$time).":30<th colspan=\"3\"  style=\"text-align:right\">".strftime("%H",$time).":00"."\r\n";	} 	$canal_count=$canal_count+1;				 echo "<tr><th>$canal";	$tds=0;	 	if (!$tds==24)	{	  print "<td colspan=\"".$tds."\">$link_prg";	} }echo "</table>";?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

kra tenta fazer algo mais facil pra começar :dentro do while você pode escrever assim :echo "<table><tr><td>" . $variavel . "</td></tr></table>"; ou somente criar as TD's.. echo "<td>" . $variavel . "</td>";Sempre lembrando.. dentro de uma <table> você tem : <TR> = Linha.. <TD> = coluna....exemplo.. você abre uma <tr> e pode colocar quantas colunas quiser <td> 1 </td><td> 2 </td><td> 3 </td><td> 4 </td></tr>....era isso que você tava precisando ????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é tão simples assim, as <TD> tem que ser criadas automaticamente até 4 colunas, sendo que de vez em quando será necessário usar COLSPAN dentro da <TD>, e o número dessa COLSPAN vai variar, pois nem todos os programas começa por exemplo 12:00 e acabar 12:30, entendeu?Preciso criar essas COLSPAN e GERAR a quantidade certa de <TD> e COLSPAN automaticamente. Alguém pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

cansei de quebrar a cabeça e não sai do lugar. Se algum programador tiver interessado em fazer essa grade pra mim eu pago bem... só entrar em contato via MP.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é tão simples assim, as <TD> tem que ser criadas automaticamente até 4 colunas, sendo que de vez em quando será necessário usar COLSPAN dentro da <TD>, e o número dessa COLSPAN vai variar, pois nem todos os programas começa por exemplo 12:00 e acabar 12:30, entendeu?Preciso criar essas COLSPAN e GERAR a quantidade certa de <TD> e COLSPAN automaticamente. Alguém pode me ajudar?

tvplus, não estou entendendo bem o que quer, faz o seguinte, monta uma html de como quer que ocorra, com imagens e tudo certinho pra vermos, e quem sabe possamos ajudá-lo, monte somente a pagina sem programação e coloca online,vlw.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então brother, pra ficar bem simples e fácil de entender. Eu preciso gerar a página igual essa da foto, note que o COLSPAN precisa gerar automaticamente, já que nem todos os programas começa e termina no mesmo horário.

 

Jeito CERTO

Imagem Postada

 

O que eu consegui até agora

Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então brother, pra ficar bem simples e fácil de entender. Eu preciso gerar a página igual essa da foto, note que o COLSPAN precisa gerar automaticamente, já que nem todos os programas começa e termina no mesmo horário.

 

Jeito CERTO

Imagem Postada

 

O que eu consegui até agora

Imagem Postada

Acho que entendi, agora algumas perguntas, como você colocou na imagem, os horários das imagens são os horários reais, ou as programações ocorrerão o dia todo e o seu horário lá em cima não condiz com a hora do programa, o horário 22;00hs será sempre o início.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos lá, uma de cada vez.

 

PERGUNTA: como você colocou na imagem, os horários das imagens são os horários reais, ou as programações ocorrerão o dia todo

 

RESP: O horário são verdadeiro, sempre que entrar na página mostra o horário atual e vai se seguindo até dar 2 horas a frente. O sistema mostrará a grade todos os dias, 7 dias por semana, 365 dias por ano (risos).

 

As outras perguntas fica respondida com a primeira foto, ou seja, com a foto que mostra o guia/grade da TV GUIA em funcionando, gerando o HTML automaticamente. Enquanto que no meu código, isso não ocorre, pq não sei bem como gerar esse HTML corretamente.

 

Se puder me ajudar, eu agradeço de coração.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Velho aqui é embaçado...Dificilmente alguem te ajudaria...Nesse caso é melhor procurar os administradores do forum e dizer que paga.. Ai você negocia com eles...Mas ajudar assim...Aqui é mais select, conectar ao banco.. Coisa bem básica mesmo...Boa sorte...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Brother, não sei nem quem é os administradores do fórum (risos).De qualquer forma, obrigado. Como eu disse acima, eu pago, mais pra quem realmente tiver interessado em fazer o serviço, pelo jeito ninguém está, ninguém enviou nenhuma MP. A esperança que alguém me indique alguma coisa semelhante é a última que morre, enquanto isso, continuo tentando fazer gerar o HTML dinamicamente , pq o resto é fácil fazer.Quanto alguém ajudar aqui, acredito que exista muita gente boa nesse mundo ainda e, por isso, continuo torcendo pra que uma dessas pessoas possa ver esse tópico e tentar me ajudar, nem que for para pelo menos indicar alguma função e etc.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tvplus, não é muito complicado de fazer, infelizmente não estou com tempo disponível para ajudá-lo no momento (últimos dias antes da entrega de projeto) mas posso dizer que o caminho mais rápido é criar 1 tabela para cada linha, eu não conseguí imaginar o loop da 2ª linha armazenar quantas colunas foram usadas anteriormente e consistir esses dados para todas as demais... Então, criando uma linha com várias colunas, 1 para cada 30' de programação e com tamanho fixo, você pode "contar" quais serão marcadas, a cor e quantas serão "mergeadas" e o tamanho que deverão ter é igual a soma de do tamanho das tantas colunas "unidas". Por ex:| logo | => 10px de lagura| | = 30' => 5px de larguraTabela do 12:00 às 20:00| logo ||...||...||...||...||...||...||...||...||...||...||...||...||...||...||...||...||Ex:Programa Tanz, das 13:30 às 15:00 (1h e 30m = 3 colunas)| tanz ||...||...|| ... ... ... ||...||...||...||...||...||...||...||...||...||...||Isso para cada linha. Com um pouco mais de tempo eu criava pra você mas tá osso aqui...Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então brother, um cara falou exatamente isso na comunidade PHP no Orkut. O problema, no meu caso, é que não sei fazer coisas um pouco mais complexa, como é esse caso. Se eu entendi bem, eu teria que fazer algo assim. Criar uma variavel, somar essa varivel por um programa de 60 minutos e setar por exemplo colspan 3 pra todos esses programas de 60 min., de duração, e assim eu faria para programas de outras duração, certo?Se for isso mesmo, ai que lascou de vez, não sei como posso fazer isso. Quanto ao Colspan, o máximo que será usado é até 4, do 1 ao 4. Se mais tarde, depois que você entregar seu projeto você puder me ajudar, fico eternamente agradecido e nem saberia como te agradecer brother.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então brother, um cara falou exatamente isso na comunidade PHP no Orkut. O problema, no meu caso, é que não sei fazer coisas um pouco mais complexa, como é esse caso. Se eu entendi bem, eu teria que fazer algo assim. Criar uma variavel, somar essa varivel por um programa de 60 minutos e setar por exemplo colspan 3 pra todos esses programas de 60 min., de duração, e assim eu faria para programas de outras duração, certo?Se for isso mesmo, ai que lascou de vez, não sei como posso fazer isso. Quanto ao Colspan, o máximo que será usado é até 4, do 1 ao 4. Se mais tarde, depois que você entregar seu projeto você puder me ajudar, fico eternamente agradecido e nem saberia como te agradecer brother.

tvplus, te enviei uma MP com còdigo que pode te ajudar, você recebeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, desculpe a demora, chegou sim, vou testar agora o código :)Vou responder lá sua MP que fica melhor.EDITADO: não consegui responder a MP, diz que num tenho nenhum amigo na lista... Respondo aqui mesmo depois então hehehe

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta usar o tempo de cada programa pra gerar o colspantipow se o programa tiver duração de 1h e for uma tabela pra que cada td esteja em 1h, n tem colspansenão colspan é a quantidade de horas... e n esqueça de fazer uma verificação caso na quarta hora, para que caso seja mais que 1h, só apareça a 1hcoisa assimainda num tentei modelar o problema mas tenta assim, dividir em trechos (no caso 1h ou senão 15min ficaria mais perto da realidade) e modela os programas de acordo com quantos blocos de 1h/15min, já tentou?na database deve ter o horário de início e de término.... depende de como estiver láse forem minutos quebrados, faça como se aproxime de 1h/15min antes de puxar os dadosou se caso ainda não tiver na database, crie um com tempo e duração (que seria mais conveniente)se n tiver tentado, avise aih eu tento ou sei lah

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então brother, no BD tem sim o horário de inicio e término do programa, está no formato datetime. Tem programas com duração de até 6 horas (hehehe). O user hcar já está tentando fazer, valeu mesmo brother por oferecer sua ajuda :)

 

Qualquer coisa eu entro em contato com você, mas parece que o hcar já está conseguindo fazer :) http://forum.imasters.com.br/public/style_emoticons/default/joia.gif :rolleyes:

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.