Jump to content

Robson Lopes

Members
  • Content count

    16
  • Joined

  • Last visited

Community Reputation

0 Comum

About Robson Lopes

  1. Robson Lopes

    Sistema de agenda de horario

    TABELA DE AGENDAMENTOS, INICIO E FIM JÃO 08:00 - 08:45 ZÉ 09:00 - 09:30 Lulu quer marcar cabelo e pergunta quais horários disponíveis: Faz um loop nos horários de início (08:00, 8:15, 8:30, 8:45 ... ) e consulta na tabela de agendamentos: CHECAR cada horário de inicio + 15 min (cabelo) tem INICIO <= 08:00 e fim >= 08:15 (INDISPONIVEL) etc tem INICIO <= 08:45 e fim >= 09:00 (DISPONIVEL) etc Eu faria mais ou menos assim, mas tem que expandir as verificações de disponível e indisponivel para pegar outras combinações de agendamento.
  2. Robson Lopes

    LOOP

    <?php $produtos = array('Coca-Cola','Pastel','Espetinho'); $quantidade = array(5,2,3); foreach ($quantidade as $key => $x) { for ($i=0; $i < $x; $i++) { echo $produtos[$key]; echo "<BR>"; } }
  3. É possível, você precisa usar as funções imap para se conectar na conta de e-mail e pegar o que o e-mail respondido. Não é um código pronto para isso, mas é parte de um código no meu sistema para você ter um começo. set_time_limit(60*30); $email = imap_open('{imap.email.com.br/imap/ssl/novalidate-cert}INBOX', "email@email.com", 'senha'); $emails = array(); if(is_resource($email) === TRUE) { $headers = imap_headers($email); $numero_mensagens = imap_num_msg($email); for($i = $numero_mensagens; $i > 0; $i--) { $r = imap_header($email, $i); if($r->subject == 'Undelivered Mail Returned to Sender') { $r = imap_body($email, $i); $emails[$this->get_string_between($r, '<', '>')] = true; } } imap_close($email); } foreach($emails as $e => $a) { echo "'"; echo $e; echo "',"; }
  4. Robson Lopes

    Registrando só a ultima informação

    Pode postar o que é enviado no seu $_POST ? É só colocar print_r($_POST); exit; antes da primeira linha e pegar o que aparece na tela.
  5. Robson Lopes

    Breve ideia de como posso desenvolver um codigo

    É só você tirar o notebook da tabela de usuários. Cria uma tabela só para os notebooks. Crie uma segunda tabela para guardar a relação usuario-notebook. Você pode guardar a data inicial e a data final que o notebook ficou com cada usuário, motivo do fim da permanencia do usuario com o notebook etc.
  6. Robson Lopes

    Duvida sobre download automático em PHP

    Download dentro de loop não vai funcionar. Você deve usar a opção de zippar e baixar tudo no final. Segue trecho do meu código para fazer download em zip de uma pasta (na qual deve gravar os arquivos antes). Está dentro de classe, é só tirar os private e os $this-> se não usar classes no seu código. //PASSE O CAMINHO DA PASTA COM OS ARQUIVOS E O CAMINHO DO ZIP A SER CRIADO. private function addzip($source, $destination) { $files_to_zip = glob($source . '/*'); $this->create_zip($files_to_zip, $destination); } private function create_zip($files = array(), $dest = '', $overwrite = false) { if(file_exists($dest) && !$overwrite) { return false; } if(($files)) { $zip = new ZipArchive(); if($zip->open($dest, $overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) { return false; } foreach($files as $file) { $zip->addFile($file, basename($file)); } $zip->close(); return file_exists($dest); } else { return false; } } COMO USEI PARA GERAR O ZIP E BAIXAR, APÓS TER A PASTA COM OS ARQUIVOS; $this->addzip(APP.DS.'webroot'.DS.'nfes'.DS.'zip_'.$cnpj.str_replace('-', '', $in.$fi), APP.DS.'webroot'.DS.'nfes'.DS.'zip_'.$cnpj.str_replace('-', '', $in.$fi).'.zip'); header("Content-Type: application/octet-stream"); header("Content-Transfer-Encoding: Binary"); header("Content-disposition: attachment; filename=\"zip_".$cnpj.str_replace('-', '', $in.$fi).".zip\""); echo readfile(APP.DS.'webroot'.DS.'nfes'.DS.'zip_'.$cnpj.str_replace('-', '', $in.$fi).'.zip');
  7. Robson Lopes

    Puxando arquivo da pasta sem banco de dados

    echo '<a download href='.$pasta.$arquivo.'>'.$arquivo.'</a><br />'; Coloque o atributo download no link.
  8. Robson Lopes

    Consumir API via PHP

    Você poderia usar também o fsockopen, mas na prática as opções mais usadas são o curl e file_get_contents mesmo.
  9. Nossa! Prefiro dividir em várias querys, mas em uma olhada rápida vi que parece estar faltando fechar um parentese após "TOC.GRUPO<>:ADIANTAMENTOS". WHERE FIN.CODTIPOPER= TOC.CODTIPOPER) /*< REMOVER*/ AND TOC.GRUPO<>:ADIANTAMENTOS ) /*< ADICIONAR*/
  10. Robson Lopes

    trabalhando com .json com vários Objetos

    Quando os dados de um foreach forem outro array, você precisa fazer outro foreach dentro dele. Um foreach dentro de outro, quantos forem necessários para pegar as informações que você quer. foreach($json as $dados) { foreach($dados as $dados2) { ... } }
  11. Robson Lopes

    Traduzir script

    Claro que tem! Você precisa retirar todos os seus textos do HTML e colocar dentro de um array php. Por exemplo: $SITE_PT_BR = array ( ‘entrar’ => ‘Clique aqui para fazer login’, ); Crie arrays alternativos para outros idiomas, mas mantenha os mesmos indices. $SITE_EN = array ( ‘entrar’ => ‘Click here to login’ ) De acordo com a escolha de idioma do usuário, você usa o conteudo de um array ou de outro. $SITE = $SITE_PT_BR; if($idioma_usuario == ‘en’) { $SITE = $SITE_EN; } No html, você exibe o texto correspondente. <a href=””><?php echo $SITE[‘entrar’]; ?></a> Obviamente essa é uma solução rústica se o site for grande, provavelmente você vai achar alguma framework ou biblioteca para ajudar nisso, mas a base do funcionamento é essa.
  12. Robson Lopes

    trabalhando com .json com vários Objetos

    Transforme o JSON em ARRAY e use PRINT_R para mostrar na tela todo o conteúdo. Localize onde está o "distance" (ele não está dentro "card-header") e percorra os ARRAYS normalmente para obte-lo. <?php $json = '{"card-header":{"raceId":"1706057","races":{"95049":{"meeting_abandoned":0,"track":"Kilkenny","races":[{"raceId":"1706057","raceDate":"2019-07-03","raceTime":"8:12"},{"raceId":"1706058","raceDate":"2019-07-03","raceTime":"8:27"},{"raceId":"1706059","raceDate":"2019-07-03","raceTime":"8:43"},{"raceId":"1706060","raceDate":"2019-07-03","raceTime":"9:02"},{"raceId":"1706857","raceDate":"2019-07-03","raceTime":"9:18"},{"raceId":"1706858","raceDate":"2019-07-03","raceTime":"9:34"},{"raceId":"1706859","raceDate":"2019-07-03","raceTime":"9:52"},{"raceId":"1706860","raceDate":"2019-07-03","raceTime":"10:07"},{"raceId":"1706861","raceDate":"2019-07-03","raceTime":"10:23"},{"raceId":"1706862","raceDate":"2019-07-03","raceTime":"10:41"}],"track_id":"50","tv_id":"","tv_name":""}},"courseId":95049,"country":"IRE","trackAbbrName":"K\'kenny"},"card-title":{"postPick":"6-5-3","napNum":"","raceSisStatusTopicD5":"GREYHOUNDS\/2019-07-03\/KILKENNY\/08:12\/#SIS_STATUS","infoTopicD5":"GREYHOUNDS\/2019-07-03\/KILKENNY\/08:12\/OUTRIGHT WINNER\/#INFO\/PREFERRED_BOOKMAKER","priceTopicD5":"GREYHOUNDS\/2019-07-03\/KILKENNY\/08:12\/OUTRIGHT WINNER\/PREFERRED_DOG\/PREFERRED_BOOKMAKER","testingPriceTopic":"GREYHOUNDS\/2019-07-03\/KILKENNY\/08:12\/OUTRIGHT WINNER\/PREFERRED_DOG\/PREFERRED_BOOKMAKER","distance":480,"raceGrade":"A9","raceTypeDesc":"Flat","raceDatetime":"1562137920","raceHour":"08","raceMin":"12","reserved":"","tvId":"","bagsCode":"S","raceTitle":"Race 1"},"card-tabs":{"raceId":"1706057","raceDate":"2019-07-03 08:12","distance":"480","raceStatus":0,"raceTitle":"Welcome To Kilkenny Track A9 525","bagsCode":"S","trackName":"KILKENNY","trackCde":"KILK","rpTrackShortName":"Kilky","trackId":"50","country":"IRE","typeDesc":"Flat","raceGrade":"A9","selTrapNum":"6","tvId":"","dangerTrapNum":"5","fcastAltTrapNum":"3","napNum":"","raceDateDate":"2019-07-03","raceDateTime":"08:12"},"card":{"dogs":[{"dogId":"528848","trackId":"50","trapNum":"1","dogName":"Flexible Pango","dogColor":"BK","dogSex":"B","forecastComment":"Been battered around lately, due some luck","chanceOfWin":30.72,"trainerName":"M Kennedy","trainerLocation":"","forecast":"5\/1","topSpeed":"93","wideYn":"","handicapMetre":"","diffusionName":"FLEXIBLE_PANGO","spotlightComment":"Been battered around lately, due some luck","nonRunner":"","reserved":"","isVacant":"","dateOfBirth":"1Sep15","brt":"30.57","bestTimeGrade":"","bestTimeGradeDate":"","sire":"Farloe Tango","dam":"Flexible Dora","birthMonYY":"Sep15","dateOfSeason":"","shortForm":"53355"},{"dogId":"532977","trackId":"50","trapNum":"2","dogName":"Bradys Choice","dogColor":"BK","dogSex":"B","forecastComment":"Finding trouble, not showcasing ability as a result","chanceOfWin":30.78,"trainerName":"M Fortune","trainerLocation":"","forecast":"5\/1","topSpeed":"91","wideYn":"","handicapMetre":"","diffusionName":"BRADYS_CHOICE","spotlightComment":"Finding trouble, not showcasing ability as a result","nonRunner":"","reserved":"","isVacant":"","dateOfBirth":"11Jan18","brt":"30.67","bestTimeGrade":"","bestTimeGradeDate":"","sire":"Ballymac Eske","dam":"Marinas Blue","birthMonYY":"Jan18","dateOfSeason":"","shortForm":"T5666"},{"dogId":"528978","trackId":"50","trapNum":"3","dogName":"Littlest Hobo","dogColor":"WBK","dogSex":"B","forecastComment":"Learning twists and turns of track, may still run well","chanceOfWin":30.42,"trainerName":"D Fogarty","trainerLocation":"","forecast":"4\/1","topSpeed":"99","wideYn":"","handicapMetre":"","diffusionName":"LITTLEST_HOBO","spotlightComment":"Learning twists and turns of track, may still run well","nonRunner":"","reserved":"","isVacant":"","dateOfBirth":"1May17","brt":"30.31","bestTimeGrade":"","bestTimeGradeDate":"","sire":"Sidarian Blaze","dam":"Miss Precedent","birthMonYY":"May17","dateOfSeason":"","shortForm":"532T3"},{"dogId":"532964","trackId":"50","trapNum":"4","dogName":"Amwhatiam","dogColor":"BE","dogSex":"B","forecastComment":"Luck tends to even itself out, due a change of it","chanceOfWin":30.51,"trainerName":"S O\'Donnell","trainerLocation":"","forecast":"7\/2","topSpeed":"96","wideYn":"","handicapMetre":"","diffusionName":"AMWHATIAM","spotlightComment":"Luck tends to even itself out, due a change of it","nonRunner":"","reserved":"","isVacant":"","dateOfBirth":"12Sep17","brt":"30.4","bestTimeGrade":"","bestTimeGradeDate":"","sire":"Superior Product","dam":"Aclamon Jill","birthMonYY":"Sep17","dateOfSeason":"","shortForm":"TTT64"},{"dogId":"528832","trackId":"50","trapNum":"5","dogName":"Heyisntthatright","dogColor":"BK","dogSex":"B","forecastComment":"Five alive? Must be paw perfect to avoid a bang","chanceOfWin":30.33,"trainerName":"M Bergin-Flynn","trainerLocation":"","forecast":"7\/2","topSpeed":"100","wideYn":"","handicapMetre":"","diffusionName":"HEYISNTTHATRIGHT","spotlightComment":"Five alive? Must be paw perfect to avoid a bang","nonRunner":"","reserved":"","isVacant":"","dateOfBirth":"15Aug17","brt":"30.13","bestTimeGrade":"","bestTimeGradeDate":"","sire":"Barefoot James","dam":"Hey Ruby","birthMonYY":"Aug17","dateOfSeason":"","shortForm":"44336"},{"dogId":"533139","trackId":"50","trapNum":"6","dogName":"Kilbreedy Hulk","dogColor":"BK","dogSex":"D","forecastComment":"Being backed with good reason, leading player","chanceOfWin":30.29,"trainerName":"F Hickey","trainerLocation":"","forecast":"9\/4","topSpeed":"99","wideYn":"M","handicapMetre":"","diffusionName":"KILBREEDY_HULK","spotlightComment":"Being backed with good reason, leading player","nonRunner":"","reserved":"","isVacant":"","dateOfBirth":"21Oct17","brt":"30.23","bestTimeGrade":"","bestTimeGradeDate":"","sire":"Farloe Blitz","dam":"Garryglass Ros","birthMonYY":"Oct17","dateOfSeason":"","shortForm":"T6326"}]}}'; $json = json_decode($json, TRUE); print_r($json['card-title']['distance']);
  13. Robson Lopes

    Erro ao abrir Excel

    Eu faço assim e dá certo. Minha aplicação é MVC, então, no Controller está assim: header("Content-type: application/vnd.ms-excel"); header("Content-Disposition: attachment; filename=exportar_canais_vendas_lojas_emissao_{$inicio}_{$fim}.xls"); e na View está assim: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title></title> <meta name="generator" content="LibreOffice 5.1.2.2 (Windows)"/> <meta name="created" content="00:00:00"/> <meta name="changed" content="2016-10-24T15:30:52.002000000"/> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <style type="text/css"> body,div,table,thead,tbody,tfoot,tr,th,td,p { font-family:"Liberation Sans"; font-size:x-small } a.comment-indicator:hover + comment { background:#ffd; position:absolute; display:block; border:1px solid black; padding:0.5em; } a.comment-indicator { background:red; display:inline-block; border:1px solid black; width:0.5em; height:0.5em; } comment { display:none; } </style> </head> <body> <table cellspacing="0" border="0"> <tr> <td>Mês/Ano</td> <?php foreach($lojas as $loja) { echo '<td>Internet '.$loja['Loja']['nome'].' R$</td>'; echo '<td>Itens:</td>'; echo '<td>Televendas Ativo '.$loja['Loja']['nome'].' R$</td>'; echo '<td>Itens:</td>'; echo '<td>Televendas Receptivo '.$loja['Loja']['nome'].' R$</td>'; echo '<td>Itens:</td>'; echo '<td>Balcão '.$loja['Loja']['nome'].' R$</td>'; echo '<td>Itens:</td>'; echo '<td>Pessoa Jurídica '.$loja['Loja']['nome'].' R$</td>'; echo '<td>Itens:</td>'; echo '<td>IFOOD '.$loja['Loja']['nome'].' R$</td>'; echo '<td>Itens:</td>'; echo '<td>RAPPI '.$loja['Loja']['nome'].' R$</td>'; echo '<td>Itens:</td>'; echo '<td>UBEREATS '.$loja['Loja']['nome'].' R$</td>'; echo '<td>Itens:</td>'; } ?> </tr> <?php foreach($categorias as $c => $v) { echo '<tr>'; echo '<td>'.$c.'</td>'; foreach($lojas as $l) { echo '<td>'.str_replace('.', ',', $l['reais'][1][$c]).'</td>'; echo '<td>'.str_replace('.', ',', $l['itens'][1][$c]).'</td>'; echo '<td>'.str_replace('.', ',', $l['reais'][14][$c]).'</td>'; echo '<td>'.str_replace('.', ',', $l['itens'][14][$c]).'</td>'; echo '<td>'.str_replace('.', ',', $l['reais'][15][$c]).'</td>'; echo '<td>'.str_replace('.', ',', $l['itens'][15][$c]).'</td>'; echo '<td>'.str_replace('.', ',', $l['reais'][16][$c]).'</td>'; echo '<td>'.str_replace('.', ',', $l['itens'][16][$c]).'</td>'; echo '<td>'.str_replace('.', ',', $l['reais'][0][$c]).'</td>'; echo '<td>'.str_replace('.', ',', $l['itens'][0][$c]).'</td>'; echo '<td>'.str_replace('.', ',', $l['reais'][18][$c]).'</td>'; echo '<td>'.str_replace('.', ',', $l['itens'][18][$c]).'</td>'; echo '<td>'.str_replace('.', ',', $l['reais'][19][$c]).'</td>'; echo '<td>'.str_replace('.', ',', $l['itens'][19][$c]).'</td>'; echo '<td>'.str_replace('.', ',', $l['reais'][20][$c]).'</td>'; echo '<td>'.str_replace('.', ',', $l['itens'][20][$c]).'</td>'; } echo '</tr>'; } ?> </table> </body> </html> Outra alternativa muito boa é gerar em CSV se o relatório for simples sem formatações. Pois csv abre em qualquer lugar.
  14. Robson Lopes

    Conexão Com ORACLE

    Você precisa instalar uma extensão no seu servidor para conectar com Oracle, pois não é nativo do php fazer conexão com esse banco de dados. Siga as instruções do site da Oracle https://www.oracle.com/technetwork/pt/articles/dsl/instalacao-do-php-instant-client-2106518-ptb.html.
  15. Robson Lopes

    Session HTTPS

    A página de login ainda está em HTTP? Se sim, teste redirecionar para HTTPS antes do usuário fazer o login (para criar a sessão no HTTPS). Mantenha todo o site em HTTPS. Na minha aplicação foi feito assim e não tive esse problema quando mudei para HTTPS.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.