Ir ao conteúdo
  • Cadastre-se

Gláuber Guilherme Signori

Membro Júnior
  • Posts

    6
  • Cadastrado em

  • Última visita

Tudo que Gláuber Guilherme Signori postou

  1. Como eu suspeitava estava dando conflito na header(), eu tive que fazer um ajuste no meu index.php onde passo os includes para que não dê conflito e executar o procedimento
  2. [RESOLVIDO] [dúvida/auxílio] PHP Problema com função de zipar e baixar arquivos... Ao invés de baixar está printando na tela o documento '¬¬... acredito que o problema está no Forcedownload... algo em relação a função header() ou readfile()... Porém, ao testar localmente só a parte de download funciona... porém quando jogo na minha aplicação web da pau (trabalho com include de páginas e tal, será que é isso?)... alguém poderia me dar uma luz, o que preciso ajustar?
  3. Opa muito obrigado pela dica, realmente tive 'quebrar' a tabela em 2, ficou mais simples, achei que conseguia resolver com apenas uma, valeu abraço!
  4. Caros boa noite, estou com uma dúvida Preciso de ajuda no $sql3 ou reformular a minha lógica: Atualmente estou fazendo assim: 1. Encontrar as equipes que fazem parte da atividade; 2. Encontrar os participantes da equipe; 3. Somar os pontos dos participantes da equipe; O que eu preciso fazer é somar os pontos (ATV_XP) da tabela (USUARIOS_ATIVIDADE) dos usuários (USU_CODIGO) que pertencem a equipe (EQP_CODIGO); Possuo 2 tabelas: TABELA USUARIOS_ATIVIDADE campos principais: ATV_CODIGO (código da atividade), USU_CODIGO (código do usuário), ATV_XP (pontos do usuário) aqui faço os controles de interações dos usuários; TABELA EQUIPES campos principais: ATV_CODIGO (código da atividade), EQP_CODIGO (código da equipe), EQP_USUARIO (código do usuário), aqui eu controlo as equipes das atividades Segue abaixo como estou fazendo hoje, valeu abraço. public function getMembrosEquipes($id) { $retorno = array(); $cont = 0; //select para verificar as equipes da atividade $sql = "SELECT DISTINCT EQP_CODIGO, EQP_NOME FROM EQUIPES WHERE ATV_CODIGO =".$id; $exc = new OracleRecordset($this->conexao->execute($sql)); //echo "@@@@@".$sql; while($exc->fetch()) { //select para encontrar os participantes da equipe da atividade $sql2 = "SELECT EQP_USUARIO FROM EQUIPES WHERE EQP_CODIGO =".$exc->getResult('EQP_CODIGO')." AND ATV_CODIGO =".$id; $exc2 = new OracleRecordset($this->conexao->execute($sql2)); $exc2->fetch(); //echo "#####".$sql2; $usu = $exc2->getResult('EQP_USUARIO'); $equipe = $exc->getResult('EQP_CODIGO'); //select para somar os pontos do usuário na tabela USUARIOS_ATIVIDADE $sql3 = "SELECT count(DISTINCT UA.USU_CODIGO), sum(UA.ATV_XP) AS ATV_XP, U.USU_CODIGO, U.USU_NOME, U.USU_SOBRENOME, U.USU_IMAGEM, U.USU_XP FROM USUARIOS_ATIVIDADE UA LEFT OUTER JOIN USUARIOS U ON (UA.USU_CODIGO = U.USU_CODIGO) WHERE UA.ATV_CODIGO = ".$id." GROUP BY UA.USU_CODIGO ORDER BY ATV_XP DESC"; $exc3 = new OracleRecordset($this->conexao->execute($sql3)); $exc3->fetch(); echo "#####".$sql3; $atvbean = new AtividadesBean(); $atvbean->setAtvXp($exc3->getResult('ATV_XP')); $eqpbean = new EquipesBean(); $eqpbean->setEqpParticipantes($exc2->getResult('EQP_USUARIO')); $eqpbean->setEqpCodigo($exc->getResult('EQP_CODIGO')); $eqpbean->setEqpNome($exc->getResult('EQP_NOME')); $eqpbean->setEqpAtvXp($atvbean); $retorno[$cont] = $eqpbean; $cont++; } unset($exc); unset($exc2); unset($exc3); return $retorno; }
  5. Cara muito obrigado!!! Fiz alguns pequenos ajustes pra funcionar: Tive que passar o resultado pra outra variavel $participantes2 e chamar a instrução SQL fora do laço FOR! $lengthEqpLid3 = count($received); for($h = 0; $h < $lengthEqpLid3; $h++){ $participantes .= $received[$h]->getEqpParticipantes().","; $participantes2 = substr($participantes, 0, strlen($participantes)-1); } $and .= " AND UA.USU_CODIGO IN (".$participantes2.") ";
  6. Galera to tiltando, to com problema de tratamento de dados de ARRAY e SELECT no BD... tipo como posso abrir o Array tirar os dados e encaixar no SELECT COM IN() ? Com o laço FOR atualmente ele executa as 2x (2 registros no BD) e fica assim: AND UA.USU_CODIGO IN (1), AND UA.USU_CODIGO IN (2). Eu precisava que ficasse AND UA.USU_CODIGO IN (1,2)... Testei usar o explode, implode, várias coisas, mas não sei como posso fazer... valeu!!! /* Chamada função*/ $regEqpLid2 = $perAtv->getLiderEquipes2($id, $equipe); $lengthEqpLid2 = count($regEqpLid2); /* SQL */ public function getLiderEquipes2($id, $eqp) { $retorno = array(); $cont = 0; $sql = "SELECT DISTINCT EQP_USUARIO FROM EQUIPES WHERE EQP_CODIGO = ".$eqp; $exc = new OracleRecordset($this->conexao->execute($sql)); echo "@@@@@".$sql2; while($exc->fetch()) { $eqpbean = new EquipesBean(); $eqpbean->setEqpParticipantes($exc->getResult('EQP_USUARIO')); $retorno[$cont] = $eqpbean; $cont++; } unset($exc); return $retorno; } /*Variavel $participantes sendo tratada*/ $participantes = serialize($regEqpLid2); $participantes = urlencode($participantes); /**** PROBLEMA COMO DEVO TRATAR ESSE ARRAY PRA CONSEGUIR FAZER A CONSULTA NO BD****/ if($_REQUEST['filtro']){ $received = $_REQUEST['filtro'];//decodifica o valor passado pelo link $received = stripslashes($received);//limpa a string de antes de " $received = unserialize($received);//transforma a string em array print_r($received);//imprime o array $lengthEqpLid3 = count($received); for($h = 0; $h < $lengthEqpLid3; $h++){ //Mostra os participantes $participantes = $received[$h]->getEqpParticipantes(); echo ">>>".$participantes; $and .= " AND UA.USU_CODIGO IN (".$participantes.") "; } }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...