lu002047 0 Denunciar post Postado Junho 11, 2015 Amigos, boa tarde! Estou criando uma paginação para organizar minha tabela. Criei bonitinho, porém quando eu clico num número de página qualquer, os resultados não aparecem. Por exemplo: Eu tenho um botão consultar que envia do meu form via post os dados a serem consultados no banco. Quando eu clico em consultar aparecem os 15 primeiros registros(conforme setei no select com LIMIT), porém quando eu clico na página 2 ou qualquer outra página, os dados não aparecem, simplesmente somem. Alguém sabe o que pode ser? include 'conexaoDB.php'; //paginação $quantidade = 15; $pagina = (isset($_GET['pagina'])) ? (int)$_GET['pagina']: 1; $inicio = ($quantidade * $pagina) - $quantidade; //query paginação $sqlTotal = " SELECT A.COD_SOLICITACAO FROM helpdesk.hdk_solicitacao A INNER JOIN helpdesk.hdk_solicitacao_motivo B ON A.COD_MOTIVO = B.COD_MOTIVO INNER JOIN helpdesk.hdk_usuario C ON A.COD_USUARIO = C.COD_USUARIO INNER JOIN helpdesk.hdk_solicitacao_status D ON A.COD_STATUS = D.COD_STATUS INNER JOIN helpdesk.hdk_solicitacao_grupo E ON A.COD_SOLICITACAO = E.COD_SOLICITACAO INNER JOIN hdk_priorizacao.matriz F ON A.COD_SOLICITACAO = F.COD_SOLICITACAO WHERE A.COD_STATUS in (".$statu.") AND A.DAT_CADASTRO BETWEEN " .$datIni. " AND ".$datFim." AND A.COD_TIPO IN(".$tip.") AND E.IND_RESPONSAVEL = 1 AND E.COD_ANALISTA IN (0,".$resp.") AND E.COD_GRUPO IN (0,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,21) GROUP BY A.COD_SOLICITACAO ORDER BY A.COD_SOLICITACAO"; $qrTotal = mysql_query($sqlTotal) or die(mysql_error()); $numTotal = mysql_num_rows($qrTotal); $totalPagina = ceil($numTotal/$quantidade); //----------------------------------------------------------------------------// // query principal $sql = " SELECT A.DAT_CADASTRO, A.COD_SOLICITACAO, A.COD_TIPO, B.COD_MOTIVO, B.DES_MOTIVO, C.NOM_USUARIO, D.DES_STATUS, D.COD_COR, E.COD_ANALISTA, F.COD_DETERMINACAO, F.COD_IMPACTO, F.COD_ALINHAMENTO, F.COD_SITUACAO, F.COD_URGENCIA, F.COD_COMPLEXIDADE, F.COD_VIABILIDADE, F.COD_CUSTO, F.COD_PRAZO, F.COD_RISCOS, F.COD_TEMPO, F.OBSERVACAO FROM helpdesk.hdk_solicitacao A INNER JOIN helpdesk.hdk_solicitacao_motivo B ON A.COD_MOTIVO = B.COD_MOTIVO INNER JOIN helpdesk.hdk_usuario C ON A.COD_USUARIO = C.COD_USUARIO INNER JOIN helpdesk.hdk_solicitacao_status D ON A.COD_STATUS = D.COD_STATUS INNER JOIN helpdesk.hdk_solicitacao_grupo E ON A.COD_SOLICITACAO = E.COD_SOLICITACAO INNER JOIN hdk_priorizacao.matriz F ON A.COD_SOLICITACAO = F.COD_SOLICITACAO WHERE A.COD_STATUS in (".$statu.") AND A.DAT_CADASTRO BETWEEN " .$datIni. " AND ".$datFim." AND A.COD_TIPO IN(".$tip.") AND E.IND_RESPONSAVEL = 1 AND E.COD_ANALISTA IN (0,".$resp.") AND E.COD_GRUPO IN (0,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,21) GROUP BY A.COD_SOLICITACAO ORDER BY A.COD_SOLICITACAO ASC LIMIT $inicio, $quantidade;"; $qr = mysql_query($sql) or die (mysql_error()); Depois vem o laço que monta minha tabela e no fim do código, coloquei isso: //Paginação for ($i = 1; $i<= $totalPagina; $i++){ if($i == $pagina){ echo $i; }else{ echo " <a class='paginacao' href=\"?pagina=$i\">$i</a> "; } } Sabem como resolvo isso? Compartilhar este post Link para o post Compartilhar em outros sites
lu002047 0 Denunciar post Postado Junho 12, 2015 Tentei fazer a query de paginação depois do while mas tbm não funcionou. Aqui tentei colocar o nome da pagina: echo " <a class='paginacao' href=\"?pagina=$i\">$i</a> "; Ficou assim: echo " <a class='paginacao' href='index.php?pagina=$i'>$i</a> "; Mas tbm não funcionou... Compartilhar este post Link para o post Compartilhar em outros sites
lu002047 0 Denunciar post Postado Junho 12, 2015 Tentei usar session, mas tbm não deu certo! To ficando maluco já. <?php session_start(); if(empty($_POST['status'])) { $statu = $_SESSION['status']; $datIni = $_SESSION['dataIni']; $datFim = $_SESSION['dataFim']; $tip = $_SESSION["tipo"]; $resp = $_SESSION["responsavel"]; } else { $statu= $_POST['status']; $datIni= $_POST['dataIni']; $datFim = $_POST['dataFim']; $tip = $_POST["tipo"]; $resp = $_POST["responsavel"]; $_SESSION['status'] = $statu; $_SESSION['dataIni'] = $datIni; $_SESSION['dataFim'] = $datFim ; $_SESSION["tipo"] = $tip; $_SESSION["responsavel"] = $resp; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
wllf 2 Denunciar post Postado Junho 13, 2015 Lucas recentemente escrevi um post no meu blog detalhando paginação com MySQL. http://www.devwilliam.com.br/2015/05/paginacao-com-mysql-php.html Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Junho 13, 2015 Quando eu clico em consultar aparecem os 15 primeiros registros(conforme setei no select com LIMIT), porém quando eu clico na página 2 ou qualquer outra página, os dados não aparecem, simplesmente somem. Ai está a resposta para o seu problema, no primeiro momento você tem um post, na página 2 esse post não existe mais, a alternativa mais simples é você passar o mesmo post como parâmetro na querystring. Compartilhar este post Link para o post Compartilhar em outros sites
lu002047 0 Denunciar post Postado Junho 13, 2015 Ai está a resposta para o seu problema, no primeiro momento você tem um post, na página 2 esse post não existe mais, a alternativa mais simples é você passar o mesmo post como parâmetro na querystring. Não tem outro jeito de fazer isso? Lucas recentemente escrevi um post no meu blog detalhando paginação com MySQL. http://www.devwilliam.com.br/2015/05/paginacao-com-mysql-php.html Vou dar uma olhada, obrigado! :] Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Junho 13, 2015 Não tem outro jeito de fazer isso? Sessões... Compartilhar este post Link para o post Compartilhar em outros sites
lu002047 0 Denunciar post Postado Junho 13, 2015 Sessões... Eu tentei fazer com sessões, mas acredito que errei em algum lugar... Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Junho 13, 2015 Eu vi, naquele trecho de código não notei nada de errado, teria que ver como você aplicou aquilo no contexto do código da paginação... Compartilhar este post Link para o post Compartilhar em outros sites
lu002047 0 Denunciar post Postado Junho 13, 2015 O ideal seria fazer essa condição antes da query, não? Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Junho 14, 2015 Sim... Compartilhar este post Link para o post Compartilhar em outros sites
lu002047 0 Denunciar post Postado Junho 14, 2015 Certo, amanhã vou testar e verificar se funciona. Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Junho 14, 2015 Se não funcionar, posta o script completo pra gente analisar. Compartilhar este post Link para o post Compartilhar em outros sites
lu002047 0 Denunciar post Postado Junho 15, 2015 Infelizmente não funcionou, estou tentando dessa maneira: session_start(); if(empty($_POST['status'])) { $statu = $_SESSION['status']; $datIni = $_SESSION['dataIni']; $datFim = $_SESSION['dataFim']; $tip = $_SESSION["tipo"]; $resp = $_SESSION["responsavel"]; } else { $statu= $_POST['status']; $datIni= $_POST['dataIni']; $datFim = $_POST['dataFim']; $tip = $_POST["tipo"]; $resp = $_POST["responsavel"]; $_SESSION['status'] = $statu; $_SESSION['dataIni'] = $datIni; $_SESSION['dataFim'] = $datFim ; $_SESSION["tipo"] = $tip; $_SESSION["responsavel"] = $resp; } //paginação $quantidade = 15; $pag = $_GET['pag']; if($pag>1){ $pag = $pag; }else{ $pag = 1; } $inicio = ($quantidade * $pag) - $quantidade; //----------------------------------------------------------------------------// // query principal $sql = " SELECT A.DAT_CADASTRO, A.COD_SOLICITACAO, A.COD_TIPO, B.COD_MOTIVO, B.DES_MOTIVO, C.NOM_USUARIO, D.DES_STATUS, D.COD_COR, E.COD_ANALISTA, F.COD_DETERMINACAO, F.COD_IMPACTO, F.COD_ALINHAMENTO, F.COD_SITUACAO, F.COD_URGENCIA, F.COD_COMPLEXIDADE, F.COD_VIABILIDADE, F.COD_CUSTO, F.COD_PRAZO, F.COD_RISCOS, F.COD_TEMPO, F.OBSERVACAO FROM helpdesk.hdk_solicitacao A INNER JOIN helpdesk.hdk_solicitacao_motivo B ON A.COD_MOTIVO = B.COD_MOTIVO INNER JOIN helpdesk.hdk_usuario C ON A.COD_USUARIO = C.COD_USUARIO INNER JOIN helpdesk.hdk_solicitacao_status D ON A.COD_STATUS = D.COD_STATUS INNER JOIN helpdesk.hdk_solicitacao_grupo E ON A.COD_SOLICITACAO = E.COD_SOLICITACAO INNER JOIN hdk_priorizacao.matriz F ON A.COD_SOLICITACAO = F.COD_SOLICITACAO WHERE A.COD_STATUS in (".$statu.") AND A.DAT_CADASTRO BETWEEN " .$datIni. " AND ".$datFim." AND A.COD_TIPO IN(".$tip.") AND E.IND_RESPONSAVEL = 1 AND E.COD_ANALISTA IN (0,".$resp.") AND E.COD_GRUPO IN (0,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,21) GROUP BY A.COD_SOLICITACAO ORDER BY A.COD_SOLICITACAO LIMIT ".$inicio.",".$quantidade.";"; $qr = mysql_query($sql); //----------------------------------------------------------------------------// //query paginação $sqlTotal = " SELECT COUNT(*) FROM helpdesk.hdk_solicitacao A INNER JOIN helpdesk.hdk_solicitacao_motivo B ON A.COD_MOTIVO = B.COD_MOTIVO INNER JOIN helpdesk.hdk_usuario C ON A.COD_USUARIO = C.COD_USUARIO INNER JOIN helpdesk.hdk_solicitacao_status D ON A.COD_STATUS = D.COD_STATUS INNER JOIN helpdesk.hdk_solicitacao_grupo E ON A.COD_SOLICITACAO = E.COD_SOLICITACAO INNER JOIN hdk_priorizacao.matriz F ON A.COD_SOLICITACAO = F.COD_SOLICITACAO WHERE A.COD_STATUS in (".$statu.") AND A.DAT_CADASTRO BETWEEN " .$datIni. " AND ".$datFim." AND A.COD_TIPO IN(".$tip.") AND E.IND_RESPONSAVEL = 1 AND E.COD_ANALISTA IN (0,".$resp.") AND E.COD_GRUPO IN (0,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,21) GROUP BY A.COD_SOLICITACAO ORDER BY A.COD_SOLICITACAO;"; $qrTotal = mysql_query($sqlTotal); $numTotal = mysql_num_rows($qrTotal); $totalPagina = ceil($numTotal/$quantidade); $link = 5; //Paginação ?> <a class='paginacao' href="index.php?pag=1">Primeira</a> <?php for ($i= $pag-$link; $i<=-1; $i++){ if($i <= 0){ }else{ echo " <a class='paginacao' href='".$_SERVER['PHP_SELF']."?pag=$i'>$i</a> "; } } ?> <?php for($i = $pag+1; $i <= $pag+$link;$i++){ if($i>$quantidade){ }else{ echo " <a class='paginacao' href='".$_SERVER['PHP_SELF']."?pag=$i'>$i</a> "; } } ?> <a class='paginacao' href="index.php?pag=<?php echo $totalPagina; ?>">Última</a> Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Junho 15, 2015 session_start() está na primeira linha do arquivo? Dando um print_p($_SESSION) os dados aparecem, faça isto no if e no else. Compartilhar este post Link para o post Compartilhar em outros sites
lu002047 0 Denunciar post Postado Junho 15, 2015 Não... antes tem do session_start tem o codigo html e os post's. Dando o print retornou : Array ( [status] => Array ( [0] => 3 ) [dataIni] => 2015-06-01 [dataFim] => 2015-06-01 [tipo] => Array ( [0] => 14 ) [responsavel] => Array ( [0] => 9 [1] => 1 [2] => 10 [3] => 4376 [4] => 5551 [5] => 4704 [6] => 37 [7] => 5109 [8] => 11 [9] => 5091 [10] => 2010 [11] => 3704 [12] => 12 [13] => 4095 [14] => 13 [15] => 5034 [16] => 2320 [17] => 14 [18] => 15 [19] => 16 [20] => 17 [21] => 4373 [22] => 4073 [23] => 18 [24] => 19 [25] => 20 [26] => 3909 [27] => 5128 [28] => 42 [29] => 8 [30] => 4139 [31] => 4671 [32] => 6 [33] => 2249 [34] => 21 [35] => 5081 [36] => 4632 [37] => 5085 [38] => 2250 [39] => 4737 [40] => 3793 [41] => 22 [42] => 23 [43] => 24 [44] => 1805 [45] => 25 [46] => 26 [47] => 4360 [48] => 4110 [49] => 27 [50] => 4457 [51] => 4097 [52] => 28 [53] => 4687 [54] => 30 [55] => 2009 [56] => 5584 [57] => 4374 [58] => 32 [59] => 5200 [60] => 4621 [61] => 33 [62] => 1165 [63] => 4206 [64] => 2022 [65] => 35 [66] => 7 [67] => 4344 [68] => 36 ) ) Mas veja como fica a página: Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Junho 15, 2015 Coloque o session_start() no topo, antes de qualquer saída (echo, html, etc) para o navegador... Compartilhar este post Link para o post Compartilhar em outros sites
lu002047 0 Denunciar post Postado Junho 16, 2015 Oi... não funcionou :( Vou postar meu código inteiro. index.php: <?php session_start(); include ("conexaoDB.php"); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>TIC - Matriz de priorização</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"> <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script> <script type="text/javascript" src="javascript/Funcoes.js"></script> <link rel="stylesheet" type="text/css" href="css/estilo.css"> <link rel="stylesheet" type="text/css" href="css/toolTip.css"> <link rel="stylesheet" type="text/css" href="css/BotaoVerde.css"> <link rel="stylesheet" type="text/css" href="css/BotaoAzul.css"> <link rel="stylesheet" type="text/css" href="css/paginacao.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script> <script> //tooltip $(document).ready(function(){ $('.dica').tooltip({html: true, placement: "right"}); }); </script> </head> <body> <form name="opcoes" method="post" action="index.php"> <div class='topo'>TIC - Matriz de priorização</div> </br> <div class="botoes"> <button type="button" class="BotaoAzul" onclick="mostraStatus('status')">Status</button> <button type="button" class="BotaoAzul" onclick="mostraData('dat')">Data de Abertura</button> <button type="button" class="BotaoAzul" onclick="mostraTipo('tipo')">Tipo</button> <button type="button" class="BotaoAzul" onclick="mostraServico('servico')">Serviço</button> <button type="button" class="BotaoAzul" onclick="mostraEspecificacao('especificacao')">Especificação</button> <button type="button" class="BotaoAzul" onclick="mostraMotivo('motivo')">Motivo</button> <button type="button" class="BotaoAzul" onclick="mostraResponsavel('responsavel')">Responsável</button> <input type=submit class="BotaoVerde" name="submit" value="Consultar" a href="C:\xampp\htdocs\MatrizPriorizacao\Index.php"> </div> <div id="status"> </br> <!-- check box para marcar/desmarcar todos--> <table border="1px" cellspacing="0" cellpadding="2" style="background-color: #6E6E6E; color: #FFFFFF;"> <tr> <td width="250px"><input type="checkbox" name=all value="all" onclick='marcarDesmarcarStatus();'>Marcar/Desmarcar todos</td> </tr> </table> <?php $checkbox = mysql_query( "SELECT * FROM helpdesk.hdk_solicitacao_status" ); while($array = mysql_fetch_array($checkbox)){ $status = $array['DES_STATUS']; $codigo = $array['COD_STATUS']; ?> <table id="tabelaCheckbox" border="1px" cellspacing="0" cellpadding="2"> <tr> <td width="250px"><input type="checkbox" name=status[] value="<?php echo $codigo; ?>" class='marcarStatus'/><?php echo utf8_encode($status);?><br/></td> </tr> </table> <?php }?> <!-- fim do while --> </br> </div> </br> <div id="dat"> <table class="data" border="1px" cellspacing="0" cellpadding="2"> <tr> <td>Data Inicial:</td> <td><input type="date" name="dataIni"></td> </tr> <tr> <td>Data Final: </td> <td><input type="date" name="dataFim"></td> </tr> </table> </div> <div id="tipo"> <!-- check box para marcar/desmarcar todos--> <table id="tabelaCheckbox" border="1px" cellspacing="0" cellpadding="2" style="background-color: #6E6E6E; color: #FFFFFF;"> <tr> <td width="250px"><input type="checkbox" name=all value="all" onclick='marcarDesmarcarTipo();'>Marcar/Desmarcar todos</td> </tr> </table> <?php $descricao = mysql_query( "SELECT * FROM helpdesk.hdk_solicitacao_tipo" ); while ($desc = mysql_fetch_array($descricao)){ $descricaoTipo = $desc['NOM_TIPO']; $codigoTipo = $desc['COD_TIPO'] ?> <table id="tabelaCheckbox" border="1px" cellspacing="0" cellpadding="2"> <tr> <td width="250px"><input type="checkbox" name=tipo[] value="<?php echo $codigoTipo; ?>" class='marcarTipo'/><?php echo utf8_encode($descricaoTipo);?><br/></td> </tr> </table> <?php }?> <!-- fim do while --> </br> </div> <div id="servico"> <!-- check box para marcar/desmarcar todos--> <table id="tabelaCheckbox" border="1px" cellspacing="0" cellpadding="2" style="background-color: #6E6E6E; color: #FFFFFF;"> <tr> <td width="250px"><input type="checkbox" name=all value="all" onclick='marcarDesmarcarTipo();'>Marcar/Desmarcar todos</td> </tr> </table> <?php $descricao = mysql_query( "SELECT DISTINCT DES_SERVICO FROM helpdesk.hdk_servico" ); while ($desc = mysql_fetch_array($descricao)){ $descricaoServico = $desc['DES_SERVICO']; ?> <table id="tabelaCheckbox" border="1px" cellspacing="0" cellpadding="2"> <tr> <td width="250px"><input type="checkbox" name=servico[] value="<?php echo $descricaoServico;?>" class='marcarTipo'/><?php echo utf8_encode($descricaoServico);?><br/></td> </tr> </table> <?php }?> <!-- fim do while --> </br> </div> <div id="especificacao"> <!-- check box para marcar/desmarcar todos--> <table id="tabelaCheckbox" border="1px" cellspacing="0" cellpadding="2" style="background-color: #6E6E6E; color: #FFFFFF;"> <tr> <td width="250px"><input type="checkbox" name=all value="all" onclick='marcarDesmarcarTipo();'>Marcar/Desmarcar todos</td> </tr> </table> <?php $descricao = mysql_query( "SELECT DISTINCT DES_ESPECIFICACAO FROM helpdesk.hdk_especificacao" ); while ($desc = mysql_fetch_array($descricao)){ $descricaoEspecificacao = $desc['DES_ESPECIFICACAO']; ?> <table border="1px" cellspacing="0" cellpadding="2"> <tr> <td width="250px"><input type="checkbox" name=especificacao[] value="<?php echo $descricaoEspecificacao;?>" class='marcarTipo'/><?php echo utf8_encode($descricaoEspecificacao);?><br/></td> </tr> </table> <?php }?> <!-- fim do while --> </br> </div> <div id="motivo"> <!-- check box para marcar/desmarcar todos--> <table id="tabelaCheckbox" border="1px" cellspacing="0" cellpadding="2" style="background-color: #6E6E6E; color: #FFFFFF;"> <tr> <td width="250px"><input type="checkbox" name=all value="all" onclick='marcarDesmarcarTipo();'>Marcar/Desmarcar todos</td> </tr> </table> <?php $descricao = mysql_query( "SELECT DISTINCT DES_MOTIVO FROM helpdesk.hdk_solicitacao_motivo" ); while ($desc = mysql_fetch_array($descricao)){ $descricaoMotivo = $desc['DES_MOTIVO']; ?> <table id="tabelaCheckbox" border="1px" cellspacing="0" cellpadding="2"> <tr> <td width="250px"><input type="checkbox" name=motivo[] value="<?php echo $descricaoMotivo;?>" class='marcarTipo'/><?php echo utf8_encode($descricaoMotivo);?><br/></td> </tr> </table> <?php }?> <!-- fim do while --> </br> </div> <div id="responsavel"> <!-- check box para marcar/desmarcar todos--> <table id="tabelaCheckbox" border="1px" cellspacing="0" cellpadding="2" style="background-color: #6E6E6E; color: #FFFFFF;"> <tr> <td width="250px"><input type="checkbox" name=all value="all" onclick='marcarDesmarcarTipo();' checked>Marcar/Desmarcar todos</td> </tr> </table> <?php $descricao = mysql_query( "SELECT * FROM helpdesk.hdk_usuario A WHERE COD_TIPO IN(2,3,4)" ."ORDER BY A.NOM_USUARIO;" ); while ($desc = mysql_fetch_array($descricao)){ $nomeResponsavel = $desc['NOM_USUARIO']; $codigoResponsavel = $desc['COD_USUARIO']; ?> <table id="tabelaCheckbox" border="1px" cellspacing="0" cellpadding="2"> <tr> <td width="250px"><input type="checkbox" name=responsavel[] value="<?php echo $codigoResponsavel;?>" class='marcarTipo' checked/><?php echo utf8_encode($nomeResponsavel);?><br/></td> </tr> </table> <?php }?> <!-- fim do while --> </br> </div> <?php $i = 0; //----------------------------------DATAS------------------------------------// //Inicializando hora para filtro de data $horaIni = 0; $horaFim = 2359; /*verifica se foi informada uma data inicial, caso positivo ira converter para o formato do DB.*/ if($_POST['dataIni'] == null){ $datIni = 200001010800; }else{ //ano $anoInt = explode(',', $_POST['dataIni']); $anoString2 = implode(':', $anoInt); $anoMostrar2 = substr($anoString2, 0, 4); //mes $mesMostrar2 = substr($anoString2, 5, 2); //dia $diaMostrar2 = substr($anoString2, 8, 2); $datIni = $anoMostrar2 . $mesMostrar2 . $diaMostrar2 . $horaIni . $horaIni . $horaIni . $horaIni; } //verifica se foi informada uma data final, caso positivo ira converter para o //formato do DB. if($_POST['dataFim'] == null){ date_default_timezone_set('America/Sao_Paulo'); $datFim = date('YmdHi'); }else{ //ano $anoInt = explode(',', $_POST['dataFim']); $anoString1 = implode(':', $anoInt); $anoMostrar1 = substr($anoString1, 0, 4); //mes $mesMostrar1 = substr($anoString1, 5, 2); //dia $diaMostrar1 = substr($anoString1, 8, 2); $datFim = $anoMostrar1 . $mesMostrar1 . $diaMostrar1 . $horaFim; } //-------------------------------FILIAIS--------------------------------------// //recebe o array das filiais selecionadas $tipo = $_POST["tipo"]; if(isset($tipo)){ for ($i=0; $i<count($tipo);$i++){ $codTipo[$i] = $tipo[$i]; $tip = implode(",", $codTipo); } }elseif($tipo[0] == null && $tipo[1] == null && $tipo[2] == null && $tipo[3] == null && $tipo[4] == null && $tipo[5] == null && $tipo[6] == null){ for($i=14; $i <= 20; $i++){ $tipo[$i] = $i; $tip = implode(",", $tipo); } } //-------------------------------RESPONSÁVEIS---------------------------------// $responsavel = $_POST["responsavel"]; if(isset($responsavel)){ for ($i=0; $i<count($responsavel);$i++){ $codResponsavel[$i] = $responsavel[$i]; } $resp = implode(",", $codResponsavel); }else{ $resp = 0; } //-----------------------------MOTIVO DO CHAMADO------------------------------// $motivo = $_POST["motivo"]; //---------------------------------STATUS-------------------------------------// //recebe o array dos status selecionados $status = $_POST["status"]; //Inicializando $codStatus for($i=0; $i< count($status); $i++){ $codStatus[$i] = 0; } //populando as variaveis com os dados do array e setando os parâmetros das funções for ($i=0;$i<count($status);$i++){ if (isset($status)){ include('funcoes.php'); for($i=0; $i< count($status); $i++){ $codStatus[$i] = $status[$i]; } $statu = implode(",", $codStatus); status($statu, $datIni, $datFim, $tip, $resp); } } ?> </form> </body> </html> funcoes.php: <?php if(empty($_POST['status'])){ $statu = $_SESSION['status']; $datIni = $_SESSION['dataIni']; $datFim = $_SESSION['dataFim']; $tip = $_SESSION["tipo"]; $resp = $_SESSION["responsavel"]; }else{ $statu= $_POST['status']; $datIni= $_POST['dataIni']; $datFim = $_POST['dataFim']; $tip = $_POST["tipo"]; $resp = $_POST["responsavel"]; $_SESSION['status'] = $statu; $_SESSION['dataIni'] = $datIni; $_SESSION['dataFim'] = $datFim ; $_SESSION["tipo"] = $tip; $_SESSION["responsavel"] = $resp; } function status($statu, $datIni, $datFim, $tip, $resp){ //error_reporting( E_ALL ); /* */ //paginação $quantidade = 15; $pag = $_GET['pag']; if($pag>1){ $pag = $pag; }else{ $pag = 1; } $inicio = ($quantidade * $pag) - $quantidade; //----------------------------------------------------------------------------// // query principal $sql = " SELECT A.DAT_CADASTRO, A.COD_SOLICITACAO, A.COD_TIPO, B.COD_MOTIVO, B.DES_MOTIVO, C.NOM_USUARIO, D.DES_STATUS, D.COD_COR, E.COD_ANALISTA, F.COD_DETERMINACAO, F.COD_IMPACTO, F.COD_ALINHAMENTO, F.COD_SITUACAO, F.COD_URGENCIA, F.COD_COMPLEXIDADE, F.COD_VIABILIDADE, F.COD_CUSTO, F.COD_PRAZO, F.COD_RISCOS, F.COD_TEMPO, F.OBSERVACAO FROM helpdesk.hdk_solicitacao A INNER JOIN helpdesk.hdk_solicitacao_motivo B ON A.COD_MOTIVO = B.COD_MOTIVO INNER JOIN helpdesk.hdk_usuario C ON A.COD_USUARIO = C.COD_USUARIO INNER JOIN helpdesk.hdk_solicitacao_status D ON A.COD_STATUS = D.COD_STATUS INNER JOIN helpdesk.hdk_solicitacao_grupo E ON A.COD_SOLICITACAO = E.COD_SOLICITACAO INNER JOIN hdk_priorizacao.matriz F ON A.COD_SOLICITACAO = F.COD_SOLICITACAO WHERE A.COD_STATUS in (".$statu.") AND A.DAT_CADASTRO BETWEEN " .$datIni. " AND ".$datFim." AND A.COD_TIPO IN(".$tip.") AND E.IND_RESPONSAVEL = 1 AND E.COD_ANALISTA IN (0,".$resp.") AND E.COD_GRUPO IN (0,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,21) GROUP BY A.COD_SOLICITACAO ORDER BY A.COD_SOLICITACAO LIMIT ".$inicio.",".$quantidade.";"; $qr = mysql_query($sql); //----------------------------------------------------------------------------// ?> <table id='matriz' border='1px' cellspacing='0' cellpadding='2'> <tr> <th>Data</th> <th>Responsável</th> <th>Tipo</th> <th>Cliente</th> <th>Chamado</th> <th>Status</th> <th><a href="#" class="dica" title="<h6 align='center'><b>Determinacação legal ou Administração Superior</b></h6>1- Não<br>5- Sim">Deter. legal ou Adm Superior</a></th> <th><a href="#" class="dica" title="<h6 align='center'><b>Impacto nas metas (indicadores das áreas)</b></h6>1- Não<br>5- Sim">Impacto metas (Indicadores)</a></th> <th><a href="#" class="dica" title="<h6 align='center'><b>Alinhamento à estratégia da empresa</b></h6>1- Não<br>5- Sim">Alinham. estratégico</a></th> <th><a href="#" class="dica" title="<h6 align='center'><b>Situação da implementação</b></h6>1- 0%<br>2- até 20%<br>3- até 30%<br>4- até 40%<br>5- acima de 50%">Situ. implem.</th> <th><a href="#" class="dica" title="<h6 align='center'><b>Urgência</b></h6>1- fora semestre<br>2- 1º semestre<br>3- 1º trimestre<br>4- 2º mês<br>5- 1º mês">Urgência</a></th> <th><a href="#" class="dica" title="<h6 align='center'><b>Complexidade</b></h6>*Mais de uma tecnologia;<br>*Integrações;<br>*Regra de negócio com- plexa.<br><br>1- Baixa complexidade (utiliza 1 item)<br>3- Média complexidade (utiliza 2 itens)<br>5- Alta complexidade (utiliza os 3 itens)">Complexidade</a></th> <th><a href="#" class="dica" title="<h6 align='center'><b>Viabilidade técnica</b></h6>1- totalmente viável<br>5- totalmente inviável">Viabilidade téc.</a></th> <th><a href="#" class="dica" title="<h6 align='center'><b>Custo</b></h6>1- até R$ 5.000,00<br>2- até R$ 20.000,00<br>3 até R$ 50.000,00<br>4 até R$ 100.000,00<br>5 acima de R$ 100.000,00">Custo</th> <th><a href="#" class="dica" title="<h6 align='center'><b>Prazo de implementação</b></h6>1- até 10 dias<br>2- até 30 dias<br>3- até 60 dias<br>4- até 90 dias<br>5- acima de 90 dias">Prazo implem.</a></th> <th><a href="#" class="dica" title="<h6 align='center'><b>Riscos</b></h6>1- risco inexistente<br>2- muito baixo<br>3- baixo<br>4- alto<br>5- muito alto">Riscos</th> <th><a href="#" class="dica" title="<h6 align='center'><b>Tempo de geração de resultados</b></h6>1- até um mês<br>2- até três meses<br>3- até seis meses<br>4- até um ano<br>5- acima de um ano">Tempo geração result.</a></th> <th>Soma</th> <th>Observação</th> </tr> <?php //contador total $solicitacoes = 0; $i= 0; while ($dados = mysql_fetch_assoc($qr)) { //---------------------------------ANALISTA-----------------------------------\\ $codigoAnalista = $dados['COD_ANALISTA']; if($codigoAnalista != '0'){ $nome = mysql_query( "SELECT NOM_USUARIO FROM helpdesk.hdk_usuario C WHERE C.COD_USUARIO = ".$codigoAnalista.";" ); $nomeAnalista = mysql_fetch_row($nome); }elseif($codigoAnalista == '0'){ $codigoAnalista = $dados['COD_GRUPO']; $nome = mysql_query( "SELECT NOM_GRUPO FROM helpdesk.hdk_grupo C " ."WHERE C.COD_GRUPO = ".$codigoAnalista.";" ); $nomeAnalista = mysql_fetch_row($nome); } //----------------------------CONTS PARA O GRÁFICO----------------------------\\ if ($dados['COD_MOTIVO'] === '2' or $dados['COD_MOTIVO'] === '6' or $dados['COD_MOTIVO'] === '10' or $dados['COD_MOTIVO'] === '15' or $dados['COD_MOTIVO'] === '21' or $dados['COD_MOTIVO'] === '24') { $contDes++; } elseif ($dados['COD_MOTIVO'] === '3' or $dados['COD_MOTIVO'] === '11' or $dados['COD_MOTIVO'] === '17' or $dados['COD_MOTIVO'] === '18' or $dados['COD_MOTIVO'] === '22' or $dados['COD_MOTIVO'] === '26') { $contProj++; } elseif ($dados['COD_MOTIVO'] === '4' or $dados['COD_MOTIVO'] === '8' or $dados['COD_MOTIVO'] === '12' or $dados['COD_MOTIVO'] === '19' or $dados['COD_MOTIVO'] === '20' or $dados['COD_MOTIVO'] === '27') { $contSup++; } elseif ($dados['COD_MOTIVO'] === '5' or $dados['COD_MOTIVO'] === '9' or $dados['COD_MOTIVO'] === '14' or $dados['COD_MOTIVO'] === '16' or $dados['COD_MOTIVO'] === '23' or $dados['COD_MOTIVO'] === '25') { $contManu++; } else { $contNaoInfo++; } //-----------------------------------DATA-------------------------------------\\ //Separação de data, pois no DB está no formato (YYYYMMDDHHMM) $DAT_CADASTRO = $dados['DAT_CADASTRO']; //ano $anoInt = explode(',', $DAT_CADASTRO); $anoString = implode(':', $anoInt); $anoMostrar = substr($anoString, 0, 4); //mes $mesMostrar = substr($anoString, 4, 2); //dia $diaMostrar = substr($anoString, 6, 2); //-----------------------MOSTRANDO AS INFORMAÇÕES ---------------------------\\ ?> <tr> <td><?php echo $diaMostrar."/".$mesMostrar."/".$anoMostrar;?></td> <?php if ($dados ['COD_MOTIVO'] != '0') {?> <td><?php echo utf8_encode ($nomeAnalista[$i]);?></td> <?php }else {?> <td>Não Informado</td> <?php }?> <td><?php echo utf8_encode ($dados['DES_MOTIVO']);?></td> <td><?php echo utf8_encode($dados['NOM_USUARIO']);?></td> <td><?php echo $dados['COD_SOLICITACAO'];?></td> <td style='color:white' bgcolor=<?php echo $dados['COD_COR'];?>><?php echo utf8_encode($dados['DES_STATUS']);?></td> <td> <select name='determinacao' class="qnt"> <?php if($dados['COD_DETERMINACAO'] == '0'){ ?> <option value=0>Selecione...</option> <?php }elseif($dados['COD_DETERMINACAO'] != '0'){?> <option value=<?php echo $dados['COD_DETERMINACAO'];?>><?php echo $dados['COD_DETERMINACAO'];?> </option> <?php } ?> <option value=1>1</option> <option value=5>5</option> </select> </td> <td> <select name='impacto' class="qnt"> <?php if($dados['COD_IMPACTO'] == '0'){ ?> <option value=0>Selecione...</option> <?php }elseif($dados['COD_IMPACTO'] != '0'){ ?> <option value=<?php echo $dados['COD_IMPACTO'];?>><?php echo $dados['COD_IMPACTO'];?> </option> <?php } ?> <option value=1>1</option> <option value=5>5</option> </select> </td> <td> <select name='alinhamento' class="qnt"> <?php if($dados['COD_ALINHAMENTO'] == '0'){ ?> <option value=0>Selecione...</option> <?php }elseif($dados['COD_ALINHAMENTO'] != '0'){ ?> <option value=<?php echo $dados['COD_ALINHAMENTO'];?>><?php echo $dados['COD_ALINHAMENTO'];?> </option> <?php } ?> <option value=1>1</option> <option value=5>5</option> </select> </td> <td> <select name='situacao' class="qnt"> <?php if($dados['COD_SITUACAO'] == '0'){ ?> <option value=0>Selecione...</option> <?php }elseif($dados['COD_SITUACAO'] != '0'){ ?> <option value=<?php echo $dados['COD_SITUACAO'];?>><?php echo $dados['COD_SITUACAO'];?> </option> <?php } ?> <option value=1>1</option> <option value=2>2</option> <option value=3>3</option> <option value=4>4</option> <option value=5>5</option> </select> </td> <td> <select name='urgencia' class="qnt"> <?php if($dados['COD_URGENCIA'] == '0'){ ?> <option value=0>Selecione...</option> <?php }elseif($dados['COD_URGENCIA'] != '0'){ ?> <option value=<?php echo $dados['COD_URGENCIA'];?>><?php echo $dados['COD_URGENCIA'];?> </option> <?php } ?> <option value=1>1</option> <option value=2>2</option> <option value=3>3</option> <option value=4>4</option> <option value=5>5</option> </select> </td> <td> <select name='complexidade' class="qnt"> <?php if($dados['COD_COMPLEXIDADE'] == '0'){ ?> <option value=0>Selecione...</option> <?php }elseif($dados['COD_COMPLEXIDADE'] != '0'){ ?> <option value=<?php echo $dados['COD_COMPLEXIDADE'];?>><?php echo $dados['COD_COMPLEXIDADE'];?> </option> <?php } ?> <option value=1>1</option> <option value=3>3</option> <option value=5>5</option> </select> </td> <td> <select name='viabilidade' class="qnt"> <?php if($dados['COD_VIABILIDADE'] == '0'){ ?> <option value=0>Selecione...</option> <?php }elseif($dados['COD_VIABILIDADE'] != '0'){ ?> <option value=<?php echo $dados['COD_VIABILIDADE'];?>><?php echo $dados['COD_VIABILIDADE'];?> </option> <?php } ?> <option value=1>1</option> <option value=5>5</option> </select> </td> <td> <select name='custo' class="qnt"> <?php if($dados['COD_CUSTO'] == '0'){ ?> <option value=0>Selecione...</option> <?php }elseif($dados['COD_CUSTO'] != '0'){ ?> <option value=<?php echo $dados['COD_CUSTO'];?>><?php echo $dados['COD_CUSTO'];?> </option> <?php } ?> <option value=1>1</option> <option value=2>2</option> <option value=3>3</option> <option value=4>4</option> <option value=5>5</option> </select> </td> <td> <select name='prazo' class="qnt"> <?php if($dados['COD_PRAZO'] == '0'){ ?> <option value=0>Selecione...</option> <?php }elseif($dados['COD_PRAZO'] != '0'){ ?> <option value=<?php echo $dados['COD_PRAZO'];?>><?php echo $dados['COD_PRAZO'];?> </option> <?php } ?> <option value=1>1</option> <option value=2>2</option> <option value=3>3</option> <option value=4>4</option> <option value=5>5</option> </select> </td> <td> <select name='riscos' class="qnt"> <?php if($dados['COD_RISCOS'] == '0'){ ?> <option value=0>Selecione...</option> <?php }elseif($dados['COD_RISCOS'] != '0'){ ?> <option value=<?php echo $dados['COD_RISCOS'];?>><?php echo $dados['COD_RISCOS'];?> </option> <?php } ?> <option value=1>1</option> <option value=2>2</option> <option value=3>3</option> <option value=4>4</option> <option value=5>5</option> </select> </td> <td> <select name='tempo' class="qnt"> <?php if($dados['COD_TEMPO'] == '0'){ ?> <option value=0>Selecione...</option> <?php }elseif($dados['COD_TEMPO'] != '0'){ ?> <option value=<?php echo $dados['COD_TEMPO'];?>><?php echo $dados['COD_TEMPO'];?> </option> <?php } ?> <option value=1>1</option> <option value=2>2</option> <option value=3>3</option> <option value=4>4</option> <option value=5>5</option> </select> </td> <td><input type='text' class="total" value=<?php echo (($dados['COD_DETERMINACAO']*8)+($dados['COD_IMPACTO']*7)+($dados['COD_ALINHAMENTO']*7)+($dados['COD_SITUACAO']*5)+($dados['COD_URGENCIA']*2))-(($dados['COD_COMPLEXIDADE']*2)+($dados['COD_VIABILIDADE']*5)+($dados['COD_CUSTO']*3)+($dados['COD_PRAZO'])+($dados['COD_RISCOS']*4)+($dados['COD_TEMPO']*2))?> /></td> <td><textarea rows="1" cols="33"><?php echo $dados['OBSERVACAO'];?></textarea></td> </tr> <script> (function soma(){ 'use strict'; var $qnts = document.querySelectorAll('.qnt'); $qnts = [].slice.call($qnts); $qnts.forEach(function($qnt) { $qnt.addEventListener('change', function() { var $tr = this.parentNode.parentNode, qnt1 = $tr.querySelector('select[name="determinacao"]').value, qnt2 = $tr.querySelector('select[name="impacto"]').value, qnt3 = $tr.querySelector('select[name="alinhamento"]').value, qnt4 = $tr.querySelector('select[name="situacao"]').value, qnt5 = $tr.querySelector('select[name="urgencia"]').value, qnt6 = $tr.querySelector('select[name="complexidade"]').value, qnt7 = $tr.querySelector('select[name="viabilidade"]').value, qnt8 = $tr.querySelector('select[name="custo"]').value, qnt9 = $tr.querySelector('select[name="prazo"]').value, qnt10 = $tr.querySelector('select[name="riscos"]').value, qnt11 = $tr.querySelector('select[name="tempo"]').value, $total = $tr.querySelector('.total'); $total.value = ((parseInt(qnt1,10))*8 + (parseInt(qnt2,10)*7) + (parseInt(qnt3,10)*7) + (parseInt(qnt4,10)*5) + (parseInt(qnt5,10)*2)) - ((parseInt(qnt6,10)*2) + (parseInt(qnt7,10)*5) + (parseInt(qnt8,10)*3) + parseInt(qnt9,10) + (parseInt(qnt10,10)*4) + (parseInt(qnt11,10)*2)); }); }); }()); </script> <?php } ?> </table> <?php //query paginação $sqlTotal = " SELECT COUNT(*) FROM helpdesk.hdk_solicitacao A INNER JOIN helpdesk.hdk_solicitacao_motivo B ON A.COD_MOTIVO = B.COD_MOTIVO INNER JOIN helpdesk.hdk_usuario C ON A.COD_USUARIO = C.COD_USUARIO INNER JOIN helpdesk.hdk_solicitacao_status D ON A.COD_STATUS = D.COD_STATUS INNER JOIN helpdesk.hdk_solicitacao_grupo E ON A.COD_SOLICITACAO = E.COD_SOLICITACAO INNER JOIN hdk_priorizacao.matriz F ON A.COD_SOLICITACAO = F.COD_SOLICITACAO WHERE A.COD_STATUS in (".$statu.") AND A.DAT_CADASTRO BETWEEN " .$datIni. " AND ".$datFim." AND A.COD_TIPO IN(".$tip.") AND E.IND_RESPONSAVEL = 1 AND E.COD_ANALISTA IN (0,".$resp.") AND E.COD_GRUPO IN (0,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,21) GROUP BY A.COD_SOLICITACAO ORDER BY A.COD_SOLICITACAO;"; $qrTotal = mysql_query($sqlTotal); $numTotal = mysql_num_rows($qrTotal); $totalPagina = ceil($numTotal/$quantidade); $link = 5; //Paginação ?> <br> <?php if($pag = 1){ }else{ ?> <a class='paginacao' href="index.php">Primeira</a> <?php }?> <?php for ($i= 1; $i<= $totalPagina; $i++){ if($i == $pag){ ?> <a class="paginacao2"><?php echo $i;?></a> <?php }else{ echo " <a class='paginacao' href='index.php?pag=$i'>$i</a> "; } } ?> <a class='paginacao' href="index.php?pag=<?php echo $totalPagina; ?>">Última</a> <br><br> <div id='graficoTipo' style='width: 100%; height: 500px;'></div> <script type='text/javascript' src='https://www.google.com/jsapi'></script> <script type='text/javascript'> google.load('visualization', '1', {packages:['corechart']}); google.setOnLoadCallback(drawChart); function drawChart() { var data = google.visualization.arrayToDataTable([ ['Chamado', 'Tipo'], <?php if ($contDes !== null) { echo "['Desenvolvimento', " . $contDes . "],"; } else { echo "['Desenvolvimento', 0],"; } if ($contProj !== null) { echo "['Projeto', " . $contProj . "],"; } else { echo "['Projeto', 0],"; } if ($contSup !== null) { echo "['Suporte/Serviço', " . $contSup . "],"; } else { echo "['Suporte/Serviço', 0],"; } if ($contManu !== null) { echo "['Manutenção', " . $contManu . "],"; } else { echo "['Manutenção', 0],"; } if ($contNaoInfo !== null) { echo "['Não Informado', " . $contNaoInfo . "]"; } else { echo "['Não Informado', 0]"; } echo "]);"; ?> var options = { title: 'Chamados por Motivo', is3D: true, backgroundColor: '#F2F2F2', }; var chart = new google.visualization.PieChart(document.getElementById('graficoTipo')); chart.draw(data, options); } </script> <?php } ?> Compartilhar este post Link para o post Compartilhar em outros sites
lu002047 0 Denunciar post Postado Junho 16, 2015 Está ocorrendo o seguinte. Quando eu pesquiso, aparecem os resultados conforme abaixo: e ao clicar numa pagina, ex. pag2, ocorre o seguinte: Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Junho 16, 2015 Troca: if(empty($_POST['status'])){ $statu = $_SESSION['status']; $datIni = $_SESSION['dataIni']; $datFim = $_SESSION['dataFim']; $tip = $_SESSION["tipo"]; $resp = $_SESSION["responsavel"]; }else{ $statu= $_POST['status']; $datIni= $_POST['dataIni']; $datFim = $_POST['dataFim']; $tip = $_POST["tipo"]; $resp = $_POST["responsavel"]; $_SESSION['status'] = $statu; $_SESSION['dataIni'] = $datIni; $_SESSION['dataFim'] = $datFim ; $_SESSION["tipo"] = $tip; $_SESSION["responsavel"] = $resp; } Por: if(!isset($_POST['status'])){ echo 'Pegando sessões'; $statu = $_SESSION['status']; $datIni = $_SESSION['dataIni']; $datFim = $_SESSION['dataFim']; $tip = $_SESSION["tipo"]; $resp = $_SESSION["responsavel"]; }else{ echo 'Pegando post'; $statu= $_POST['status']; $datIni= $_POST['dataIni']; $datFim = $_POST['dataFim']; $tip = $_POST["tipo"]; $resp = $_POST["responsavel"]; $_SESSION['status'] = $statu; $_SESSION['dataIni'] = $datIni; $_SESSION['dataFim'] = $datFim ; $_SESSION["tipo"] = $tip; $_SESSION["responsavel"] = $resp; } echo '<hr>'; print_r($_SESSION); echo '<hr>'; Compartilhar este post Link para o post Compartilhar em outros sites