Ir para conteúdo
Fórum Script Brasil

Marcelouco

Membros
  • Total de itens

    6
  • Registro em

  • Última visita

Sobre Marcelouco

  • Data de Nascimento 06/05/1987

Contatos

  • Website URL
    http://www.teczoom.com.br
  • ICQ
    0

Marcelouco's Achievements

0

Reputação

  1. Boa tarde! Estou tendo uma dificuldade em encontrar uma solução para meu problema. Eu tenho uma tabela mensagens com os campos: id_mensagem, id_conversa, assunto_mensagem, corpo_mensagem, data_mensagem, remetente_mensagem e destinatario_mensagem. Sendo que id_mensagem é auto_increment, e id_conversa não. Sabido isso, eu preciso selecionar os registros agrupados pelo id_conversa, porém, exibir o último registro (data mais recente). Eu li um tópico (http://scriptbrasil.com.br/forum/index.php?showtopic=140748) semelhante, mas não consegui aplicar. Atualmente uso esta query, que retorna os registros cujo destinatario_mensagem = 22: SELECT mensagens.*, usuarios.nome_usuario, usuarios.sobrenome_usuario FROM mensagens INNER JOIN usuarios ON mensagens.remetente_mensagem = usuarios.id_usuario where mensagens.destinatario_mensagem = 22 Será que alguém teria uma solução?
  2. Bom dia! Estou tendo uma certa dificuldade pra criar uma query avançada (pelo menos pra mim). Será que alguém poderia me ajudar? É o seguinte: Tenho as tabelas: arquivo, arquivo_grupo, grupos, usuarios, usuarios_download, usuario_grupo. Tenho uma página que lista um relatório de quais usuários baixou qual arquivo e quando baixou, com a seguinte query: SELECT arquivo.nome_arquivo as NomeArquivo, arquivo.legenda_arquivo as LegendaArquivo, usuarios.nome_usuario as NomeUsuario, usuarios.sobrenome_usuario as SobrenomeUsuario, usuario_download.data_download as DataDownload FROM arquivo INNER JOIN (usuario_download LEFT JOIN usuarios ON usuario_download.id_usuario = usuarios.id_usuario) ON arquivo.id_arquivo = usuario_download.id_arquivo order by NomeArquivo Desc E funciona perfeitamente. Logo, esta lista será longa com o passar do tempo. Portanto, criei um combobox com todos os grupos onde poderei escolherei por qual grupo quero listar o relatório (filtrar). Aí entra o problema. Como eu poderia fazer esse novo QUERY? Alguém tem a solução? Para quem puder me ajudar e quiser o banco pra testar: /* SQLyog Community v9.51 MySQL - 5.1.54-rel12.5-log : Database - BDteste ********************************************************************* */ /*!40101 SET NAMES utf8 */; /*!40101 SET SQL_MODE=''*/; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; CREATE DATABASE /*!32312 IF NOT EXISTS*/`BDteste` /*!40100 DEFAULT CHARACTER SET latin1 COLLATE latin1_general_ci */; USE `BDteste`; /*Table structure for table `arquivo` */ DROP TABLE IF EXISTS `arquivo`; CREATE TABLE `arquivo` ( `id_arquivo` int(11) NOT NULL AUTO_INCREMENT, `legenda_arquivo` varchar(128) NOT NULL, `nome_arquivo` varchar(128) NOT NULL, `url_arquivo` varchar(512) NOT NULL, `comentario_arquivo` text NOT NULL, `tipo_arquivo` varchar(60) NOT NULL, `tamanho_arquivo` varchar(40) NOT NULL, `data_envio` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id_arquivo`) ) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=latin1; /*Data for the table `arquivo` */ insert into `arquivo`(`id_arquivo`,`legenda_arquivo`,`nome_arquivo`,`url_arquivo`,`comentario_arquivo`,`tipo_arquivo`,`tamanho_arquivo`,`data_envio`) values (10,'Teste de legenda','1327327647agua_viva_cc.jpg','arquivos/1327327647agua_viva_cc.jpg','Um script de menu em árvore','jpg','757.52 KB','2012-01-23 12:07:27'),(11,'Teste','1327332950teste_sem_espaco_ae.doc','arquivos/1327332950teste_sem_espaco_ae.doc','teste','doc','21.50 KB','2012-01-23 13:35:50'),(12,'Teste 2','1327333217twitter.jpg','arquivos/1327333217twitter.jpg','teste','jpg','1.19 MB','2012-01-23 13:40:17'),(13,'Teste 3','1327333376twitter_copia.jpg','arquivos/1327333376twitter_copia.jpg','teste','jpg','13.41 MB','2012-01-23 13:42:56'); /*Table structure for table `arquivo_grupo` */ DROP TABLE IF EXISTS `arquivo_grupo`; CREATE TABLE `arquivo_grupo` ( `id_arquivo` int(11) NOT NULL, `id_grupo` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*Data for the table `arquivo_grupo` */ insert into `arquivo_grupo`(`id_arquivo`,`id_grupo`) values (10,13),(11,13),(12,13),(13,14); /*Table structure for table `grupos` */ DROP TABLE IF EXISTS `grupos`; CREATE TABLE `grupos` ( `id_grupo` int(11) NOT NULL AUTO_INCREMENT, `nome_grupo` varchar(60) NOT NULL, `logo_grupo` varchar(128) DEFAULT NULL, `info_grupo` varchar(512) DEFAULT NULL, `cor_grupo` varchar(20) DEFAULT NULL, PRIMARY KEY (`id_grupo`) ) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=latin1; /*Data for the table `grupos` */ insert into `grupos`(`id_grupo`,`nome_grupo`,`logo_grupo`,`info_grupo`,`cor_grupo`) values (13,'Belo Horizonte',NULL,NULL,NULL),(14,'Barbacena',NULL,NULL,NULL),(15,'Governador Valadares','1327346084agua_viva_cc.jpg','testedsafsdf','D8F2F0'),(16,'Varginha','1327345628desert.jpg','dsfsadfsdafdsafsdafvcxv','FF4F2B'); /*Table structure for table `usuario_download` */ DROP TABLE IF EXISTS `usuario_download`; CREATE TABLE `usuario_download` ( `id_usuario` int(4) NOT NULL, `id_arquivo` int(4) NOT NULL, `data_download` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*Data for the table `usuario_download` */ insert into `usuario_download`(`id_usuario`,`id_arquivo`,`data_download`) values (23,13,'2012-01-23 13:44:08'),(23,10,'2012-01-23 13:46:16'),(24,13,'2012-01-23 15:03:43'),(24,13,'2012-01-23 15:04:05'),(24,13,'2012-01-23 15:04:12'),(24,13,'2012-01-23 15:04:51'),(24,13,'2012-01-23 15:07:49'); /*Table structure for table `usuario_grupo` */ DROP TABLE IF EXISTS `usuario_grupo`; CREATE TABLE `usuario_grupo` ( `id_grupo` int(11) NOT NULL, `id_usuario` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*Data for the table `usuario_grupo` */ insert into `usuario_grupo`(`id_grupo`,`id_usuario`) values (16,19),(13,22),(13,23),(14,24); /*Table structure for table `usuarios` */ DROP TABLE IF EXISTS `usuarios`; CREATE TABLE `usuarios` ( `id_usuario` int(4) NOT NULL AUTO_INCREMENT, `nome_usuario` varchar(40) NOT NULL, `sobrenome_usuario` varchar(40) NOT NULL, `login_usuario` varchar(30) NOT NULL, `senha_usuario` varchar(30) NOT NULL, `tipo_usuario` int(2) NOT NULL, PRIMARY KEY (`id_usuario`) ) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=latin1; /*Data for the table `usuarios` */ insert into `usuarios`(`id_usuario`,`nome_usuario`,`sobrenome_usuario`,`login_usuario`,`senha_usuario`,`tipo_usuario`) values (19,'Marcelo','Dênis','marcelo','123',1),(22,'Jefferson','Bastos','jefferson','123',1),(23,'Fernanda','Oliveira','fernanda','123',0),(24,'Adolfo','Crisvaldo','adocris','123',0); /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; Aguardo respostas.
  3. Olá! Eu gostaria de saber: existe alguma forma de gerar um thumb, em perl, de uma imagem hospedada em outro site? Por exemplo: Quero gerar uma thumb por uma url como: www.site.com/cgi-bin/thumb.pl?url=http://www.outrosite.com/imagem_grande.jpg Eu poderia gerar e usá-la assim: <img src="www.site.com/cgi-bin/thumb.pl?url=http://www.outrosite.com/imagem_grande.jpg"> Em perl, existe alguma forma de fazer? Aguardo uma resposta, obrigado.
  4. Boa noite! Estou com um grande problema e espero que possam me ajudar. É o seguinte: Tenho um site que tem muitas consultas no banco de dados. O site está crescendo e ainda não me protegi de ataques SQL Injection. Eu gostaria de saber como me proteger disso usando Perl. Há alguma função? Expressão Regular? Algum módulo? Me dêem exemplos. Obrigado. Aguardo respostas!
  5. Olá, pessoal! Eu estou aqui porque desisti de criar um certo script para uma finalidade: enviar e-mails com novidades para meus usuários cadastrados. Pois bem. Tenho um banco de dados que contém e-mails cadastrados. Como são muitos usuários cadastrados, fiquei limitado ao host onde hospedo meu site. O plano permite que eu envie até 300 e-mails a cada hora. Caso exceda, a conta é bloqueada. Então, o script que pensei em criar era para resolver este problema. Eu sei mais ou menos como ele deve funcionar (isso na minha cabeça), mas não como fazer no script. O banco tem essas colunas entre outras: Nome_User, Email_User,EnvMail. A coluna Nome_User armazena o nome do usuário; A coluna Email_User armazena o e-mail do usuário; A coluna EnvMail armazena "S" ou "N". Ou seja, enviou e-mail? Sim ou Não. Eu imagino que eu devo selecionar 300 registros no banco de dados utilizando SELECT LIMIT do mysql. Enviar os e-mails usando o sendmail do servidor. Para cada e-mail enviado, atualizar o banco de dados alterando a coluna EnvMail para S para cada registro. Também sei que posso usar a função SLEEP de Perl e setar a quantidade de "segundos" equivalente a 1 hora. Conseqüentemente repetir a seleção de mais 300 registros e refazer todo o processo. Então eu pergunto: Como posso fazer isso? Alguém pode me ajudar.
  6. Marcelouco

    Perl

    Olá, preciso fazer um sitema de login muito simples. É o seguinte: O usuário faz o logon no sistema (user e pass), e é direcionado para a index. Como faço para fazer com que o usuário matenha-se logado, mesmo mudando de página (esse no meu site, claro!)? Por exemplo: O cara logou normalmente e foi direcionado para a página principal, depois ele clica em outro link do meu site, no caso, o link CGI's, mas quando ele clica no link Voltar. o sistema, novamente pede o login e senha do usuário. Tem como impedir isso? Ps.: o sistema já está todo em PL, a tela de login, a página princial e outros links. Ps2.: se possível, quero que o mantenha logado mesmo ele saindo do sitema para uma página HTML, ainda do meu site. Se a explicação foi entendida, agradeço se puder ajudar-me, caso contrário, pergunte-me expecificando a parte não entendida.
×
×
  • Criar Novo...