Jump to content
Fórum Script Brasil

AlexandreNSilva

Membros
  • Content Count

    29
  • Joined

  • Last visited

Community Reputation

0 Neutro

About AlexandreNSilva

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Boa tarde, cara, eu tenho um codigo que pode ser que te ajude. no meu caso eu listo todos os dados um uma tabela, e coloco uma coluna com o checkbox. pos selecionado os check, ele varre a tabela e faz as alterações que eu preciso. tipo assim: tabela para listar as informaçoes: <form method='post' name='myForm' id='myForm' action='../sql/sqlInsertFimdeTurno.php'> <div class="row"> <div class="col-6 col-md-4"> <div class="input-group-prepend"> <span class="input-group-text" id="Campanha">Alterar Status:</span> <select class="form-control" name="filtroStatus"> <?php include '../sql/sqlListaPausa.php';?> </select> </div> </div> </div> <br> <div class="container-fluid"> <div class="table-responsive"> <table class="table table-striped table-sm" name="tabela" id="tabela" metod="get"> <thead> <tr> <th>Login</th> <th>Nome</th> <th>Ambiente</th> <th>Campanha</th> <th>Status</th> <th>Ultima Alteracao</th> <th>Alterar Status?</th> </tr> </thead> <tbody id="dadosTabela"></tbody> </table> </div> <div class="btn-group"> <button type="submit" class="btn btn-sm btn-outline-secondary">Salvar</a> </div> </div> </form> script: "sqlInsertFimdeTurno.php <?php include "../conexoes/conexao_ambiente121.php"; $ident = $_POST["ident"]; $status = $_POST["filtroStatus"]; if($status == '') { echo "<script>alert('Favor selecionar um status!');history.back()</script>"; } else { if(isset($_POST["ident"])) { $add=0; echo "<script>console.log(".$ident.")</script>"; foreach($ident as $fimDeTurno) { $script = $dbh->prepare("INSERT INTO [Auditoria_Vendas].[dbo].[TABELA_PAUSAS] SELECT LOGIN_AUDITOR, ".$status."[COD_STATUS], CAMPANHA, AMBIENTE, GETDATE() DATA, NOME_AUDITOR,NULL DATA_FIM FROM [Auditoria_Vendas].[dbo].[STATUS_AUDITOR] WHERE DATEDIFF(DAY, DATA_INICIO, GETDATE()) = 0 AND LOGIN_AUDITOR = SUBSTRING('".$ident[$add]."',1,4) AND AMBIENTE = SUBSTRING('".$ident[$add]."',6,11) AND CAMPANHA = SUBSTRING('".$ident[$add]."',18,20)"); if($script->execute()) { $add=$add+1; } } if($add > 0) { echo "<script>alert('Foram atualizados ".$add." auditores!');document.location='../table/tableListaStatusAuditor.php'</script>"; } else { echo "<script>alert('Erro ao adicionar os auditores .Favor tentar novamente!');history.back()</script>"; } } else { echo "<script>alert('Favor selecionar ao menos um auditor para colocar em status de Final de Turno!');history.back()</script>"; } Pagia sqlListaAuditores.php <?php include "../conexoes/conexao.php"; $campanha=$_GET['campanha']; $acao=$_GET['acao']; $script = $dbh->prepare("SELECT LOGIN_AUDITOR,UPPER(NOME_AUDITOR) NOME_AUDITOR ,AMBIENTE,CAMPANHA ,A.COD_STATUS,B.DESCRICAO STATUS, CASE WHEN DATA_ALTERACAO IS NULL THEN DATA_INICIO ELSE DATA_ALTERACAO END ULTIMA_ALTERACAO FROM [Auditoria_Vendas].[dbo].[STATUS_AUDITOR] as a LEFT JOIN [Auditoria_Vendas].dbo.LISTA_DE_PAUSA AS B ON A.COD_STATUS = B.CODIGO WHERE DATEDIFF(D, DATA_INICIO, GETDATE()) = 0 AND CAMPANHA LIKE '%".$campanha."%' "); $script->execute(); $numRows = count($script); while ($listaAuditores = $script->fetch()) { echo "<tr>"; echo "<td name='".$listaAuditores['LOGIN_AUDITOR']."'>".$listaAuditores['LOGIN_AUDITOR']."</td>"; echo "<td>".$listaAuditores['NOME_AUDITOR']."</td>"; echo "<td>".$listaAuditores['AMBIENTE']."</td>"; echo "<td>".$listaAuditores['CAMPANHA']."</td>"; echo "<td>".$listaAuditores['STATUS']."</td>"; echo "<td>".$listaAuditores['ULTIMA_ALTERACAO']."</td>"; if($acao==1) { echo "<td><input type='checkbox' class='form-check-input' name='ident[]' value='".$listaAuditores['LOGIN_AUDITOR']."|".$listaAuditores['AMBIENTE']."|".$listaAuditores['CAMPANHA']."'></td>"; } echo "</tr>"; } ?>
  2. Preciso de uma ajuda, estou fazendo um tela de login, com validação através do LDAP, após a conexão eu faço um direccionamento para outra pagina mandando o nome do usuário via GET. porem eu precisava que o envio fosse via POST, andei pesquisando na net já faz um tempo e ate agora não consegui uma solução. alguém tem alguma dica para me dar? Segue o trecho de código. ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION,7); ldap_set_option($ds, LDAP_OPT_REFERRALS,0); if ($ds) { echo "<script>console.log('Conectado ao LDAP...')</script>"; // binding to ldap server $ldapbind = ldap_bind($ds, $ldaprdn, $ldappass); // verify binding echo("<script>console.log('msg:'".ldap_error($ds)."')</script>"); echo("<script>console.log('msg:'".$ldapbind."')</script>"); if ($ldapbind) { echo "<script>console.log('Conexão efetuada com sucesso...')</script>"; header("Location: ../menu.php?login=".$usuario); } else { echo "<script>console.log('Falha na conexão com o AD/LDAP...')</script>"; echo "<script>alert('Login e ou senha invalido!\\nFavor tentar novamente');history.back()</script>"; }
  3. Só uma duvida, você esta colocando os valores em ordem crescente ou aleatório? porque no código citado acima, ele vai armazenar a posição do maior elemento quando o mesmo for localizado dentro do vetor for(i=0; i<tam; i++) { if (vet[i] > maior) { maior = vet[i]; po=i; } }
  4. hum..no access, bom você pode utilizar uma macro para fazer isso, tanto no excel quanto no access, a logica é mais ou menos essa que eu postei
  5. bom dia!, poste os códigos para que possamos analisar
  6. Boa tarde! tem como você postar o código para que nos possamos analisar
  7. é..eu esqueci de colocar a coluna t.data_exame dentro do select. SELECT DATE_FORMAT(d.data_exame, %d) AS dia, t.id_auth, COUNT(t.id_auth) AS TOTALFROM ( SELECT DISTINCT data_exame FROM tbl_medreq_hospital_exame WHERE data_exame BETWEEN '2019-11-02' AND '2019-11-04' ) AS d LEFT JOIN (SELECT id_auth, data_exame FROM tbl_medreq_hospital_exame WHERE id_auth = '00.0000.0000') AS t ON d.data_exame = t.data_exameGROUP BY t.data_exameLIMIT 0,30
  8. Bom dia! você pode colocar uma formula para contabilizar somente quanto tiver valores, ou colocar uma tabela dinamica, e colocar um filtro para os registros que tiverem valores. PRODUTO TAMANHO PP TAMANHO P TAMANHO M TOTAL ESTAMPA 1 0 0 0 0 ESTAMPA 2 0 3 3 6 ESTAMPA 3 5 3 1 9 TOTAL (Vários itens) Rótulos de Linha Soma de TAMANHO PP Soma de TAMANHO P Soma de TAMANHO M ESTAMPA 2 0 3 3 ESTAMPA 3 5 3 1 Total Geral 5 6 4 na tabela dinâmica você pode dimensionar da maneira que você preferir
  9. Bom dia! eu tenho um script que faz exatamente isso, da uma olhada e uma adaptada nele conforme a sua necessidade. --************************************************************************************ -- PASSO1: PROCEDIMENTO PARA TRATAMENTO ( IMPORTA AS OSS PARA BASE ) --************************************************************************************ PRINT'CRIA TABELA TMP' PRINT CONVERT(VARCHAR(10), GETDATE(), 103) + ' ' + CONVERT(VARCHAR(08), GETDATE(), 108) IF EXISTS (SELECT NAME FROM TEMPDB.SYS.TABLES WHERE NAME LIKE '%#PERFORMANCE_TMP%') DROP TABLE #PERFORMANCE_TMP CREATE TABLE #PERFORMANCE_TMP( [NOME AGENTE] VARCHAR(MAX) NULL , [ID AGENTE] VARCHAR(MAX) NULL , [N¨²MERO DE CHAMADAS ATENDIDAS] VARCHAR(MAX) NULL , [TEMPO M¨¦DIO DE CONVERSA] VARCHAR(MAX) NULL , [TEMPO M¨¦DIO OCUPADO] VARCHAR(MAX) NULL , [TEMPO M¨¦DIO ACW] VARCHAR(MAX) NULL , [TEMPO TOTAL LOGADO] VARCHAR(MAX) NULL , [TEMPO TOTAL DE CONVERSA] VARCHAR(MAX) NULL , [TEMPO TOTAL OCIOSO] VARCHAR(MAX) NULL , [TEMPO TOTAL ACW] VARCHAR(MAX) NULL , [TEMPO TOTAL TOCANDO] VARCHAR(MAX) NULL , [TEMPO TOTAL EM PAUSA] VARCHAR(MAX) NULL , [TEMPO DE PAUSA AUTOMATICO] VARCHAR(MAX) NULL , [TEMPO DE PAUSA INTERVALO] VARCHAR(MAX) NULL , [TEMPO DE PAUSA PARTICULAR] VARCHAR(MAX) NULL , [TEMPO DE PAUSA PAUSA 10] VARCHAR(MAX) NULL , [TEMPO DE PAUSA TREINAMENTO] VARCHAR(MAX) NULL , [TEMPO DE PAUSA FEEDBACK] VARCHAR(MAX) NULL , [TEMPO DE PAUSA APOIO/CEDIDO] VARCHAR(MAX) NULL , [TEMPO DE PAUSA AMBULAT?RIO] VARCHAR(MAX) NULL , [TEMPO DE PAUSA PRODUCT/OUTBOUND] VARCHAR(MAX) NULL , [TEMPO DE PAUSA PROBLEMAS T?CNICOS] VARCHAR(MAX) NULL , [N¨²MERO DE CHAMADAS CURTAS] VARCHAR(MAX) NULL , [N¨²MERO DE CHAMADAS TRANSFERIDAS] VARCHAR(MAX) NULL , [N¨²MERO DE CHAMADAS INTERNAS] VARCHAR(MAX) NULL , [N¨²MERO DE CHAMADAS REALIZADAS] VARCHAR(MAX) NULL , [TEMPO M¨¦DIO DAS CHAMADAS REALIZADAS] VARCHAR(MAX) NULL , [PORCENTAGEM TEMPO PRODUTIVO] VARCHAR(MAX) NULL ) ON [PRIMARY]; --============================================================== -- CRIA TABELA TEMPORÁRIA PARA PEGAR O NOME DO ARQUIVO MAILING --============================================================== IF EXISTS (SELECT NAME FROM TEMPDB.SYS.TABLES WHERE NAME LIKE '%#BASE_PERFORMANCE_TMP%') DROP TABLE #BASE_PERFORMANCE_TMP CREATE TABLE #BASE_PERFORMANCE_TMP ( PERFORMANCE VARCHAR(150), CONTADOR INT IDENTITY ) DECLARE @PASTA VARCHAR(MAX) SET @PASTA = 'MASTER.SYS.XP_CMDSHELL ''DIR \\SERVER-ATLAS\motiva\planejamento\MIS\RELATÓRIOS\Claro\Renta\2018\'[email protected]+'\Performance\*.txt /B''' -- select * from #BASE_ANALITICO_TMP INSERT INTO #BASE_PERFORMANCE_TMP EXEC(@PASTA) DELETE FROM #BASE_PERFORMANCE_TMP WHERE PERFORMANCE IS NULL -- EXECUTA LOOPING QUE IMPORTA OS REGISTROS PRINT'CRIA TABELA TMP DE INSERÇÃO' PRINT CONVERT(VARCHAR(10), GETDATE(), 103) + ' ' + CONVERT(VARCHAR(08), GETDATE(), 108) IF OBJECT_ID('TEMPDB..#PERFORMANCE_CLARO_RENTA') IS NOT NULL BEGIN DROP TABLE #PERFORMANCE_CLARO_RENTA END CREATE TABLE #PERFORMANCE_CLARO_RENTA( [NOME AGENTE] VARCHAR(MAX) NULL , [ID AGENTE] INT NULL , [N¨²MERO DE CHAMADAS ATENDIDAS] INT NULL , [TEMPO M¨¦DIO DE CONVERSA] INT NULL , [TEMPO M¨¦DIO OCUPADO] INT NULL , [TEMPO M¨¦DIO ACW] INT NULL , [TEMPO TOTAL LOGADO] INT NULL , [TEMPO TOTAL DE CONVERSA] INT NULL , [TEMPO TOTAL OCIOSO] INT NULL , [TEMPO TOTAL ACW] INT NULL , [TEMPO TOTAL TOCANDO] INT NULL , [TEMPO TOTAL EM PAUSA] INT NULL , [TEMPO DE PAUSA AUTOMATICO] INT NULL , [TEMPO DE PAUSA INTERVALO] INT NULL , [TEMPO DE PAUSA PARTICULAR] INT NULL , [TEMPO DE PAUSA PAUSA 10] INT NULL , [TEMPO DE PAUSA TREINAMENTO] INT NULL , [TEMPO DE PAUSA FEEDBACK] INT NULL , [TEMPO DE PAUSA APOIO/CEDIDO] INT NULL , [TEMPO DE PAUSA AMBULAT?RIO] INT NULL , [TEMPO DE PAUSA PRODUCT/OUTBOUND] INT NULL , [TEMPO DE PAUSA PROBLEMAS T?CNICOS] INT NULL , [N¨²MERO DE CHAMADAS CURTAS] INT NULL , [N¨²MERO DE CHAMADAS TRANSFERIDAS] INT NULL , [N¨²MERO DE CHAMADAS INTERNAS] INT NULL , [N¨²MERO DE CHAMADAS REALIZADAS] INT NULL , [TEMPO M¨¦DIO DAS CHAMADAS REALIZADAS] INT NULL , [PORCENTAGEM TEMPO PRODUTIVO] VARCHAR(MAX) NULL , [DATA_DA_ACAO] datetime , SKILL VARCHAR(MAX) NULL , DATA_IMPORTACAO DATETIME ) ON [PRIMARY]; DECLARE @I INT, @F INT, @ARQV VARCHAR(250) SET @I = (SELECT MIN(CONTADOR) FROM #BASE_PERFORMANCE_TMP) SET @F = (SELECT MAX(CONTADOR) FROM #BASE_PERFORMANCE_TMP) WHILE (@I <= @F) BEGIN SET @ARQV = (SELECT PERFORMANCE FROM #BASE_PERFORMANCE_TMP WHERE CONTADOR = @I) EXEC (' BULK INSERT #PERFORMANCE_TMP FROM ''\\SERVER-ATLAS\MOTIVA\planejamento\MIS\RELATÓRIOS\Claro\Renta\2018\'[email protected]+'\Performance\'[email protected]+''' WITH(FIRSTROW =2, CODEPAGE = 1252, FIELDTERMINATOR = ''\t'', ROWTERMINATOR = ''0x0d'') ') INSERT INTO #PERFORMANCE_CLARO_RENTA SELECT * , convert(datetime, substring(LEFT(RIGHT(@ARQV, 12), 8),1,2)+'/'+substring(LEFT(RIGHT(@ARQV, 12), 8),3,2)+'/'+substring(LEFT(RIGHT(@ARQV, 12), 8),5,4), 103) [DATA_DA_ACAO] , SUBSTRING(REPLACE(@ARQV, 'DATA_SKILL', ''),1, LEN(REPLACE(@ARQV, 'DATA_SKILL', ''))-13)[SKILL] , GETDATE() [DATA_IMPORTACAO] FROM #PERFORMANCE_TMP SET @I = @I+1 END PRINT'INSERE OS REGISTROS NA TABELA TEMP FINAL' PRINT CONVERT(VARCHAR(10), GETDATE(), 103) + ' ' + CONVERT(VARCHAR(08), GETDATE(), 108) INSERT INTO [Claro_Renta].[dbo].[PERFORMANCE_CLARO_RENTA] SELECT * FROM #PERFORMANCE_CLARO_RENTA END
  10. Bom dia! Verificando o codigo esta trazendo no resultado do WHERE somente os registros que possuem a condição id_auth = '00.0000.0000' você pode colocar esta condição no ON para unir essas duas tabelas, ou utilizar um CASE WHEN para somar quando houver essa condição. SUM(CASE WHEN id_auth = '00.0000.000' THEN 1 ELSE 0 END)[TOTAL] mas acredito que assim deva resolver: SELECT DATE_FORMAT(d.data_exame, %d) AS dia, t.id_auth, COUNT(t.id_auth) AS TOTAL FROM ( SELECT DISTINCT data_exame FROM tbl_medreq_hospital_exame WHERE data_exame BETWEEN '2019-11-02' AND '2019-11-04' ) AS d LEFT JOIN (SELECT id_auth FROM tbl_medreq_hospital_exame WHERE id_auth = '00.0000.0000') AS t ON d.data_exame = t.data_exame GROUP BY t.data_exame LIMIT 0,30
  11. E aew boa tarde! bom eu não conheço muito esse programa ai, mas se você tiver utilizando um array ou uma matriz, eu iria sugerir que você coloque uma unidade a mais para esse tipo de validação tipo um binario (0,1) onde 0 não foi executado e 1 foi executado, e no seu loop você verificar esse campo e valida a ação. apos e execução, você altera o valor do campo para o valor executado escolhido 0000-0 = não executou 1111-0 = não executou 2222-1 = executou 3333-0 = não executou
  12. ActiveCell.Offset(0, 1).Select
  13. Bom pelo que eu entendi, não é para trazer datas expedidas anteriores as datas rebecidas, nesse caso, você pode colocar uma condição para não trazer datas menores no where ou no on das tabelas SELECT A.*, B.* FROM tbl_recepcao AS A LEFT JOIN tbl_expedicao AS B ON A.CODIGO = B.CODIGO AND B.DATA >= A.DATA
  14. você quer que apareça o menu somente quando o Checkbox tiver selecionado? se for isso, você pode desabilitar ele, e criar uma função e atribuir ela no evento onclick da teg do checkbox. seria mais ou menos assim: <html> <head> <script> function habilitaMenu() { if(checkbox.value == 1) { document.getElementById('menu').style.display = "inline"; } else{ document.getElementById('menu').style.display = "none"; } } </script> </head> <body> <input type="checkbox" id="bt_menu" onclick="habilitaMenu()"> <div id="menu"> <ul class="nav-links"> <li><a href="#">Home</a></li> <li><a href="#">About</a></li> <li><a href="#">Work</a></li> <li><a href="#">Projects</a></li> </ul> </div> </body> </html>
  15. AlexandreNSilva

    Login PHP

    Arcadyum, segue alguns exemplos: LDAP: https://www.exchangecore.com/blog/using-ldap-active-directory-authentication-php Javascript: https://www.formget.com/javascript-login-form/ no caso do banco de dados, é só fazer um select e verificar se as senhas digitadas e o resultado do select são os mesmos
×
×
  • Create New...