Ir para conteúdo
Fórum Script Brasil

wmsilva191

Membros
  • Total de itens

    27
  • Registro em

  • Última visita

Tudo que wmsilva191 postou

  1. Certo, identificou o problema? Se não mande um print dos dados. E do código do seu programa/site
  2. Estou modelando um sistema em PHP, o que vai demandar tempo. Sou programador PHP intermediário, estou a procura de profissionais da área de T.I com experiência em PHP, para desenvolvimento de sistemas, parcerias, compartilhamento de atividades projetos etc... Quem se interessar por favor me chamar no CHAT. Projeto de médio porte, possuo potencial cliente; Definições: Banco Mysql; Codeigniter ( PHP ) ; Bootstrap; RedMine; Repositório;
  3. Boa noite, Você não está utilizando nenhuma função de agregação, por isso não é necessário a utilização do Group By.. Se resultados estiverem repetindo nesse caso opte por analisar os relacionamentos se estão corretos. Também é possível a utilização do comando DISTINCT; Na SQL você manda ordenar pelo campo capitulos.data , você chegou a conferir se as datas estão sequenciais ? Se o campo de data for do tipo data ( não do tipo datetime ) e existir duas datas iguais, se não me engano o banco vai ordenar segundo algum campo indexado, como por exemplo o ID.. Por exemplo: NOVELA A com ID 1 na data de hoje Novela B com id2 na data de amanhã.. O novela B vem primeiro, porém se você colocar a novela A e novela B com mesma data o novela A vem antes... ( eu não estou lembrado, mas acho que tem alguma coisa a ver) Bom, referente ao SQL aparentemente está correto; Verifique se as informações no banco de dados estão corretas.
  4. Procure por documentações da digital ocean ( minha assinatura te o link )
  5. Select * from pessoa where dataaniversario between now() and dateadd(now(), interval 7 days) ou quase la; achoq não funcionaria no access mas a idéia do mysql é essa aí.. *obs ver se as funções são essas mesmo.
  6. Você precisa fazer apenas q amigo indicador seja um autorelacionamento da tBela cliente; Consulta recursiva https://blogs.msdn.microsoft.com/fcatae/2010/11/10/query-recursiva/
  7. Dreamweaver :O quanto tempo, rsrs Então, qual erro ocorre quando você executa sua aplicação? Se possível execute no navegador e posta aqui o print ou o log do apache;
  8. HTML 5 http://stackoverflow.com/questions/1735933/streaming-via-rtsp-or-rtp-in-html5 <video src="rtp://myserver.com/path/to/stream"> Your browser does not support the VIDEO tag and/or RTP streams. </video> or maybe <video src="http://myserver.com:1935/path/to/stream/myPlaylist.m3u8"> Your browser does not support the VIDEO tag and/or RTP streams. </video>
  9. Para retirar o while, no seu caso, é preciso organizar seu banco antes; fazer relacionamentos com inner join, e apartir dai com uma consulta apenas você faz o que você pretende; Cada campo precisa estar no que é sua responsabilidade, data é data, numero é int, valores é FLOAT ; DECIMAL, ETC, Crie relacionamentos entre suas tabelas; automaticamente terá os indices; Crie os índices nas colunas que precisar fazer filtros; Por nada, desculpa não poder ter sido efetivo. Até a próxima.
  10. Na sql do Join está ocorrendo a repetição de linhas? Se sim logo após o select coloque o DISTINCT ( ou analise as repetições e corrija os relacionamentos; ) Neste caso a melhor solução é você replicar o banco e aplicação para outro servidor e crie assim um ambiente de testes; No ambiente de testes você ajusta os campos de data para data, ID de cliente para INT, ( conforme as suas regras ) ; padronize os tipos certos para os campos corretos tipo data em data, tipo INT em códigos sequenciais, (Podem ocorrer erros durante os ajustes, principalmente nos campos de data, pois se você faz a conversão dela em texto é gravado de uma forma já em data é armazenada de outra forma; etc..) Criação de Índices nas colunas que mais utilizar; Criação de relacionamento entre as tabelas; tudo isso vai aumentar a performance; Sem o índice, por exemplo, quando você busca o cliente 40000, o banco vai olhar todos os clientes até que ele me encontre; se você precisar consultar várias vezes a mesma informação o banco "vai executar" a busca até encontra o cliente. O Índice vai otimizar a busca, pois quando você buscar por determinado cliente o banco já vai 'saber' onde procurar, sem precisar passar por todos novamente; Para retirar do While depende de como sua aplicação está montada, ai é mais arriscado de falar; eu acho que você precisa focar no banco de dados até conseguir obter a consulta de forma rápida; Se está lento na conexão direta com o banco também vai ficar na aplicação ; O bom de instalar o sistema na sua maquina e testar é que você também verifica se a sua conexão até o servidor também não influencia no resultado;
  11. A ideia está correta, porem a escrita precisa de atenção Ex: 1.1.4 - FROM peixe p ; ON p.codpeixe ; Procedure: No código abaixo tem a criação da Procedure e da Trigger; Para inserir utilizando a procedure basta chamar call cadastrarPeixe(2,"Nemo",0.301,"Laranja",1,1); call cadastrarPeixe(1,"Dory",0.321,"Azul",1,1); Se quiser testar eu elaborei o banco, basta você subir em um banco de dados seu; -- -------------------------------------------------------- -- Servidor: 127.0.0.1 -- Versão do servidor: 5.6.17 - MySQL Community Server (GPL) -- OS do Servidor: Win64 -- HeidiSQL Versão: 9.3.0.4984 -- -------------------------------------------------------- /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET NAMES utf8mb4 */; /*!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' */; -- Copiando estrutura para procedure foruns.cadastrarPeixe DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `cadastrarPeixe`( IN codpeixe INT, IN nome VARCHAR(50), IN peso FLOAT, IN cor VARCHAR(50), IN codEspecie INT, IN codEcossistema INT) BEGIN INSERT INTO peixe VALUES (codpeixe, nome, peso, cor, codEspecie, codEcossistema); END// DELIMITER ; -- Copiando estrutura para tabela foruns.ecossistema CREATE TABLE IF NOT EXISTS `ecossistema` ( `codEcossistema` int(11) NOT NULL AUTO_INCREMENT, `nome` varchar(50) DEFAULT NULL, `temp` varchar(50) DEFAULT NULL, `codTipo` int(11) DEFAULT NULL, `codLocal` int(11) DEFAULT NULL, PRIMARY KEY (`codEcossistema`), KEY `fkCodTipo` (`codTipo`), KEY `fkCodLocal` (`codLocal`), CONSTRAINT `fkCodTipo` FOREIGN KEY (`codTipo`) REFERENCES `tipo` (`codTipo`), CONSTRAINT `fkCodLocal` FOREIGN KEY (`codLocal`) REFERENCES `local` (`codLocal`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1; -- Copiando dados para a tabela foruns.ecossistema: ~0 rows (aproximadamente) /*!40000 ALTER TABLE `ecossistema` DISABLE KEYS */; INSERT INTO `ecossistema` (`codEcossistema`, `nome`, `temp`, `codTipo`, `codLocal`) VALUES (1, 'filme', '?', NULL, 1); /*!40000 ALTER TABLE `ecossistema` ENABLE KEYS */; -- Copiando estrutura para tabela foruns.especie CREATE TABLE IF NOT EXISTS `especie` ( `codEspecie` int(11) NOT NULL AUTO_INCREMENT, `nome` varchar(50) DEFAULT NULL, `numeroPeixes` int(11) DEFAULT NULL, PRIMARY KEY (`codEspecie`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1; -- Copiando dados para a tabela foruns.especie: ~2 rows (aproximadamente) /*!40000 ALTER TABLE `especie` DISABLE KEYS */; INSERT INTO `especie` (`codEspecie`, `nome`, `numeroPeixes`) VALUES (1, 'Peixe Palhaço', 2), (2, 'Lambari', 0); /*!40000 ALTER TABLE `especie` ENABLE KEYS */; -- Copiando estrutura para tabela foruns.local CREATE TABLE IF NOT EXISTS `local` ( `codLocal` int(11) NOT NULL AUTO_INCREMENT, `local` varchar(50) DEFAULT NULL, PRIMARY KEY (`codLocal`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1; -- Copiando dados para a tabela foruns.local: ~0 rows (aproximadamente) /*!40000 ALTER TABLE `local` DISABLE KEYS */; INSERT INTO `local` (`codLocal`, `local`) VALUES (1, 'cinema'); /*!40000 ALTER TABLE `local` ENABLE KEYS */; -- Copiando estrutura para tabela foruns.peixe CREATE TABLE IF NOT EXISTS `peixe` ( `codPeixe` int(11) NOT NULL AUTO_INCREMENT, `nome` varchar(50) DEFAULT NULL, `peso` float DEFAULT NULL, `cor` varchar(50) DEFAULT NULL, `codEspecie` int(11), `codEcossistema` int(11) DEFAULT NULL, PRIMARY KEY (`codPeixe`), KEY `fkCodEspeciePeixe` (`codEspecie`), KEY `fkCodEcossistemaPeixe` (`codEcossistema`), CONSTRAINT `fkCodEspeciePeixe` FOREIGN KEY (`codEspecie`) REFERENCES `especie` (`codEspecie`), CONSTRAINT `fkCodEcossistemaPeixe` FOREIGN KEY (`codEcossistema`) REFERENCES `ecossistema` (`codEcossistema`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1; -- Copiando dados para a tabela foruns.peixe: ~2 rows (aproximadamente) /*!40000 ALTER TABLE `peixe` DISABLE KEYS */; INSERT INTO `peixe` (`codPeixe`, `nome`, `peso`, `cor`, `codEspecie`, `codEcossistema`) VALUES (1, 'Dory', 0.321, 'Azul', 1, 1), (2, 'Nemo', 0.301, 'Laranja', 1, 1); /*!40000 ALTER TABLE `peixe` ENABLE KEYS */; -- Copiando estrutura para tabela foruns.tipo CREATE TABLE IF NOT EXISTS `tipo` ( `codTipo` int(11) NOT NULL AUTO_INCREMENT, `tipo` varchar(50) DEFAULT NULL, PRIMARY KEY (`codTipo`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1; -- Copiando dados para a tabela foruns.tipo: ~1 rows (aproximadamente) /*!40000 ALTER TABLE `tipo` DISABLE KEYS */; INSERT INTO `tipo` (`codTipo`, `tipo`) VALUES (1, 'animacao'); /*!40000 ALTER TABLE `tipo` ENABLE KEYS */; -- Copiando estrutura para tabela foruns.videos CREATE TABLE IF NOT EXISTS `videos` ( `codigo` int(11) NOT NULL AUTO_INCREMENT, `link` varchar(50) DEFAULT '0', PRIMARY KEY (`codigo`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1; -- Copiando dados para a tabela foruns.videos: ~2 rows (aproximadamente) /*!40000 ALTER TABLE `videos` DISABLE KEYS */; INSERT INTO `videos` (`codigo`, `link`) VALUES (1, 'https://www.youtube.com/embed/60ItHLz5WEA'), (2, 'https://www.youtube.com/embed/COq2RouJ2tQ'); /*!40000 ALTER TABLE `videos` ENABLE KEYS */; -- Copiando estrutura para trigger foruns.peixe_after_insert SET @OLDTMP_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_ENGINE_SUBSTITUTION'; DELIMITER // CREATE TRIGGER `peixe_after_insert` AFTER INSERT ON `peixe` FOR EACH ROW BEGIN UPDATE especie set especie.numeroPeixes = (SELECT COUNT(1) FROM peixe WHERE peixe.codEspecie=especie.codEspecie ); END// DELIMITER ; SET SQL_MODE=@OLDTMP_SQL_MODE; -- Copiando estrutura para trigger foruns.peixe_after_update SET @OLDTMP_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_ENGINE_SUBSTITUTION'; DELIMITER // CREATE TRIGGER `peixe_after_update` AFTER UPDATE ON `peixe` FOR EACH ROW BEGIN UPDATE especie set especie.numeroPeixes = (SELECT COUNT(1) FROM peixe WHERE peixe.codEspecie=especie.codEspecie ); END// DELIMITER ; SET SQL_MODE=@OLDTMP_SQL_MODE; /*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */; /*!40014 SET FOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, @OLD_FOREIGN_KEY_CHECKS) */; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
  12. Verifiquei aqui, o arquivo possui uma instrução chamada LEIAME.TXT; Você chegou a ler ele? Se sim, poste qual sua dúvida na configuração;;
  13. Qual é mesmo sua dúvida? Se quiser aprender, poste a dúvida que te encaminho a documentação correta para estudar; Se está procurando alguém para fazer sua atividade eu faço, porém irei cobrar.
  14. Olá, pelo que eu saiba o Código no início do PHP vai 'forçar' a aparecer da forma como você definir. Quando você fala código fonte você quer dizer o seu PHP dentro do servidor da Hostinger ( SE FOR PROCURE OUTRO ) ?? OU o código fonte ( botão direito do mouse código fonte ? ) ; Se for é normal, já que o caractere está sendo convertido no HTML;
  15. <?php //EXEMPLOS SEM BANCO DE DADOS /* $links = array("https://www.youtube.com/embed/60ItHLz5WEA", "https://www.youtube.com/embed/n4RjJKxsamQ"); $links[] = "https://www.youtube.com/embed/60ItHLz5WEA"; $links[] = "https://www.youtube.com/embed/n4RjJKxsamQ"; */ $links = ["https://www.youtube.com/embed/60ItHLz5WEA", "https://www.youtube.com/embed/d5eH-calbuA"]; echo '<h1> Utilizando Array <h1>'; foreach($links as $link){ echo "<iframe width='590' height='335' src='".$link."' frameborder='0' allowfullscreen> </iframe>"; } //EXEMPLO COM BANCO DE DADOS echo '<hr><h1> Utilizando BD <h1>'; $conexao = new mysqli("localhost", "root","","foruns"); $query = $conexao->query("SELECT * FROM videos"); while ($linha = $query->fetch_object()){ echo "<iframe width='590' height='335' src='".$linha->link."' frameborder='0' allowfullscreen> </iframe>";; } ?> CREATE TABLE IF NOT EXISTS `videos` ( `codigo` int(11) NOT NULL AUTO_INCREMENT, `link` varchar(50) DEFAULT '0', PRIMARY KEY (`codigo`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1; INSERT INTO `videos` (`codigo`, `link`) VALUES (1, 'https://www.youtube.com/embed/60ItHLz5WEA'), (2, 'https://www.youtube.com/embed/COq2RouJ2tQ');
  16. As dicas do relatório são criar condições para que o banco de dados indexe os resultados de forma que fique mais rápida a busca; Veja como criar indices; Agora, eu sinceramente não sei como posso te ajudar, a não ser você fazer consultas nas tabelas, analisar os logs, se der poste eles aqui para ver se consigo em algo ( na imagem ele tem um link que penso que vai para os logs, clica no link e veja se é) ; Teste os campos que você mais usa, veja períodos diferentes; Agora o certo seria testar e analisar mesmo, mesmo; Execute as Querys separadamente e veja se há diferenças SELECT * FROM financeiro; SELECT * FROM financeiro WHERE vencimento BETWEEN '2016-01-01' AND '2016-01-31'
  17. Espero ter sido claro na documentação abaixo; em caso de dúvidas pode postar aqui; Lentidão pode problema de memória RAM que afeta PHP e Mysql; Pode ser o PHP que está realizando recursos desnecessários; É bom avaliar para ver se está tudo em ordens; Pode ser também relacionado a grande quantidade de informações sendo armazenados na tabela (Javascript, jquery, sei lá), o processamento em sí, para isso vamos testar primeiro a SQL; 1. Onde está rodando o Servidor da Aplicação (PHP) e Servidor de Mysql ? ( qual a configuração, CPU , MEMÓRIA ) ? verifique com a aplicação em execução se os recursos estão sobrecarregados; 1.a Precisamos ver se é sua aplicação que está apresentando lentidão ou se é o banco, para isso vamos ignorar o PHP por agora e trabalhar apenas com SQL; 2- Utilize sua ferramenta de preferência, ( MENOS PHPMYADMIN ) eu gosto da HeidiSQL, mas também tem o ToadMysql; 2.a Pelo que ví nas imagens e em seu código eu fiz esse código abaixo, e se possível, teste ele no banco de dados, pode ser em seu ambiente de testes; 2.a.1 - Você teve dificuldades em interpretar o código? 2.a.1 - Se o campo diferenca_dias ficar negativo ( onde precisa ser positivo) inverte o now() e o financeiro.vencimento ; 2.a.2 - Se der erro na execução da SQL confira se os campos estão de forma correta; 2.a.3 - Adicione Filtros 'WHERE' da forma que precisar e teste situações diferentes. SELECT financeiro.id, financeiro.pedido, financeiro.valor, clientes.nome, clientes.rgcliente, clientes.cep, financeiro.status, carnes.fatura, carnes.data_vencimento, DATEDIFF(financeiro.vencimento,now()) diferenca_dias FROM financeiro INNER JOIN clientes ON clientes.id=financeiro.cliente INNER JOIN carne ON carnes.numero_documento = financeiro.boleto WHERE MONTH(financeiro.vencimento) = '01' AND YEAR(financeiro.vencimento) = '2017' AND clientes.nome LIKE '%%' LIMIT 0,10 OU esta SQL, caso a de cima apresente problemas devido aos tipos dos campos serem diferentes UTILIZE a SQL abaixo; 3 - OBSERVAÇÕES: O campo carnes.numero_documento é varchar(50) enquanto o financeiro.boleto é varchar(30) ou seja, 3.1 - SE EXISTE carnes.numero_documento COM 50 de tamanho e for quebrado para 30, não quer dizer que seja igual a financeiro.boleto, o que vai mostrar BOLETOS repetidos; 3.2 - Foi preciso também converter o tipo clientes.id que é Inteiro em CHAR(11) que é o mesmo tamanho da tabela financeiro.cliente; SELECT financeiro.id, financeiro.pedido, financeiro.valor, clientes.nome, clientes.rgcliente, clientes.cep, financeiro.status, carnes.fatura, carnes.data_vencimento, DATEDIFF(financeiro.vencimento,now()) diferenca_dias FROM financeiro INNER JOIN clientes ON cast(clientes.id, CHAR(11))=CAST(financeiro.cliente, CHAR(11)) INNER JOIN carne ON cast(carnes.numero_documento, CHAR(30)) = CAST(financeiro.boleto, CHAR(30)) WHERE MONTH(financeiro.vencimento) = '01' AND YEAR(financeiro.vencimento) = '2017' AND clientes.nome LIKE '%%' LIMIT 0,10
  18. Fábio, bom dia. O primeiro teste será tirar o order by da select , e divulgue o resultado. SELECT * FROM financeiro WHERE situacao = 'N' 1 - Esse código é algum produto já em produção, ou é estudo? Pelo que lí em seu código a tabela financeiro se relaciona com Cliente; bom de qualquer forma, se for possível, coloque o nome das Tabelas e o nome de todas as colunas para eu entender; Se você tiver um print do sistema coloque aqui também; Se tiver do banco de dados ( MER ) , coloque também; Quantos registros você tem em cada uma dessas tabelas? 2 - Se for para estudo, ou maleável a adaptação, eu vou te ajudando a modelar o banco de dados de forma que não ocorra nenhuma falha na normalização. Esse código é uma rotina para calcular os valores e datas e salvar no banco de dados novamente? Se sim, podemos tentar uma Tarefa do Mysq ; para realizar o calculo de forma automatizada, sem necessidade de PHP, Apenas SQL; Esse código é uma lista de boletos exibidos na tela do sistema Se sim, tente utilizar LIMIT na SQL; para exibir de poucos de uma vez;
  19. Pelo que vi na imagem do link a forma da escrita está diferente; Vou explicar aqui.. A primeira situação ( escrita ), você definiu um laço ( while ) e informou que a variável $exlink iria receber o valor $link da sua consulta; entretanto da forma que está escrito a informação seria sempre sobreposta a cada leitura que existisse, por exemplo, se você tiver 10 links você vai sempre obter o ultimo link; Da forma que você escreveu você vai conseguir o efeito que deseja, entretanto como você mudou o código HTML para dentro do PHP você não precisa mais abrir as chaves, e será necessário fazer a concatenação das variáveis ; veja um exemplo abaixo; <?php while($linhas = mysql_fetch_array($resultado)){ $exlink = $linkas['link']; echo "<iframe width='590' height='335' src='".$exlink."' frameborder='0' allowfullscreen> </iframe>"; } ?> De qualquer forma, esse código que te passei acima ainda não faz sentido; o que você está tentando fazer? Pelo que eu entendi você tem uma tabela que contem uma coluna com links; e você quer que os links sejam carregados em um Iframe; Mas ao carregar mais de um iframe vai acontecer algo que não é legal, roda o código e veja; falou.
  20. Neibala, o que acontece se utilizar o código abaixo, retorna zeros? select microsecond(CURTIME(4));
  21. Apenas por curiosidade, o que você roda nesse servidor que precisa de tanta memória?
  22. Qual é a sua intenção? Se é teste e aprendizagem já tem um erro de forma normal na sua modelagem, pois na teoria deve-se existir apenas uma tabela de cidade, e a cidade com um código. Este código em seguida deve estar associado ao cadastro do endereço do Cliente, e também ao cadastro do endereço da cidade; Dessa forma o mesmo código estaria nos dois cadastros; Conforme informado pelo colega acima, poste sua SQL se possível as tabelas que você quer que seja desenvolvido o SQL.
  23. OI Isso pode ser um problema de versão ou de ferramenta; EU utilizo o HeidiSQL; é simples e eficaz. de qualquer forma 6,0 está errado mesmo. Segue exemplo do que eu criei e testei; CREATE TABLE IF NOT EXISTS `teste` ( `VALOR` decimal(6,2) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `teste` (`VALOR`) VALUES (2.20), (3.50), (2.20);
×
×
  • Criar Novo...