
nldj
Membro Pleno-
Posts
35 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que nldj postou
-
PHP Lógica de Id Sequencial por dia, mês e hora
nldj respondeu ao tópico de nldj em Web e banco de dados
Obrigado @DiF Eu queria uma solução para não criar um campo na tabela e tampouco outra tabela. Pensei em fazer algo do tipo: - date("t") para me retornar a quantidade de dias cada mês. - se vou enviar 1 mil e-mails por dia, logo, no dia 01/01/2023 terei enviado até o Id 1000 e no final do dia 31/01/2023 terei enviado até o Id 31000. - Se eu sei que envio 1 mil e-mails por dia, para eu saber em qual Id parei, por ex, dia 20/01/2023, basta fazer o calculo de quantos dias faltam para terminar o mês e completar a soma dos 31000 envios. Nesse caso, dia 20/01/2023, terei parado no Id 21000 Essa lógica doida, deve dar certo se eu fiz os cálculos certinho, usando um for para fazer o loop -
Boa tarde pessoal! Preciso de ajuda para desenvolver uma lógica. Quero disparar 1 mil e-mails/dia (100 por hora - das 8hr as 18hrs) e vou usar um select limit 100 para buscar os registros no meu banco de dados. Acontece que eu não posso repetir os registros e não vou saber quais e-mails já foram enviados. Então, eu preciso pegar os 100 primeiros registros as 8hrs, depois do 101 ao 200 as 09hrs...e assim por diante Eu poderia estabelecer isso, por ex, por dia, sendo dia 21 todos os registros que começarem com 21, dia 22 todos os registros que começarem com 22, e assim por diante. O problema é que quando começar outro mês, vai repetir os registros, e eu gostaria de deixar automático até terminarem todos os registros da tabela. Alguém tem uma ideia de como eu poderia fazer isso, sem gravar os envios? Por favor! Obrigado
-
PHP Verificar se conexão mysql ficou aberta com PDO
nldj respondeu ao tópico de nldj em Web e banco de dados
@DiF obrigado! a questão é: 1- como saber se realmente não está funcionando do jeito q eu fiz? 2- como agora, depois de pronto um enorme projeto, com diversos select, insert, update e delete, defino a conexão como nula, sem precisar fazer isso em cada instância? -
PHP Verificar se conexão mysql ficou aberta com PDO
nldj respondeu ao tópico de nldj em Web e banco de dados
@DiF mas não é exatamente isso que estou fazendo com _destruct? -
PHP Verificar se conexão mysql ficou aberta com PDO
nldj respondeu ao tópico de nldj em Web e banco de dados
@DiF não estou com problemas para conectar...está conectando tudo certinho...estou com problemas na minha hospedagem que está dizendo ficar aberta minhas conexões e por isso consumir recursos do servidor -
Estou com duvida se minha conexão está encerrando. Utilizo PDO para me conectar: public static function getDb(){ try { $db = new \PDO( 'mysql:host=localhost;dbname=xyz;charset=utf8', 'xyz', 'xyz1234', array( \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION ) ); return $db; } catch (PDOException $e) { echo "Erro de Conexão " . $e->getMessage() . "\n"; exit; } } public function __construct(\PDO $db) { $this->db = $db; } public function verifica(){ $sql = "SELECT * FROM tabela "; $result = $this->db->query($sql); $rows = $result->fetch(); if($rows){ }else{ } } public function __destruct() { unset($this->db); foreach ($this as $key => $value) { unset($this->$key); } } Estou fazendo certo? Como posso verificar se a conexão está ficando aberta?
-
preciso fazer um select assim: Select count(CASE WHEN tbl1.dtCadastro = CURDATE() THEN '' ELSE NULL END) as qtdDia, tbl2.id from tbl1 inner join tbl2 on tbl2.id = tbl1.id and tbl2.id = 123 where tbl1.int = 190273 eu quero que o Count me traga q a quantidade de registros no dia, e por por conta do tbl2.id = 123 ele está trazendo apenas um alguém pode me ajudar, por favor?
-
MySQL MySql COUNT com WHERE, o count é lento
nldj respondeu ao tópico de nldj em Web e banco de dados
Faltava indexar os dados. Valeu pessoal! -
select t1.id, (select count(campo) from tabela2 where id = t1.id) from tabela1 t1 where ....... select t1.id, (select count(t2.campo) from tabela2 t2 inner join tabela1 on tabela1.id = t2.id where t2.id = t1.id) from tabela1 t1 where ....... select t1.id, count(t2.campo) from tabela1 t1 left join tabela t2 on t2.id = t1.id where ....... Estou tentando dessas 3 formas e a única que roda é a segunda...mesmo assim, com muita lentidão... Existe alguma outra melhor forma de montar essa query?
-
<?php for ($x = 1; $x <= 3; $x++) { echo' <select class="form-control" name="AreaAtuacao'.$x.'" id="AreaAtuacao'.$x.'" required="required"> <option value="">Selecione</option>'; foreach ($this->view->areaAtuacao as $areaAtuacao): '<option value="'.$areaAtuacao['IdArea'].'">'.$areaAtuacao['Nome'].'</option>'; endforeach;' </select> '; } não funcionou!
-
<?php for ($x = 1; $x <= 3; $x++) { ?> <select class="form-control" name="AreaAtuacao<?php echo $x?>" id="AreaAtuacao<?php echo $x?>" required="required"> <option value="">Selecione</option> <?php foreach ($this->view->areaAtuacao as $areaAtuacao):?> <option value="<?php echo $areaAtuacao['IdArea']?>" <?php if($x == $x && $this->view->$AreaAtuacao == $areaAtuacao['IdArea']){echo 'selected';}?>><?php echo $areaAtuacao['Nome']?></option> <?php endforeach;?> </select> <? } consigo construir 3 vezes a HTML select tag pelo for, mas só no primeiro loop o foreach funciona. o que estou fazendo errado? qual o jeito correto de fazer? em procedural antes dava certo.
-
Resolvi meu problema. Caso outros passem pela mesma situação, o erro estava na falta de declarar a classe form-group na div e form-control na input
-
<!DOCTYPE html> <head> <meta charset="utf-8"> <link href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" rel="stylesheet"> </head> <body> <form name="form" action="" method="post" data-toggle="validator" role="form"> <div class="row"> <div class="help-block with-errors"></div> <div class="col-lg-4 col-md-4 col-sm-12 col-xs-12"> <input type="text" placeholder="CPF" name="CPF" data-error="Por favor, informe seu CPF." required> </div> <input type="submit" value="Cadastrar" /> </div> </form> <!--jQuery--> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> <!--Bootstrap--> <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script> <!--validator--> <script src="js/validator.min.js"></script> </body> </html>
-
Baixei a class.phpmailer, coloquei em uma pasta phpmailer dentro de public do meu projeto POO-MVC e criei no Models uma classe Mensagem que recebe os parâmetros de envio. Acontece que fiz um template pra separar o HTML do código. Na função PHP Mailer eu consigo definir a Body com um file_get_contents, e recebo o e-mail com o meu template... Até aí tudo bem...o problema que quero colocar conteúdo dinâmico no meu template...então dentro do meu template eu instancio a classe Mensagem que tem um objeto retornando o texto. Porém, quando recebo e-mail com meu template, escreve meu objeto contet(); no lugar do texto...acredito que seja por no PHP Mailer eu ter definido a Body com um file_get_contents. Alguém pode me ajudar?
-
você conhece um jeito de eu importar a base ms-sql na My-Sql?
-
A versão mínima do Laravel é a 4.2, e ela requer o PHP 5.4. E a versão mínima do LUMEN é a 5.1 para PHP 5.5 Meu servidor só roda PHP 5.3
-
Além de ser uma questão de gosto e requerer um nível já bem avançado de orientação a objeto, o framework tem que ser compatível com as configurações do PHP 5.3 presentes em meu servidor hospedado na Locaweb. O Laravel é o mais popular (eu sei), mas se não me engano é para versões maiores ou iguais a 7 do PHP. Eu programo da forma procedural, e também separo os módulos em pastas. Gostei da sugestão do microframewor LUMEN, ainda mais pela disponibilidade do curso gratuito, afinal sei que no começo vai ser difícil. Obrigado a todos!
-
Tenho uma aplicação web hospedada num Cloud Windows na locaweb rodando PHP 5.3 com banco de dados sql server. Eu programo no modo procedural. Gostaria de obter indicações de framework, uma vez que nunca utilizei e tenho pouca familiaridade com orientação a objetos e tenho pouca familiaridade com orientação a objetos.
-
Tenho uma aplicação web em php com um banco ms-sql de 1,5GB de tamanho, na qual eu estou desenvolvendo um site novo e pretendo utilizar uma MySql. Todavia, vou precisar dos dados que estão no banco ms-sql de 1,5GB de tamanho, e eu gostaria de algumas orientações, tipo: 1) Devo tentar converter um arquivo .dmp para .sql e restaurar no banco MySQL com Workbench? 2) Devo criar manualmente as tabelas e os campos na MySql, exportar os dados do banco ms-sql para um arquivo .csv e depois importá-lo para a MySql? Neste caso, melhor que o nome dos campo e os tipos da MySql sejam iguais os da ms-sql? 3) Devo criar manualmente as tabelas e os campos na MySql com os nomes que eu quiser e fazer um INSERT na nova aplicação PHP por meio da execução HTTP de uma página WEB? Receio que neste caso eu tenha complicação de timeout na inserção de uma tabela com muitos registros, ou que precise converter um determinado dado de origem para conseguir gravar no tipo de campo destino. Lembrando que vou aproveitar para fazer uma limpa no banco ms-sql de 1,5GB, descartando algumas tabelas, campos e dados.
-
@Erciley Junior meu banco deve ter 1,5GB, sendo duas ou 3 tabelas com mais de 100 mil registros... Eu nunca trabalhei com MySql para ser sincero...então não sei se vou me arrepender...o q sei é q pago caro por uma licença do Windows e do SQL para hospedar minha aplicação em um Cloud Windows
-
Tenho um site em PHP que utiliza MS-SQL e estou querendo migrar para MySQL. A questão é que vou ter que desenvolver toda a programação de querys, etc...então eu poderia refazer a estrutura de banco tudo do zero, dar novos nomes de colunas e tabelas, mesmo porque tem campos inutilizados, criados inadequadamente, e vou precisar acrescentar coisas novas, mas receio que recriar vai me dar mais trabalho depois na hora de importar os dados de um para outro, do que se eu utilizasse a mesma estrutura de tabelas, colunas, nomes, tipos de campos, etc. Vocês que são mais experientes e já passaram por isso, o que me aconselham a fazer?
-
Valeu @DiF Se entendi bem, você sugere que faça isso: $conn = new COM ("ADODB.Connection") or die("Nâo foi possível carregar o ADO"); $connStr = "PROVIDER=SQLNCLI10;SERVER=".$dbhost.";UID=".$user.";PWD=".$password.";DATABASE=".$db; $conn->open($connStr); $sql = "select email banco1.dbo.tabela "; $rs = $conn->execute($sql); if(!$rs->EOF){ while (!$rs->EOF){ $array1[] = $rs->fields["email"]->value; $rs->MoveNext(); } } $rs->Close(); $rs = null; $conn2->Close(); $conn2 = null; $conn2 = new COM ("ADODB.Connection") or die("Nâo foi possível carregar o ADO"); $connStr2 = "PROVIDER=SQLNCLI10;SERVER=".$dbhost2.";UID=".$user2.";PWD=".$password2.";DATABASE=".$db2; $conn2->open($connStr2); $sql2 = "select email banco2.dbo.tabela "; $rs2 = $conn2->execute($sql2); if(!$rs2->EOF){ while (!$rs2->EOF){ $array2[] = $rs2->fields["email"]->value; $rs2->MoveNext(); } } $rs2->Close(); $rs2 = null; $conn2->Close(); $conn2 = null; e depois juntar o resultado tudo num array...certo? o problema é que eu não gostaria de repetir os dados, e para isso eu precisaria de uma instrução na mesma query.. por ex: $sql = "select email banco1.dbo.tabela "; $sql = $sql . "where email not in "; $sql = $sql . "( "; $sql = $sql . "select email banco2.dbo.tabela "; $sql = $sql . ") "; $sql = $sql . "group by email "; só que para isso, eu precisaria instanciar a consulta dos dois bancos na mesma instrução SQL. Se eu criar uma tabela espelho em um único banco contendo os dados de ambos, não vou conseguir instanciar a consulta dos dois bancos na mesma instrução SQL para trazer o resultado que quero.
-
Atualmente uso ADO para conectar o PHP com meu bd MS-SQL $conn = new COM ("ADODB.Connection") or die("Nâo foi possível carregar o ADO"); $connStr = "PROVIDER=SQLNCLI10;SERVER=".$dbhost.";UID=".$user.";PWD=".$password.";DATABASE=".$db; $conn->open($connStr); ******************************************* Para a consulta utilizo a seguinte instrução: $sql = "select * from tabela "; $rs = $conn->execute($sql); if(!$rs->EOF){ while (!$rs->EOF){ $rs->MoveNext(); } } $rs->Close(); $rs = null; ******************************************* No entanto, preciso fazer um select union utilizando tabelas distintas de banco de dados diferente: $sql = "select email banco1.dbo.tabela "; $sql = $sql . "union "; $sql = $sql . "select email banco2.db o.tabela "; ******************************************* Eu gostaria de saber como faço para estabelecer duas conexões simultaneamente e instanciar a consulta de dois bancos na mesma instrução SQL???
-
Obrigado DIF. A sua ideia é excelente. Se tivesse sido feito assim desde o começo, seria bem melhor e mais fácil. Mas, hoje eu tenho tabela de cliente separada e que está relacionado com outras tabelas. Então, se eu unificasse usando "Tipo_user", teria que mexer em várias outras coisas. Melhor eu deixar de preguiça e desenvolver as funções de clientes dentro do painel de funcionários. Muito obrigado pela sua atenção. Abraços,
-
DIF, vamos ver se você pode me dar uma ideia. Eu tenho uma aplicação web com painel de usuários, clientes e funcionários, cada um com acesso por login e senha, no qual eu abro uma sessão. Tem algumas funções de clientes usadas pelos funcionários, ou seja, os funcionários se logam como sendo clientes. Na preguiça (rs) de desenvolver essas funções de clientes dentro do painel de funcionários, pensei em identificar pelo IP se é o cliente ou o funcionário que está acessando as funções de cliente, para eu gravar um log de onde partiu a requisição. Atualmente o único jeito que tenho para saber a origem é pelo ID, seja de funcionário ou de cliente, mas se o funcionário estiver logado como cliente, não consigo identificar quem acessou.
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