Jump to content

RafaelDuarte

Members
  • Content count

    3
  • Joined

  • Last visited

Community Reputation

1 Comum

About RafaelDuarte

  1. RafaelDuarte

    Problemas com Table

    @android17 Obrigado pela sua ajuda, vou estudar seu código! Eu estudei bastante orientado a objetos na faculdade mas eu usava o JAVA, vou ver como posso me adaptar para o PHP, valeu mais uma vez a dica. Acredito ter conseguido a solução: Contei com a ajuda de um amigo desenvolvedor web; A lógica foi assim: Uma nova consulta SQL a cada nova linha de Membros; A cada linha de Membros eu tenho um 'COD_MEMBRO', Então esse resultado eu uso para fazer a nova QUERY Em nova SQL eu consultei as frequências de um único membro; e Mandei imprimir com o laço de repetição limitando na quantidade de DATAS (Colunas) disponíveis; SELECT f.data, mf.presenca, mf.cod_membro FROM frequencia as f inner join membro_frequencia as mf on f.cod_frequencia = mf.cod_frequencia and mf.cod_membro = $VARIAVEL and MONTH(f.data) = 05 Resultado da Variavel -> COD_MEMBRO = 1 data presenca cod_membro 2016-05-04 1 1 2016-05-03 1 1 2016-05-05 1 1 <table width="600" border="1" cellspacing="5" bgcolor="#FFFFFF"> <tr align="center"> <td width="400" align="center">Nome:</td> <!-- Repetição para aparecer todas as datas que contém frequência de uma determinada célula--> <!-- Imprimi a data na respectiva linha --> <?php do{?> <td align="center"><?php echo date('d/m/Y',strtotime($row_rs_datas_frequencia['data'])); ?></td> <?php }while($row_rs_datas_frequencia = mysql_fetch_assoc($rs_datas_frequencia))?> <td width="200" align="center">Total Presença Membros Mensal</td> <td width="200" align="center">Total Falta Membros Mensal</td> </tr> <!-- Laço para as linhas da Tabela --> <?php do{ ?> <tr align="center"> <!-- Imprimi o membro na respectiva linha --> <td width="400" align="center"><?php echo $row_rs_membros['nome']?></td> <?php $countP=; $countF=; $count=;?> <?php mysql_select_db($database_ChurchApp, $ChurchApp); $query_rs_linha_membro = sprintf("SELECT f.data, mf.presenca, mf.cod_membro FROM frequencia as f inner join membro_frequencia as mf on f.cod_frequencia = mf.cod_frequencia and mf.cod_membro = %s and MONTH(f.data) = 05", GetSQLValueString($row_rs_membros['cod_membro'], "int")); $rs_linha_membro = mysql_query($query_rs_linha_membro, $ChurchApp) or die(mysql_error()); $row_rs_linha_membro = mysql_fetch_assoc($rs_linha_membro); $totalRows_rs_linha_membro = mysql_num_rows($rs_linha_membro); ?> <!-- Imprimi a presença do membro na respectiva linha, com Base na consulta feito a partir do COD_MEMBRO (do laço de repetição) --> <?php do{?> <td align="center"> <?php //echo "CodMembro:".$row_rs_linha_membro['cod_membro']." Data:".$row_rs_linha_membro['data']." Presen:"; ?> <?php if($row_rs_linha_membro['presenca']>=1){ $countP++; echo "P"; }else{ $countF++; echo "F";} ?></td> <?php $row_rs_linha_membro = mysql_fetch_assoc($rs_linha_membro); ?> <!-- Imprimi a presença do membro na respectiva linha, com o limite de DATAS disponíveis --> <?php $count++; }while($count<$totalRows_rs_datas_frequencia)?> <td align="center"><?php echo $countP ?></td> <td align="center"><?php echo $countF ?></td> </tr> <!-- (Repetição) Voltar a imprimir as linhas enquanto tiver membros --> <?php }while($row_rs_membros = mysql_fetch_assoc($rs_membros)) ?> </table> Resultado Tabela: Espero que essa solução ajude mais alguém com a mesma dúvida. Obrigado a todos.
  2. RafaelDuarte

    Problemas com Table

    Olá amigos, gostaria de uma grande ajuda de vocês; Sou estudante e iniciante de programação Web e estou com uma dúvida há dias, já pesquisei em vários fóruns, mas não consegui achar uma solução para o meu problema... Então resolvi pedir a ajuda de vocês com mais experiência que eu. <table width="600" border="1" cellspacing="5" bgcolor="#FFFFFF"> <tr align="center"> <td width="400" align="center">Nome:</td> <!-- Repetição para aparecer todas as datas que contém frequência de uma determinada célula--> <?php do{?> <td align="center"><?php echo date('d/m/Y',strtotime($row_rs_datas_frequencia['data'])); ?></td> <?php }while($row_rs_datas_frequencia = mysql_fetch_assoc($rs_datas_frequencia))?> <td width="200" align="center">Total Presença Membros Mensal</td> <td width="200" align="center">Total Falta Membros Mensal</td> </tr> <?php do{ ?> <tr align="center"> <!-- Imprimi a quantidade de alunos e as frequências --> <td width="400" align="center"><?php echo $row_rs_membros['nome']; ?></td> <!-- ********************************************************************** **************************************************************************** AQUI ESTÁ O PROBLEMA, NÃO ESTOU CONSEGUINDO FAZER APARECER A PRESENÇA DAS OUTRAS DATAS --> <?php $countP=0; $countF=0;?> <td align="center"> <?php if($row_rs_relatorio['presenca']>=1){ $countP++; echo "P"; }else{ $countF++; echo "F";} $row_rs_relatorio = mysql_fetch_array($rs_relatorio);?></td> <td align="center"><?php echo $countP ?></td> <td align="center"><?php echo $countF ?></td> </tr> <?php }while($row_rs_membros = mysql_fetch_assoc($rs_membros)) ?> </table> Resultado: OBS: No meu banco já estou conseguindo preencher as frequências normalmente, agora estou no passo de gerar os relatórios das mesmas. Meu objetivo era fazer um relatório mensal de frequência como este no Excel: Meus Banco de Dados: Ø MEMBRO · Cod_membro · Nome · ... (informações em gerais) · Cod_celula Ø Célula · Cod_celula · Nome Ø Frequência · Cod_frequencia · Data · ...(Informações em gerais) · Cod_celula Ø Membro_Frequência · Cod_membro · Presença (0=F;1=P) · Cod_frequencia (Tentei resumir a dúvida o máximo que pude, desculpe pelo tamanho do POST) mysql_select_db($database_ChurchApp, $ChurchApp); $query_rs_membros = sprintf("SELECT * FROM membro WHERE cod_celula = %s", GetSQLValueString($colname_rs_membros, "int")); $rs_membros = mysql_query($query_rs_membros, $ChurchApp) or die(mysql_error()); $row_rs_membros = mysql_fetch_assoc($rs_membros); $totalRows_rs_membros = mysql_num_rows($rs_membros); mysql_select_db($database_ChurchApp, $ChurchApp); $query_rs_relatorio = sprintf("SELECT membro.nome, frequencia.cod_frequencia, frequencia.data, membro_frequencia.presenca FROM membro, frequencia, membro_frequencia WHERE frequencia.cod_celula = %s AND membro.cod_membro = membro_frequencia.cod_membro AND MONTH(frequencia.data) = 05 AND membro_frequencia.cod_frequencia = frequencia.cod_frequencia", GetSQLValueString($colname_rs_relatorio, "int")); $query_rs_datas_frequencia = sprintf("SELECT frequencia.data FROM frequencia WHERE cod_celula = %s and MONTH(frequencia.data) = 05", GetSQLValueString($colname_rs_datas_frequencia, "int"));
  3. RafaelDuarte

    DÚVIDA: RELATÓRIO A PARTIR DE FREQUÊNCIA

    Olá amigos, gostaria de uma grande ajuda de vocês; Sou estudante e iniciante de programação Web e estou com uma dúvida há dias, já pesquisei em vários fóruns, mas não consegui achar uma solução para o meu problema... Então resolvi pedir a ajuda de vocês com mais experiência que eu. (Tentarei ser o máximo organizado possível para melhor entendimento, desculpe o tamanho do texto) Estou desenvolvendo um sistema a nível de aprendizado para a organização de membros, grupos e Frequência. O Sistema baseia-se em: · Cadastro de membros; · Preenchimento de frequência; · Relatórios; A parte de Cadastro e Frequência já está OK (Desenvolvidas), mas o último passo que são os relatórios dessas frequências ainda não consegui resolver. Pois bem, vamos lá! 1.PÁGINA DE RELATÓRIOS: Estou recebendo como parâmetro da página anterior o cod_celula, e irá aparecer a lista de membros da respectiva célula. Parto do principio que quero selecionar só as frequências do Mês 05 (Irei fazer um MENU LIST na página anterior para direcionar o mês referência de escolha) 1.1 PROBLEMA: não consigo fazer aparecer a frequência dos membros em cada coluna de suas respectivas datas, já tentei de tudo e até agora nada. Expectativa (Excel): Realidade (PHP): 2. Banco de Dados Ø MEMBRO · Cod_membro · Nome · ... (informações em gerais) · Cod_celula Ø Célula · Cod_celula · Nome Ø Frequência · Cod_frequencia · Data · ...(Informações em gerais) · Cod_celula Ø Membro_Frequência · Cod_membro · Presença (0=F;1=P) · Cod_frequencia OBS: Cada membro possui uma PRESENÇA em (P=Presente e F=Falta) para cada frequência realizada OBS2: É muito similar em uma Frequência escolar onde todo o dia o Professor lança a frequência de cada aluno, e o aluno possui uma (Falta ou Presença) de determinado dia; ü Para melhor explicação Célula pode ser substituído por TURMA e MEMRBO por ALUNO. OBS3: No sistema que estou criando as reuniões são semanais. 3. Código PHP – Página de Relatórios <?php require_once('Connections/ChurchApp.php'); ?> <?php if (!function_exists("GetSQLValueString")) { function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { if (PHP_VERSION < 6) { $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue; } $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue); switch ($theType) { case "text": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "long": case "int": $theValue = ($theValue != "") ? intval($theValue) : "NULL"; break; case "double": $theValue = ($theValue != "") ? doubleval($theValue) : "NULL"; break; case "date": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "defined": $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; break; } return $theValue; } } $colname_rs_relatorio = "-1"; if (isset($_GET['cod_celula'])) { $colname_rs_relatorio = $_GET['cod_celula']; } mysql_select_db($database_ChurchApp, $ChurchApp); $query_rs_relatorio = sprintf("SELECT membro.nome, frequencia.cod_frequencia, frequencia.data, membro_frequencia.presenca FROM membro, frequencia, membro_frequencia WHERE frequencia.cod_celula = %s AND membro.cod_membro = membro_frequencia.cod_membro AND MONTH(frequencia.data) = 05 AND membro_frequencia.cod_frequencia = frequencia.cod_frequencia", GetSQLValueString($colname_rs_relatorio, "int")); $rs_relatorio = mysql_query($query_rs_relatorio, $ChurchApp) or die(mysql_error()); $row_rs_relatorio = mysql_fetch_assoc($rs_relatorio); if (isset($_GET['totalRows_rs_relatorio'])) { $totalRows_rs_relatorio = $_GET['totalRows_rs_relatorio']; } else { $all_rs_relatorio = mysql_query($query_rs_relatorio); $totalRows_rs_relatorio = mysql_num_rows($all_rs_relatorio); } $colname_rs_membros = "-1"; if (isset($_GET['cod_celula'])) { $colname_rs_membros = $_GET['cod_celula']; } mysql_select_db($database_ChurchApp, $ChurchApp); $query_rs_membros = sprintf("SELECT * FROM membro WHERE cod_celula = %s", GetSQLValueString($colname_rs_membros, "int")); $rs_membros = mysql_query($query_rs_membros, $ChurchApp) or die(mysql_error()); $row_rs_membros = mysql_fetch_assoc($rs_membros); $totalRows_rs_membros = mysql_num_rows($rs_membros); $colname_rs_qtd_frequencia = "-1"; if (isset($_GET['cod_celula'])) { $colname_rs_qtd_frequencia = $_GET['cod_celula']; } mysql_select_db($database_ChurchApp, $ChurchApp); $query_rs_qtd_frequencia = sprintf("SELECT COUNT(cod_frequencia) FROM frequencia WHERE cod_celula = %s and MONTH(frequencia.data) = 05", GetSQLValueString($colname_rs_qtd_frequencia, "int")); $rs_qtd_frequencia = mysql_query($query_rs_qtd_frequencia, $ChurchApp) or die(mysql_error()); $row_rs_qtd_frequencia = mysql_fetch_assoc($rs_qtd_frequencia); $totalRows_rs_qtd_frequencia = mysql_num_rows($rs_qtd_frequencia); $colname_rs_celula = "-1"; if (isset($_GET['cod_celula'])) { $colname_rs_celula = $_GET['cod_celula']; } mysql_select_db($database_ChurchApp, $ChurchApp); $query_rs_celula = sprintf("SELECT * FROM celula WHERE cod_celula = %s", GetSQLValueString($colname_rs_celula, "int")); $rs_celula = mysql_query($query_rs_celula, $ChurchApp) or die(mysql_error()); $row_rs_celula = mysql_fetch_assoc($rs_celula); $totalRows_rs_celula = mysql_num_rows($rs_celula); $colname_rs_datas_frequencia = "-1"; if (isset($_GET['cod_celula'])) { $colname_rs_datas_frequencia = $_GET['cod_celula']; } mysql_select_db($database_ChurchApp, $ChurchApp); $query_rs_datas_frequencia = sprintf("SELECT frequencia.data FROM frequencia WHERE cod_celula = %s and MONTH(frequencia.data) = 05", GetSQLValueString($colname_rs_datas_frequencia, "int")); $rs_datas_frequencia = mysql_query($query_rs_datas_frequencia, $ChurchApp) or die(mysql_error()); $row_rs_datas_frequencia = mysql_fetch_assoc($rs_datas_frequencia); $totalRows_rs_datas_frequencia = mysql_num_rows($rs_datas_frequencia); $colname_rs_mes_referencia = "-1"; if (isset($_GET['cod_celula'])) { $colname_rs_mes_referencia = $_GET['cod_celula']; } mysql_select_db($database_ChurchApp, $ChurchApp); $query_rs_mes_referencia = sprintf("SELECT MONTH(frequencia.data) FROM frequencia WHERE cod_celula = %s", GetSQLValueString($colname_rs_mes_referencia, "int")); $rs_mes_referencia = mysql_query($query_rs_mes_referencia, $ChurchApp) or die(mysql_error()); $row_rs_mes_referencia = mysql_fetch_assoc($rs_mes_referencia); $totalRows_rs_mes_referencia = mysql_num_rows($rs_mes_referencia); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><!-- InstanceBegin template="/Templates/modelo.dwt.php" codeOutsideHTMLIsLocked="false" --> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="content-Type" content="text/html; charset=iso-8859-1" /> <!-- InstanceBeginEditable name="doctitle" --> <title>Relatório Presença Mensal</title> <!-- InstanceEndEditable --> <!-- InstanceBeginEditable name="head" --> <link href="css/layout.css" rel="stylesheet" type="text/css" /> <!-- InstanceEndEditable --> </head> <body> <div id="principal"> <div id="topo"> <p><!--<img src="../images/quandragular_logo.png" width="80" height="77" /> --> <img src="images/Catedral%20da%20Adoração%20-%20Letreiro%20Teste%20(espiral%20flame%20all%20color).png" width="230" height="80"/></p> </div> <!-- InstanceBeginEditable name="conteudo" --> <div id="conteudo"><p> </p> <form id="form1" name="form1" method="post" action=""> <strong>Mês de Referência: <?php echo "0".$row_rs_mes_referencia['MONTH(frequencia.data)'] ?></strong> <table width="600" border="1" cellspacing="5" bgcolor="#FFFFFF"> <tr align="center"> <td width="400" align="center">Nome:</td> <!-- Repetição para aparecer todas as datas que contém frequência de uma determinada célula--> <?php do{?> <td align="center"><?php echo date('d/m/Y',strtotime($row_rs_datas_frequencia['data'])); ?></td> <?php }while($row_rs_datas_frequencia = mysql_fetch_assoc($rs_datas_frequencia))?> <td width="200" align="center">Total Presença Membros Mensal</td> <td width="200" align="center">Total Falta Membros Mensal</td> </tr> <?php do{ ?> <tr align="center"> <!-- Imprimi a quantidade de alunos e as frequências --> <td width="400" align="center"><?php echo $row_rs_membros['nome']; ?></td> <!-- ********************************************************************** **************************************************************************** AQUI ESTÁ O PROBLEMA, NÃO ESTOU CONSEGUINDO FAZER APARECER A PRESENÇA DAS OUTRAS DATAS --> <?php $countP=0; $countF=0; //$count=0; ?> <?php //while($count<$totalRows_rs_datas_frequencia){?> <!-- REPETI A COLUNA 3 VEZES APENAS PARA UMA MANEIRA ESTÉTICA DE EXPLICAR COMO DEVERIA FICAR --> <td align="center"><?php if($row_rs_relatorio['presenca']>=1){ $countP++; echo "P"; }else{ $countF++; echo "F";} ?></td> <td align="center"><?php if($row_rs_relatorio['presenca']>=1){ $countP++; echo "P"; }else{ $countF++; echo "F";} ?></td> <td align="center"><?php if($row_rs_relatorio['presenca']>=1){ $countP++; echo "P"; }else{ $countF++; echo "F";} ?></td> <?php //$count++; $row_rs_relatorio = mysql_fetch_assoc($rs_relatorio); }?> <td align="center"><?php echo $countP ?></td> <td align="center"><?php echo $countF ?></td> </tr> <?php }while($row_rs_membros = mysql_fetch_assoc($rs_membros) and $row_rs_relatorio = mysql_fetch_assoc($rs_relatorio)) ?> <tr align="center"> <td align="center">Total Presentes por data</td> <?php $count2=0; while($count2<$totalRows_rs_datas_frequencia){ ?> <td> </td> <?php $count2++; } ?> </tr> </table> <p><a href="Celula_informacoes.php?cod_celula=<?php echo $row_rs_celula['cod_celula']; ?>">Voltar</a> </p> </form> </div> <!-- InstanceEndEditable --> <div id="rodape">Copyright © - Todos os direitos reservados por Rafael Duarte<br /></div> </div> </body> <!-- InstanceEnd --></html> <?php mysql_free_result($rs_relatorio); mysql_free_result($rs_membros); mysql_free_result($rs_qtd_frequencia); mysql_free_result($rs_celula); mysql_free_result($rs_datas_frequencia); mysql_free_result($rs_mes_referencia); ?>
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.