andersongvminas 0 Denunciar post Postado Setembro 30, 2015 Olá Pessoal, Como faço para puxar do banco de dados a presença de cada aluno na horizontal e vertical conforme cada aluno, como mostra a imagens abaixo: Código: <table> <tr> <? $re_3 = mysql_query("SELECT * FROM tb_chamadas_gv INNER JOIN tb_alunos_gv ON tb_alunos_gv.id = tb_chamadas_gv.id_aluno WHERE id_disciplina like'%$id_disciplina%' GROUP BY id_aluno ORDER BY tb_alunos_gv.nome"); while ($rs_3 = mysql_fetch_array($re_3)){ ?> <td width="12"><input type="text" value="<? echo $rs_3['id']; ?>" size="2" /></td> <td width="423"><div style="width:400px;"><? echo $rs_3['nome']; ?></div></td> <? $re_4 = mysql_query("SELECT * FROM tb_alunos_gv INNER JOIN tb_chamadas_gv ON tb_chamadas_gv.id_aluno = tb_alunos_gv.id"); $count = mysql_num_rows($re_4); while($rs_4 = mysql_fetch_array($re_4)){ ?> <td> <div style="width:15px;"><input name="freq[]" type="checkbox" value="SIM" <?php echo $rs_4["freq"] == "SIM" ? "checked=\"checked\"" : ""; ?> /></div> <? } ?> </td> </tr> <? }?> </table> Compartilhar este post Link para o post Compartilhar em outros sites
(RNU) Ruan Silva 61 Denunciar post Postado Setembro 30, 2015 na horizontal é normal, para vertical tem uma ajuda aqui do imasters: http://forum.imasters.com.br/topic/466604-texto-na-vertical-90-graus-css/ Compartilhar este post Link para o post Compartilhar em outros sites
andersongvminas 0 Denunciar post Postado Setembro 30, 2015 a exibição na horizontal já fiz conforme a imagem, a questão não estou conseguindo puxar a frequencia de cada aluno do banco de dados como se fosse um diário. Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Setembro 30, 2015 Explique melhor sua dúvida. Seu problema é com banco de dados, é com php, ou é com CSS ? Compartilhar este post Link para o post Compartilhar em outros sites
andersongvminas 0 Denunciar post Postado Outubro 1, 2015 Estou querendo puxar do banco de dado as presença dos alunos lançados, em um checkbox na horizontal exemplo: DIA 1 - DIA 2 - DIA 3 - DIA 4 ....................... João ---------------- SIM - NÃO - SIM - SIM Maria ---------------- SIM - SIM - SIM - NÃO Banco de Dados Tabela Aluno Id Nome Tabela Chamada Id Id_aluno data presença Quando utilizo o comando abaixo: os campos checkbox já vem marcado e não esta identificando o id do aluno com id da frequencia - para exibir na horizontal. <table> <tr> <? $re_3 = mysql_query("SELECT * FROM tb_chamadas_gv INNER JOIN tb_alunos_gv ON tb_alunos_gv.id = tb_chamadas_gv.id_aluno WHERE id_disciplina like'%$id_disciplina%' GROUP BY id_aluno ORDER BY tb_alunos_gv.nome"); while ($rs_3 = mysql_fetch_array($re_3)){ ?> <td width="12"><input type="text" value="<? echo $rs_3['id']; ?>" size="2" /></td> <td width="423"><div style="width:400px;"><? echo $rs_3['nome']; ?></div></td> <? $re_4 = mysql_query("SELECT * FROM tb_alunos_gv INNER JOIN tb_chamadas_gv ON tb_chamadas_gv.id_aluno = tb_alunos_gv.id"); $count = mysql_num_rows($re_4); while($rs_4 = mysql_fetch_array($re_4)){ ?> <td> <div style="width:15px;"><input name="freq[]" type="checkbox" value="SIM" <?php echo $rs_4["freq"] == "SIM" ? "checked=\"checked\"" : ""; ?> /></div> <? } ?> </td> </tr> <? }?> </table> Compartilhar este post Link para o post Compartilhar em outros sites
hufersil 145 Denunciar post Postado Outubro 1, 2015 O que eu faria: criaria uma tabela-calendário, como esta: http://www.hufersil.com.br/post/recorrencia-de-datas-com-mysql; colocaria os dados da chamada da semana em uma TEMP; Montaria a query dinamicamente para trazer os dados que preciso; Exemplos: CREATE TABLE calendario ( `data` DATE NOT NULL, dia_semana INT NOT NULL, semana_ano INT NOT NULL, PRIMARY KEY(`data`) ) ENGINE=MyISAM; CREATE TABLE numero ( id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(id) ) ENGINE=MyISAM; INSERT INTO NUMERO VALUES(NULL); INSERT INTO NUMERO SELECT NULL FROM NUMERO; INSERT INTO NUMERO SELECT NULL FROM NUMERO; INSERT INTO NUMERO SELECT NULL FROM NUMERO; INSERT INTO NUMERO SELECT NULL FROM NUMERO; INSERT INTO NUMERO SELECT NULL FROM NUMERO; INSERT INTO NUMERO SELECT NULL FROM NUMERO; INSERT INTO NUMERO SELECT NULL FROM NUMERO; INSERT INTO NUMERO SELECT NULL FROM NUMERO; INSERT INTO NUMERO SELECT NULL FROM NUMERO; INSERT INTO NUMERO SELECT NULL FROM NUMERO; INSERT INTO NUMERO SELECT NULL FROM NUMERO; INSERT INTO NUMERO SELECT NULL FROM NUMERO; INSERT INTO NUMERO SELECT NULL FROM NUMERO; INSERT INTO NUMERO SELECT NULL FROM NUMERO; INSERT INTO calendario SELECT DATE_ADD('2015-01-01', INTERVAL id-1 DAY), DAYOFWEEK(DATE_ADD('2015-01-01', INTERVAL id-1 DAY))-1, WEEKOFYEAR(DATE_ADD('2015-01-01', INTERVAL id-1 DAY)) FROM numero; CREATE TABLE `aluno` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nome` varchar(200) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1; CREATE TABLE `chamada` ( `id` int(11) NOT NULL AUTO_INCREMENT, `id_aluno` int(11) NOT NULL, `data_chamada` date NOT NULL, `presente` tinyint(1) DEFAULT '1', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 ; INSERT INTO `aluno`(`id`, `nome`) VALUES (null, 'Joao'); INSERT INTO `aluno`(`id`, `nome`) VALUES (null, 'Maria'); INSERT INTO `aluno`(`id`, `nome`) VALUES (null, 'Pedro'); PHP # conexao MySQL $db = new PDO('mysql:dbname=testes;host=localhost','root','root'); # formato de datas $formato = 'Y-m-d'; # inicio e fim da semana # pode ser alterado para os periodos desejados $inicio = new DateTime('monday this week'); $fim = new DateTime('friday this week'); # consulta os dias no calendario $sql = sprintf("select * from calendario where data between '%s' and '%s'", $inicio->format($formato), $fim->format($formato)); $stDiasSemana = $db->query($sql) or die('zicou'); # cria uma tabela temporaria com os dados da chamada $sql = sprintf("create temporary table tmp_chamada as select * from chamada where data_chamada between '%s' and '%s'", $inicio->format($formato), $fim->format($formato)); $db->query($sql) or die('zicou'); # uma string auxiliar para montar os dias da chamada $subDiasChamada = ''; foreach($stDiasSemana->fetchAll(PDO::FETCH_ASSOC) as $row) { $subDiasChamada .= sprintf( "SUM(IF(t.data_chamada = '%s' AND t.presente, 1, 0)) as dia_%s,\n", $row['data'], str_replace('-','_',$row['data']) ); } $subDiasChamada = trim(trim($subDiasChamada),','); # cria consulta $sql = " SELECT aluno.id, nome, {$subDiasChamada} FROM aluno LEFT JOIN tmp_chamada t ON t.id_aluno = aluno.id GROUP BY aluno.id "; # daqui pra frente é com você Resultado no PHP My Admin: Compartilhar este post Link para o post Compartilhar em outros sites
marcos_pfa 0 Denunciar post Postado Novembro 27, 2019 (editado) Em 01/10/2015 at 16:55, hufersil disse: Bom dia Hugo Silva, gostaria de uma ajuda sua, como faço para entrar em contato com você? Tentei entrar no seu site mas ele nao está funcionando. Desculpem se estou postando essa mensagem no lugar errado, mas não encontrei o lugar que poderia postar. Editado Novembro 27, 2019 por marcos_pfa Não digitei o texto, enviei antes. Compartilhar este post Link para o post Compartilhar em outros sites