Ir ao conteúdo
  • Cadastre-se

Gláuber Guilherme Signori

Membro Júnior
  • Posts

    6
  • Cadastrado em

  • Última visita

  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...