Todas Atividades
Atualizada automaticamente
- Recentemente
-
albertwilliams se registrou na comunidade
- Hoje
-
Estou usando o ambiente Laravel, HTML <div> e o CSS Tailwind para as visualizações caberem no meu celular Note 10 no modo paisagem. No começo, eu me atrapalhei na hora de usar o Tailwind com o marcador <table>, e assim eu me aventurei com o marcador <div>. O grande problema que eu enfrentei é alinhar a <div>cabecalho</div> com a <div>dados</div>. Só na semana passada é que eu aprendi que só é possível alinhar duas <div> se elas tiverem exatamente o mesmo tamanho. Outro problema é colorir a <div>cabecalho</div>, aqui eu apelei para a improvisação: se <div class="odd:bg-gray-200"> não der certo, então mudar para <div class="even:bg-gray-200">. O Copilot tem várias sugestões para resolver esse tipo de problema, mas eu sinceramente prefiro o velho método da tentativa e erro, claro que o meu método não é lógico, mas é o melhor atalho que eu encontrei para renderizar a página no meu celular no modo paisagem o mais rápido que eu puder. É a famosa política de que os fins justificam os meios: arquivo resources > views > diarioHistorico.blade.php @include('menuView') // define entre outras coisas body {width:630px} <script>btMenu.innerHTML = 'Histórico';document.title = 'Histórico'</script> <div class="flex font-semibold odd:bg-gray-200"> <div class="w-[70px]">Dia</div> <div class="w-[50px] text-right">Lcto</div> <div class="w-[50px] text-right">CtaD</div> <div class="w-[50px] text-right">CtaC</div> <div class="w-[80px] text-right">Valor</div> <div class="w-[328px] ml-2">Histórico</div> </div> @foreach($hist as $h) <div class="flex odd:bg-gray-200"> <div class="w-[70px]">{{dbr($h->dia)}}</div> <div class="w-[50px] text-right"> <a href='diarioEdita?docto={{$h->docto}}' class="text-gray-500 font-semibold"> {{$h->lcto}} </a> </div> <div class="w-[50px] text-right">{{$h->contad}}</div> <div class="w-[50px] text-right">{{$h->contac}}</div> <div class="w-[80px] text-right">{{dec($h->valor)}}</div> <div class="w-[328px] ml-2">{{$h->hist}}</div> </div> @endforeach
- Yesterday
-
Caro Alyson, obrigado pelo retorno. Estive um pouco atarefado esse fim de ano devido as demandas, por isso não retornei antes.. Não, não é freelance! Apenas demanda do setor, eu procuro agilizar as demandas o máximo possível, porém me deparei com essa dúvida. Tentei de algumas formas com a ajuda de IA, porém não prosperou. O entendimento humano, geralmente, é mais assertivo. Estou postando um print com a lógica para ver se ajuda um pouco. Fiquem a vontade para sugerir. Obs. A planilha Caixa é a principal. Desde já... muito grato a todos que puderem contribuir. Segue planilha. Não consigo anexar a planilha.
-
Anthony Charles se registrou na comunidade
-
Ontem, eu tentei fazer um lançamento contábil pelo celular (no modo paisagem), mas na hora de eu chamar o plano de contas percebi que não consegui rolar o plano de contas para baixo, e assim eu vi que é impossível fazer o lançamento contábil pelo celular. Eu não tive escolha, mandei todo o meu código PHP para o Copilot e pedi ajuda. O código tem duas grandes partes. A <div> do plano de contas. E a <div> do lançamento contábil. O Copilot alterou o meu código, acrescentando <div class="overflow-x-auto"> em torno do <div> do lançamento contábil. Isso não faz o menor sentido para mim, mas isso deu certo no celular, conseguir rolar o plano de contas para baixo. arquivo diarioLcto.php <?php include('menuView.php') ?> <script src="https://cdn.tailwindcss.com"></script> <style> input[type="date"]::-webkit-calendar-picker-indicator { display: none} </style> <script> btMenu.innerHTML='<?=$btnMenu?>' document.title='<?=$btnMenu?>' var idControle,Descricao function ir(controle,destino) { idControle=controle Descricao=destino myModal.classList.remove('hidden') } function voltar(texto) { controle=document.getElementById(idControle) destino=document.getElementById(Descricao) controle.value=texto.substr(0,3) tamanho=texto.strlen destino.innerHTML=texto.substr(4,tamanho) myModal.classList.add('hidden') } function fechar() { myModal.classList.add('hidden') } </script> <div class="hidden fixed ml-4 top-15 border-4 border-gray-400 rounded overflow-y-auto max-h-screen" id="myModal"> <?php foreach($ativo as $key=>$row): ?> <div class="flex"> <div class="w-[300px] pl-2 <?= $key%2==0 ? 'bg-gray-300' : 'bg-white' ?>"> <a onclick="voltar(this.innerHTML)"><?=$row->conta." ".$row->descricao?></a> </div> <?php if($key<$contaPassivo): ?> <div class="flex w-[300px] <?= $key%2==0 ? 'bg-gray-300' : 'bg-white' ?>"> <a onclick="voltar(this.innerHTML)"><?=$passivo[$key]->conta." ".$passivo[$key]->descricao?></a> <?php if($passivo[$key]->conta==415): ?> <a onclick=fechar() class=ml-[100px]>Fechar</a> <?php endif; ?> </div> <?php endif; ?> </div> <?php endforeach; ?> </div> <div class="overflow-x-auto"> <?php if(count($produtos)): ?> <div class="flex even:bg-gray-200"> <div style=width:100px class=text-right>Cod</div> <div style=width:400px class=ml-2>Produto</div> <div style=width:50px class=text-right>Qt</div> <div style=width:50px class=text-right>Un</div> <div style=width:100px class=text-right>Total</div> </div> <?php foreach($produtos as $prod): ?> <div class="flex even:bg-gray-200"> <div class="w-[100px] text-right text-gray-500 font-semibold"> <a href="?Produto.alterarItem.<?=$prod->id?>"> <?=$prod->codprod?> </a> </div> <div class="w-[400px] ml-2"><?=$prod->prod?></div> <div class="w-[50px] text-right"><?=virgula($prod->qt)?></div> <div class="w-[50px] text-right"> <a href="?Produto.excluir.<?=$prod->id?>"> <?=$prod->un?> </a> </div> <div class="w-[100px] text-right"><?=dec($prod->custototal)?></div> </div> <?php endforeach; ?> <div class="flex even:bg-gray-200"> <div class='w-[100px] text-right'> <?=date('d/m/y',strtotime($produtos[0]->dia))?> </div> <div class="w-[500px] flex ml-2 white-space-nowrap"> <form method=post action="?Diario.produto"> <input type=submit name=produto value='Produto' class="mr-[10px] text-gray-500 font-semibold py-0 px-1 bg-transparent rounded-lg"> <?php if($somaProdutos!==0): ?> <a href=?Diario.pessoa class="text-gray-500 font-semibold"> <?=$produtos[0]->pessoa?> </a> <?php endif; ?> </form> </div> <div class="w-[200px] text-end font-semibold"><?=dec($somaProdutos)?></div> </div> <?php else: if($btnMenu!=="Novo Lançamento"): ?> <div class="w-[400px] ml-2"> <form method=post action="?Diario.produto"> <input type=submit name=produto value='Produto' class="text-gray-500 font-semibold hover:bg-gray-200 p-1 rounded-lg"> </form> </div> <?php endif; endif; ?> </div> <form action='<?=$comando?>' method="post" class="container rounded-lg mx-auto border border-gray-200 mt-4"> <?php if($btnMenu=="Edita Lançamento"): ?> <div class="py-2"> <a href="?Diario.cria.<?=$consulta->lcto?>" class="text-gray-500 font-semibold"> Acrescentar no lançamento <?=$consulta->lcto?></a> </div> <?php endif; ?> <div class="flex items-center bg-gray-200 mt-3 h-[35px] rounded-lg"> <label for=dia class="block ml-2 mr-14">Dia</label> <input type="date" name="dia" id=dia value=<?=$consulta->dia?> class='w-[90px] text-gray-500 font-semibold bg-transparent border-none rounded-lg p-1 py-0 text-right focus:ring-1 focus:ring-blue-700 focus:outline-none' onclick=this.showPicker()> </div> <div class="flex items-center mt-1"> <label for=lcto class="block ml-2 mr-16">Lçto</label> <input name=lcto id=lcto value='<?=$consulta->lcto?>' size=4 class='border-none rounded-lg text-gray-500 font-semibold p-1 py-0 text-right bg-transparent'> </div> <div class="flex items-center bg-gray-200 mt-1 h-[35px] rounded-lg"> <label for=contad class="block ml-2 mr-10">ContaD</label> <input name=contad id=contad value='<?=$consulta->contad?>' size=4 onclick="ir(this.id,'DescD')" autocomplete=off class='border-none bg-transparent text-gray-500 font-semibold rounded-lg p-1 py-0 text-right focus:ring-1 focus:ring-blue-700 focus:outline-none'> <span id="DescD" class="ml-4 "></span> </div> <div class="flex items-center mt-1"> <label for=contac class="block ml-2 mr-10">ContaC</label> <input name=contac id=contac value='<?=$consulta->contac?>' size=4 onclick="ir(this.id,'DescC')" autocomplete=off class='border-none text-gray-500 font-semibold rounded-lg p-1 py-0 text-right bg-transparent focus:ring-1 focus:ring-blue-700 focus:outline-none'> <span id="DescC" class="ml-4"></span> </div> <div class="flex items-center bg-gray-200 mt-1 mb-1 h-[35px] rounded-lg"> <label for=valor class="block ml-2 mr-12 text-gray-900">Valor</label> <input name=valor id=valor value='<?=dec($consulta->valor)?>' autocomplete="off" class='border-none text-gray-500 font-semibold bg-transparent rounded-lg p-1 py-0 text-right focus:ring-1 focus:ring-blue-700 focus:outline-none' size=5> </div> <div class="flex items-center mt-1 mb-3"> <label for=hist class="block ml-2 mr-3 text-gray-900">Histórico</label> <input name=hist id=hist value='<?=$consulta->hist?>' autocomplete="off" class='border-none text-gray-500 font-semibold rounded-lg p-1 py-0 bg-transparent focus:ring-1 focus:ring-blue-700 focus:outine:none' size=47 > <input type="hidden" name="docto" value="<?=$consulta->docto?>"> <input type="submit" value="Confirmar" class="border-none text-gray-500 font-semibold hover:bg-gray-200 p-1 py-0 ml-2 rounded"> </div> </form>
- Última semana
-
dificil dizer, quem sabe a distro que você esta usando esta implementando wayland e essa parte ainda não esteja totalmente pronta. ou pode ser outra coisa completamente diferente. a base do linux quase sempre é a mesma, mas sempre vai ter uma coletanea de softwares das mais variadas versões
-
Mateusowm começou a seguir Erro ao usar macro mouse e teclado
-
Pessoal tem um jogo que usava macro de mouse no Linux, fiz um script em python e ao apertar uma tecla específica ele executa algumas ações, tava funcionando 100% até o jogo atualizar, me parece que possui um bloqueio para macro, o mouse chega ate o lugar mais o click ou a tecla do mouse não faz efeito (somente na tela do jogo) testei em outra tela e ele funciona, alguém já pegou um bloqueio assim? tem como retirar será? (No Windows funciona)
-
Mateusowm se registrou na comunidade
-
Pessoal tem um jogo que usava macro de mouse no Linux, fiz um script em python e ao apertar uma tecla específica ele executa algumas ações, tava funcionando 100% até o jogo atualizar, me parece que possui um bloqueio para macro, o mouse chega ate o lugar mais o click ou a tecla do mouse não faz efeito (somente na tela do jogo) testei em outra tela e ele funciona, alguém já pegou um bloqueio assim? tem como retirar será? (No Windows funciona)
-
Emma Smith se registrou na comunidade
-
DeshBhagat globalservices se registrou na comunidade
-
ajmanproperties1 alterou sua foto pessoal
-
ajmanproperties1 se registrou na comunidade
-
carlpeterson359 se registrou na comunidade
-
Gurcan Partners se registrou na comunidade
-
A minha função apuração não funciona, então eu pedi ajuda para o Copilot. Mas ele não conseguiu resolver o problema. Na segunda tentativa, o Copilot foi bem mais esperto, ele criou uma rotina para calcular o último ano, se ele não estiver lá, então a função pede a gentileza de incluir o último ano no vetor da apuração: arquivo balancete.php <?php class balancete { function apuracao() { $primeiroDia = (new Conn)->select('dia from tbdiario order by dia')[0]->dia; $ultimoDia = (new Conn)->select('dia from tbdiario order by dia desc')[0]->dia; $anos = []; while (strtotime($primeiroDia) <= strtotime($ultimoDia)) { $anos[] = date('Y', strtotime($primeiroDia)); $data = new DateTime($primeiroDia); $primeiroDia = date_modify($data, '+1 year')->format('Y-m-d'); } $ultimoAno=date('Y',strtotime($ultimoDia)); if(!in_array($ultimoAno,$anos)) { $anos[] = $ultimoAno; } rsort($anos); $meses = ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez']; return view('balanceteApuracao', ['anos' => $anos, 'meses' => $meses]); } }
-
Lily Ava alterou sua foto pessoal
-
Um css para o laptop, outro para o celular e mais um para o tablet
uma questão postou Frank K Hosaka PHP
arquivo appView.php <!DOCTYPE html> <html lang="en"> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"> </script> <script src="https://cdn.tailwindcss.com"></script> <style> @media (min-width: 768px) { .geral {width: 700px; margin: auto; font-size: 16px} } @media (max-width: 767px) { body {width: 630px; margin: auto; font-size: 16px} } @media (min-width: 768px) and (max-width:1024px) { body {width:700px;margin: auto; font-size: 16px}} input[type="date"]::-webkit-calendar-picker-indicator {display: none} summary { list-style:none } </style> <title>Projeto Classe</title> <body class=geral> Esse código é uma tremenda aberração. Eu não queria criar a classe "geral" para formatar o laptop, mas esse é o único jeito que eu encontrei para centralizar a renderização no meio da tela. Se eu escrever body no lugar do .geral, tudo fica encostado na esquerda. Apesar do código não respeitar a lógica, consegui definir o body do celular para 630px e do tablet para 700 px. A minha intuição me diz que o mais sensato é esquecer o laptop, o tablet e o celular, e montar todo o código baseado numa só classe, assim <body class="w-[630px] m-auto"> no jargão da Tailwind. O duro é ter que mexer num monte de views que foram projetados para 700 pixels. -
Feliz Ano novo para você também. O ideal seria entender o que esta acontecendo, até por que com as mudanças de versões algumas funcionalidades vão sendo depreciadas antes de ser desabilitada, isso da tempo para corrigir o código antes das funcionalidades depreciadas serem descontinuadas e o sistema quebrar.
-
O PHP.ini está error_reporting=E_ALL, ou seja, é para considerar todo tipo de erro como acontece na Hostinger. O único jeito é ter paciência, e empurrar a vida com a barriga. Feliz Ano Novo.
-
Alyson Ronnan Martins começou a seguir Comparação entre Planilhas
-
Bom dia @Odlande Borges. Me parece mais um freelance do que uma duvida kkkk. Sim é "simples" porém não fácil ou rápido. Se possível coloque uma planilha com valores fictícios para fazer uma simulação e dai você pode adaptar ao seu projeto real. Abraço.
-
Odlande Borges começou a seguir Comparação entre Planilhas
-
Boa noite, amigos. Tenho duas planilhas - Caixa e Folha. Ambas as planilhas possuem as mesmas colunas, dentre as quais: Contrato, Nome, CPF, Valor. Preciso percorrer toda as linhas da planilha Caixa, verificando, por CPF, por exemplo, se possuem os mesmos contratos na planilha Folha. Caso encontre, na planilha Caixa, algum registro que não esteja na planilha Folha, essa linha deverá ser destacada em verde, na planilha Caixa. Na mesma lógica, caso na planilha Folha, haja algum registro que não esteja na planilha Caixa, a linha deverá ser destacada em vermelho. Por último, caso haja o mesmo Contrato, para o mesmo CPF, em ambas as planilhas, porém o Valor do Contrato tenha sido alterado, a linha deverá ser destacada em amarelo, na planilha Caixa. Creio que seja uma solução, razoavelmente, simples, porém estou há algum tempo sem prática, e se algum de vocês puder me ajudar, ficarei bastante grato. Abrc.
-
Eu estava procurando por outra coisa e por acaso encontrei essa linha que você mensionou. Por um acaso ela esta desta forma na sua instalação? error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT Por que neste caso o ~ nesta parte da configuração esta negando este tipo de comando. ~E_DEPRECATED Neste caso ele esta reportando todos os erros exceto E_DEPRECATED e E_STRICT que tem um ~ no inicio negando a exibição para esse tipo de erro.
- Mais Cedo
-
Eu olhei o arquivo php.ini [apache module] e lá eu vi error_reporting = E_ALL. O mistério ainda continua.
-
rodrigobaleeiro começou a seguir PHP 8.4: a função fputcsv( )
-
Boa noite. O manual do php fala sobre a descontinualidade do parametro escape desta função. https://www.php.net/manual/pt_BR/function.fputcsv.php viso A partir do PHP 8.4.0, depender do valor padrão de escape foi descontinuado. Ele precisa ser fornecido explicitamente tanto por posição quanto pelo uso de argumentos nomeados. O que deve estar acontecendo é que na configuração do PHP no seu notebook, você esta omitindo alguns tipo de erro, enquanto que no servidor Hostinger esta habilitado para exiber o E_DEPRECATED:
-
Boa tarde a todos. Estou com dificuldade para terminar esta função. O problema está no loop dentro do 'if', em particular com a função strcat(), pois ela serve para concatenar duas string, e o que quero é concatenar caracteres, um a um, em uma string(variável e_mail), e em seguida comparar a variável 'e_mail' com as constantes correspondentes aos e-mails(@hotmail.com, etc...). Desde já agradeço a atenção! Segue o código: #include <stdio.h> #include <stdlib.h> #include <string.h> int validarEmail(const char *email){ int cont; int validado = 0; char e_mail[14]; const char* hotmail = "@hotmail.com"; const char* yahoomail = "@yahoo.com.br"; const char* gmail = "@gmail.com.br"; e_mail[0] = '@'; for(cont = 0; cont < strlen(email); cont++){ if(email[cont] == '@'){ for(int cont2 = cont + 1; cont2 < strlen(email); cont2++){ strcat(e_mail, email[cont2]); } if(!strcmp(e_mail, hotmail) || !strcmp(e_mail, yahoomail) || !strcmp(e_mail, gmail)){ validado = 1; break; } } } return validado; } void clearBuffer(void){ char ch; while((ch = getchar()) != '\n' && ch != EOF){} } int main(void){ char email[20]; system("clear"); do{ printf("Digite seu e-mail: "); fgets(email, 20, stdin); clearBuffer(); }while(!validarEmail(email)); return 0; }
-
Jessica Milligan começou a seguir como fazer o pyautogui funcionar em janela de jogo?
-
Buscando me especializar em algo
tópico respondeu ao Thalles Rocha de Gregory B. Robinson em Apresentações
The concept of digitizing calibration processes is truly commendable. I would suggest utilizing Python in conjunction with Flask or Django for the web interface, along with libraries such as ReportLab for generating PDFs, as these tools align well with your requirements. Your initiative evokes the significant impact that digital strategies can have on various industries. As a specialist in digital marketing dissertations topics, I would be eager to collaborate should you consider documenting or further developing your project in an academic context. Wishing you the best of luck with this remarkable endeavor. -
Simplifiquei o código, e só consegui salvar o xlsx com a ajuda do parâmetro FileFormat: Sub teste() Dim ws As Worksheet Dim Filename As String Set ws = ActiveSheet Filename = ThisWorkbook.Path & "\Venda de veículos.xlsx" On Error GoTo ErrorHandler ws.SaveAs Filename:=Filename, FileFormat:=xlOpenXMLWorkbook MsgBox "Arquivo salvo com sucesso como " & Filename Exit Sub ErrorHandler: MsgBox "Erro ao salvar o arquivo: " & Err.Description End Sub
-
kariyid45 começou a seguir Duvida de lógica - Select ou Array_rand
-
O script não está carregando a imagem foto não disponivel como o exemplo: https://www.clarelimoveis.com.br/site/detalhes.asp?lista=busca&id=1604 abaixo segue o codigo alguém poderia corrigir para ser mostrada a imagem de foto não disponivel quando o anuncio não tiver o total de fotos carregadas... <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>C L A R E L I m ó v e i s</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" /> <script src="js/prototype.js" type="text/javascript"></script> <script src="js/scriptaculous.js?load=effects,builder" type="text/javascript"></script> <script src="js/lightbox.js" type="text/javascript"></script> <link href="text.css" rel="stylesheet" type="text/css"> <meta content="Microsoft FrontPage 4.0" name="NewsTime! Jailson Vieira" /> <meta content="FrontPage.Editor.Document" name="ProgId" /> <!--#include file="include.asp"--> <!--#include file="conexao.asp"--> </head> <body bgcolor="#eeeeee" background="body_bg2.jpg" link="#CC0000" vlink="#CC0000" alink="#FF0000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <table width="1000" border="0" align="center" cellpadding="0" cellspacing="0" background="transparente3.png"> <tr> <td height="166" bgcolor="#FFFFFF"> <table width="770" height="166" border="0" cellpadding="0" cellspacing="0" class="text"> <tr> <td width="770" height="166" align="left" valign="top"><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0"> <tbody> <tr> <td width="1909" valign="top" background="bg_header2.png"> <div align="center"><img src="bg_header4.png" width="990" height="199" border="0" usemap="#Map"> <map name="Map"> <area shape="rect" coords="12,29,359,179" href="index.asp"> <area shape="rect" coords="466,85,567,129" href="aluguel.asp"> <area shape="rect" coords="380,86,463,127" href="vendas.asp"> <area shape="rect" coords="569,89,671,127" href="empresa.asp"> <area shape="rect" coords="674,89,864,128" href="empreendimentos.asp"> <area shape="rect" coords="870,86,965,125" href="contato.asp"> </map> <br> </div></td> </tr> <tr> <td valign="top"> <div align="center"></div></td> </tr> <tr> <td valign="top"><div align="center"><br /> <table width="90%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td width="1%"><div align="justify"><font size="2" face="Trebuchet MS"><font color="#003366"></font></font></div></td> <td> <div align="center"> <table width="990" border="0" cellpadding="0" cellspacing="0"> <tr> <td><p><font color="#FFFFFF" size="7" face="Times New Roman, Times, serif"><strong><em><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif">+</font> <font color="#FF3300">V</font><font color="#000000">endas</font></em></strong></font></p> <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td> <% id=Request.querystring("id") lista=Request.querystring("lista") tipo=Request("tipo") mc_id=Request("mc_id") %> <div align="center"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr> <td> </td> </tr> </table> <div align="center"> <center> <table width="100%" border="0" cellpadding="2"> <tr> <td height="19"> <table border="0" cellpadding="0" cellspacing="0" width="100%" background="imagens/barra_pontos.gif"> <tr> <td><img border="0" src="imagens/separar.gif" width="3" height="3"></td> </tr> </table></td> </tr> <tr> <td> </td> </tr> <tr> <td> <!--- /// INÍCIO RESULTADO /// ------> <% Select Case lista Case "busca" set lista_busca = thfDB.Execute("SELECT * FROM anuncios WHERE id="&id&" ") msgnada = "Infelizmente <b>não</b> localizamos nenhum resultado com estas características. <b>Tente buscar com outra Marca e/ou modelo.</b><br><br>" Case Else End Select If lista_busca.EOF Then Response.Write " " & msgnada & " " Else malha1 = "sim" while not lista_busca.EOF busca_id = lista_busca("id") busca_md_nome = lista_busca("md_nome") busca_tipo = lista_busca("tipo") busca_preco = lista_busca("preço") busca_mc_id = lista_busca("mc_id") busca_rev_id = lista_busca("rev_id") busca_ano = lista_busca("ano") busca_cor = lista_busca("cor") busca_descricao = lista_busca("descricao") busca_v = lista_busca("v") busca_prop = lista_busca("prop") busca_tel = lista_busca("tel") busca_age = lista_busca("age") busca_cores = lista_busca("cores") busca_km = lista_busca("km") busca_comb = lista_busca("comb") busca_portas = lista_busca("portas") busca_cambio = lista_busca("cambio") busca_motor = lista_busca("motor") busca_rodas = lista_busca("rodas") busca_img1 = lista_busca("img1") busca_img2 = lista_busca("img2") busca_img3 = lista_busca("img3") busca_img4 = lista_busca("img4") busca_img5 = lista_busca("img5") busca_img6 = lista_busca("img6") busca_img7 = lista_busca("img7") busca_img8 = lista_busca("img8") busca_img9 = lista_busca("img9") busca_img10 = lista_busca("img10") busca_img11 = lista_busca("img11") busca_img12 = lista_busca("img12") set marca = thfDB.Execute("select * from marca where id="&lista_busca("mc_id")&"") while not marca.EOF set busca_foto = thfDB.Execute("select * from revenda where id="&busca_rev_id&"") while not busca_foto.EOF dir = busca_foto("dir") empresa = busca_foto("empresa") telefone = busca_foto("telefone") %> <!--- /// fim marca /// ---> <table width="100%" border="0" cellspacing="1"> <tr> <td width="675" valign="top"> <table width="100%" border="0" cellspacing="0"> <tr> <td> <div align="left"> <table width="100%" height="30" border="0" align="center" cellpadding="0" cellspacing="0"> <tr bgcolor="#FFFFCC"> <td width="40%" bgcolor="#FFFFCC"><div align="right"><font color="#000000"><strong><em><font size="4" face="Times New Roman, Times, serif">- </font></em></strong><em><font size="4" face="Times New Roman, Times, serif">Cidade:</font></em></font></div></td> <td width="2%"><font color="#000000"><strong><em><font size="4" face="Times New Roman, Times, serif"> </font></em></strong></font></td> <td width="58%" bgcolor="#FFFFCC"><font color="#000000"><font size="4" face="Times New Roman, Times, serif">- <%=marca("nome")%></font></font></td> </tr> </table> </div></td> </tr> <tr bgcolor="#FFFFFF"> <td bgcolor="#FFFFFF"> <table width="100%" height="30" border="0" align="center" cellpadding="0" cellspacing="0"> <tr bgcolor="#FFFFEC"> <td width="40%" bgcolor="#FFFFEC"><div align="right"><font color="#000000"><strong><em><font size="4" face="Times New Roman, Times, serif">- </font></em></strong><em><font size="4" face="Times New Roman, Times, serif">Bairro:</font></em></font></div></td> <td width="2%"> </td> <td width="58%"><font color="#000000"><font size="4" face="Times New Roman, Times, serif">- <%if busca_md_nome="0" then%> <%else%> <%=busca_md_nome%> <%end if%> </font></font></td> </tr> </table></td> <center> </center> </tr> <tr bgcolor="#FFFFFF"> <td bgcolor="#FFFFFF"> <div align="left"> <table width="100%" height="30" border="0" align="center" cellpadding="0" cellspacing="0"> <tr bgcolor="#FFFFCC"> <td width="40%" bgcolor="#FFFFCC"><div align="right"><font color="#000000"><strong><em><font size="4" face="Times New Roman, Times, serif">- </font></em></strong><em><font size="4" face="Times New Roman, Times, serif">Tipo:</font></em></font></div></td> <td width="2%"><font color="#000000"><strong><em><font size="4" face="Times New Roman, Times, serif"> </font></em></strong></font></td> <td width="58%"><font color="#000000"><font size="4" face="Times New Roman, Times, serif">- <%if busca_ano="0" then%> <%else%> <%=busca_ano%> <%end if%> </font></font></td> </tr> </table> </div></td> </tr> <tr> <td> <table width="100%" height="30" border="0" align="center" cellpadding="0" cellspacing="0"> <tr bgcolor="#FFFFEC"> <td width="40%" bgcolor="#FFFFEC"><div align="right"><font color="#000000"><strong><em><font size="4" face="Times New Roman, Times, serif">- </font></em></strong><em><font size="4" face="Times New Roman, Times, serif">Dormitórios:</font></em></font></div></td> <td width="2%"> </td> <td width="58%"><font color="#000000"><font size="4" face="Times New Roman, Times, serif">- <%if busca_comb="0" then%> <%else%> <%=busca_comb%> <%end if%> </font></font></td> </tr> </table></td> <center> </center> </tr> <tr> <td> <div align="left"> <table width="100%" height="30" border="0" align="center" cellpadding="0" cellspacing="0"> <tr bgcolor="#FFFFCC"> <td width="40%" bgcolor="#FFFFCC"><div align="right"><font color="#000000"><strong><em><font size="4" face="Times New Roman, Times, serif">- </font></em></strong><em><font size="4" face="Times New Roman, Times, serif">Código:</font></em></font></div></td> <td width="2%"><font color="#000000"><strong><em><font size="4" face="Times New Roman, Times, serif"> </font></em></strong></font></td> <td width="58%"><font color="#000000"><font size="4" face="Times New Roman, Times, serif">- <%if busca_cor="0" then%> <%else%> <%=busca_cor%> <%end if%> </font></font></td> </tr> </table> </div></td> </tr> <tr bgcolor="#FFFFFF"> <td bgcolor="#FFFFFF"> <table width="100%" height="30" border="0" align="center" cellpadding="0" cellspacing="0"> <tr bgcolor="#FFFFEC"> <td width="40%" bgcolor="#FFFFEC"><div align="right"><font color="#000000"><strong><em><font size="4" face="Times New Roman, Times, serif">- </font></em></strong><em><em><font size="4" face="Times New Roman, Times, serif">Endereço:</font></em></em></font></div></td> <td width="2%"> </td> <td width="58%"><font color="#000000"><font size="4" face="Times New Roman, Times, serif">- <%if busca_prop="0" then%> <%else%> <%=busca_prop%> <%end if%> </font></font></td> </tr> </table></td> <center> </center> </tr> <tr bgcolor="#FFFFFF"> <td bgcolor="#FFFFFF"> <div align="left"> <table width="100%" height="30" border="0" align="center" cellpadding="0" cellspacing="0"> <tr bgcolor="#FFFFCC"> <td width="40%" bgcolor="#FFFFCC"><div align="right"><font color="#000000"><strong><em><font size="4" face="Times New Roman, Times, serif">-</font></em></strong><em><font size="4" face="Times New Roman, Times, serif"> Área privativa:</font></em></font></div></td> <td width="2%"><font color="#000000"><strong><em><font size="4" face="Times New Roman, Times, serif"> </font></em></strong></font></td> <td width="58%"><font color="#000000"><font size="4" face="Times New Roman, Times, serif">- <%if busca_km="0" then%> <%else%> <%=busca_km%> <%end if%> M² </font></font></td> </tr> </table> </div></td> </tr> <tr> <td> <table width="100%" height="30" border="0" align="center" cellpadding="0" cellspacing="0"> <tr bgcolor="#FFFFEC"> <td width="40%" bgcolor="#FFFFEC"><div align="right"><font color="#000000"><strong><em><font size="4" face="Times New Roman, Times, serif">- </font></em></strong><em><font size="4" face="Times New Roman, Times, serif">Vagas:</font></em></font></div></td> <td width="2%"> </td> <td width="58%"><font color="#000000"><font size="4" face="Times New Roman, Times, serif">- <%if busca_motor="0" then%> <%else%> <%=busca_motor%> <%end if%> </font></font></td> </tr> </table></td> </tr> <tr> <td> <table width="100%" height="30" border="0" align="center" cellpadding="0" cellspacing="0"> <tr bgcolor="#FFFFCC"> <td width="40%" bgcolor="#FFFFCC"><div align="right"><font color="#FFFFFF"><strong><em><font color="#000000" size="4" face="Times New Roman, Times, serif">- </font></em></strong><em><font color="#FFFFFF"><em><font color="#000000" size="4" face="Times New Roman, Times, serif">Preço:</font></em></font></em></font></div></td> <td width="2%"><font color="#FFFFFF"><strong><em><font size="4" face="Times New Roman, Times, serif"> </font></em></strong></font></td> <td width="58%"><font color="#FFFFFF"><font color="#000000" size="4" face="Times New Roman, Times, serif">-</font><font color="#FF3300" size="4" face="Times New Roman, Times, serif"> <%if busca_preco="0" then%> CONSULTAR <%else%> <%if busca_v="0" then%> R$ <%else%> A partir de R$ <%end if%> <%Session.LCID = 1046%> <%=FormatNumber(busca_preco,2,-1,0,-1)%> <%end if%> </font></font></td> </tr> </table></td> </tr> </table> <div align="justify"> <font size="1" face="Verdana, Arial, Helvetica, sans-serif"> </font> <br> <table width="100%" border="0" cellspacing="0" bordercolor="#eeeeee"> <tr> <td><font color="#333333" size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong><font color="#FFFFFF" size="4" face="Times New Roman, Times, serif"><em><font color="#FF3300">D</font><font color="#000000">etalhes do</font><font color="#FF3300"> I</font><font color="#000000">móvel</font></em></font></strong><font color="#000000"><em><font size="4" face="Times New Roman, Times, serif">:</font></em></font></font><font color="#000000" size="2" face="Trebuchet MS"> <br> <br> <font size="3"> <%if busca_descricao="0" then%> <%else%> <%=replace(busca_descricao, vbcrlf,"<BR>")%> <%end if%> </font></font><font color="#000000" size="3" face="Verdana, Arial, Helvetica, sans-serif"> </font><font size="3" face="Verdana, Arial, Helvetica, sans-serif"> </font></td> </tr> </table> <font size="1" face="Verdana, Arial, Helvetica, sans-serif"> <!---------------------////// DADOS AGENCIA /////////--------------------> </font><span style="text-transform: uppercase"><br> </span></div> <br> <div align="center"><br> </div> <div align="center"><br> <br> </div> <div align="center"></div> <br> </td> <td width="5"><img src="imagens/separar.gif"></td> <!---------------------////// DADOS VEÍCULO /////////--------------------> <td width="122" valign="top"><table border="0" cellspacing="1"> <tr> <td> <%if busca_img1="0" then%> <img src="https://www.clarelimoveis.com.br/site/fotos/indisp.jpg" border="0"> <%else%> <table width="100%" border="3" align="center" cellpadding="0" cellspacing="0" bordercolor="#CCCCCC"> <tr> <td><div align="center"><img src="<%=dir%>/<%=busca_img1%>" width="595" border="0" id='img_ampliada' ></div></td> </tr> </table> <%end if%> </td> </tr> <tr> <td> <table border="0" cellspacing="0" cellpadding="0"> <tr> <%if busca_img1<>"0" and busca_img1<>"" then%> <td> </td> <%end if%> <%if busca_img2<>"0" and busca_img2<>"" then%> <td><img border="0" src="imagens/separar.gif"></td> <td> </td> <%end if%> <%if busca_img3<>"0" and busca_img3<>"" then%> <td><img border="0" src="imagens/separar.gif"></td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <%end if%> </tr> <tr> <%if busca_img4<>"0" and busca_img4<>"" then%> <td> </td> <%end if%> <%if busca_img5<>"0" and busca_img5<>"" then%> <td><img border="0" src="imagens/separar.gif"></td> <td> </td> <%end if%> <%if busca_img6<>"0" and busca_img6<>"" then%> <td><img border="0" src="imagens/separar.gif"></td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <%end if%> <tr> <%if busca_img7<>"0" and busca_img7<>"" then%> <td> </td> <%end if%> <%if busca_img8<>"0" and busca_img8<>"" then%> <td><img border="0" src="imagens/separar.gif"></td> <td> </td> <%end if%> <%if busca_img9<>"0" and busca_img9<>"" then%> <td><img border="0" src="imagens/separar.gif"></td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <%end if%> </tr> <tr> <%if busca_img10<>"0" and busca_img10<>"" then%> <td> </td> <%end if%> <%if busca_img11<>"0" and busca_img11<>"" then%> <td><img border="0" src="imagens/separar.gif"></td> <td> </td> <%end if%> <%if busca_img12<>"0" and busca_img12<>"" then%> <td><img border="0" src="imagens/separar.gif"></td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <%end if%> </tr> </table> <table width="80%" border="0" align="center" cellpadding="2" cellspacing="2"> <tr> <td><div align="center"><a href="<%=dir%>/<%=busca_img1%>"rel="lightbox[plants]"><img src="<%=dir%>/<%=busca_img1%>" border="0" width="88" height="64" ></a></div></td> <td><div align="center"></div></td> <td><div align="center"><a href="<%=dir%>/<%=busca_img2%>"rel="lightbox[plants]"><img src="<%=dir%>/<%=busca_img2%>" border="0" width="88" height="64" ></a></div></td> <td><div align="center"></div></td> <td><div align="center"><a href="<%=dir%>/<%=busca_img3%>"rel="lightbox[plants]"><img src="<%=dir%>/<%=busca_img3%>" border="0" width="88" height="64" ></a></div></td> <td><div align="center"></div></td> <td><div align="center"><a href="<%=dir%>/<%=busca_img4%>"rel="lightbox[plants]"><img src="<%=dir%>/<%=busca_img4%>" border="0" width="88" height="64" ></a></div></td> <td><div align="center"></div></td> <td><div align="center"><a href="<%=dir%>/<%=busca_img5%>"rel="lightbox[plants]"><img src="<%=dir%>/<%=busca_img5%>" border="0" width="88" height="64" ></a></div></td> <td><div align="center"></div></td> <td><div align="center"><a href="<%=dir%>/<%=busca_img6%>"rel="lightbox[plants]"><img src="<%=dir%>/<%=busca_img6%>" border="0" width="88" height="64" ></a></div></td> <td><div align="center"></div></td> </tr> </table> <br> <table width="80%" border="0" align="center" cellpadding="2" cellspacing="2"> <tr> <td><div align="center"><a href="<%=dir%>/<%=busca_img7%>"rel="lightbox[plants]"><img src="<%=dir%>/<%=busca_img7%>" width="88" height="64" border="0" ></a></div></td> <td><div align="center"></div></td> <td><div align="center"><a href="<%=dir%>/<%=busca_img8%>"rel="lightbox[plants]"><img src="<%=dir%>/<%=busca_img8%>" width="88" height="64" border="0" ></a></div></td> <td><div align="center"></div></td> <td><div align="center"><a href="<%=dir%>/<%=busca_img9%>"rel="lightbox[plants]"><img src="<%=dir%>/<%=busca_img9%>" width="88" height="64" border="0" ></a></div></td> <td><div align="center"></div></td> <td><div align="center"><a href="<%=dir%>/<%=busca_img10%>"rel="lightbox[plants]"><img src="<%=dir%>/<%=busca_img10%>" width="88" height="64" border="0" ></a></div></td> <td><div align="center"></div></td> <td><div align="center"><a href="<%=dir%>/<%=busca_img11%>"rel="lightbox[plants]"><img src="<%=dir%>/<%=busca_img11%>" width="88" height="64" border="0" ></a></div></td> <td><div align="center"></div></td> <td><div align="center"><a href="<%=dir%>/<%=busca_img12%>"rel="lightbox[plants]"> <img src="<%=dir%>/<%=busca_img12%>" width="88" height="64" border="0" ></a></div></td> <td><div align="center"></div></td> </tr> </table> <div align="center"><br> <br> <a href="javascript:history.go(-1)"><br> <br> <img src="voltar.png" border="0"></a> </div></td> </tr> <tr> <td> </td> </tr> </table></td> </tr> </table> <% busca_foto.MoveNext Wend busca_foto.Close set busca_foto = Nothing marca.MoveNext Wend marca.Close set marca = Nothing lista_busca.movenext If malha1 = "sim" Then malha1 = "não" Else malha1 = "sim" End If wend End If lista_busca.Close set lista_busca = Nothing %> <!--- /// FIM RESULTADO /// -------> </td> </tr> <tr> <td></td> </tr> <tr> <td height="19"> </td> </tr> <tr> <td></td> </tr> <tr> <td></td> </tr> </table> </center> </div> </div></td> </tr> </table> </td> </tr> </table> </div></td> <td width="1%"><div align="center"></div></td> </tr> </table> </div></td> </tr> </tbody> </table></td> </tr> </table> </td> </tr> <tr> <td align="left" valign="top" bgcolor="#FFFFFF"> </td> </tr> <tr> <td height="66"><div align="center"> <div align="center"> <table width="100%" height="150" border="0" align="center" cellpadding="0" cellspacing="0" background="bg_footer.png"> <tr> <td> <div align="center"> <table width="990" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="173"><div align="left"><font color="#FFFFFF" size="2" face="Trebuchet MS"><a href="vendas.asp">+ VENDAS</a><br> <a href="aluguel.asp">+ ALUGUÉIS</a><br> <a href="empresa.asp">+ EMPRESA</a><br> <a href="empreendimentos.asp">+ EMPREENDIMENTOS</a><br> <a href="contato.asp">+ CONTATO</a></font><br> </div></td> <td width="514"><div align="center"><strong><font color="#CC3333" size="2" face="Trebuchet MS">Redes Sociais</font></strong><br> <br> <table width="101" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="81"><a href="https://www.facebook.com/clarelimoveis/?fref=ts" target="_blank"><img src="facebook.png" width="46" height="47" border="0"></a></td> <td width="69"><img src="twitter.png" width="46" height="47"></td> </tr> </table> <br> </div></td> <td width="303"><div align="left"><font color="#FFFFFF" size="2" face="Trebuchet MS"><strong><font color="#CC3333">© Clarel Imóveis</font><br> Rua João Neves da Fontoura, 746<br> São Leopoldo/RS, Brasil<br> Centro / Cep: <font face="Trebuchet MS"><strong>93010-050</strong></font><br> F: (51) 3037-1500<br> clarel@clarelimoveis.com.br</strong></font></div> </td> </tr> </table> </div></td> </tr> </table> </div> </div></td> </tr> </table> </body> </html>
-
cdn.tailwindcss.com should not be used in production
pergunta respondeu ao Frank K Hosaka de Frank K Hosaka em PHP
O <input type="file"> produz um quadro com a frase "Escolha o arquivo" e ali adiante outra mensagem "nenhum arquivo selecionado". O Copilot me passou uma dica de como esconder a segunda parte do marcador, mas ele escondeu todo o input, no lugar colocou um botão personalizado, e acrescentou um código em JavaScript. Eu achei a dica do Copilot muito trabalhoso, então decidi improvisar por conta própria, usando apenas o Tailwind. Não ficou bom, dá para ver que se trata de gambiarra: <?php include 'menuView.php'; ?> <script>btmenu.innerHTML="Nota Faltante";document.title="Nota Faltante"</script> <script src="https://cdn.tailwindcss.com"></script> <div> <form method="post" enctype="multipart/form-data" action="?Bling.faltanteSelecionado"> <div class="flex"> <input type="file" name="pasta" class="w-[133px] font-semibold" onchange=submit()> <div class="font-semibold bg-gray-200 border-t-2 border-r-2 border-b-2 border-black px-1">zipado da Bling</div> </div> </form> </div> -
Hoje eu usei o cdn da Tailwind no Laravel, e ele funcionou tanto no notebook bem como no Hostinger, só o JavaScript reclamou que eu não deveria usar o cdn. arquivo route > web.php Route::view('/','index'); arquivo reources > views > index.blade.php <!-- esse arquivo pode ser testado no PHP, mas se não mudar o nome do arquivo, terá que executar localhost/index.blade --> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"> <script src="https://cdn.tailwindcss.com"></script> <body class="w-[500px] m-0 m-auto"> <table class="table table-striped"><!-- tabela zebrada com Bootstrap --> <tr><th class="ml-2">Coluna 1<th>Coluna2 <tr><td>2<td>2 <tr><td>3<td>4 </table> <table class="min-w-full"><!-- tabela zebrada com Tailwind --> <tr class="bg-gray-200"><th>Coluna 1<th>Coluna2 <?php for($i=1;$i<=10;$i++): ?> <tr class="odd:bg-gray-200"><td><?=$i?><td><?=$i?> <?php endfor; ?> </table>
-
Consultar Tabela no Access 2019 com chamada de Public Function na Query SQL
pergunta respondeu ao Flavio Costa de Frank K Hosaka em Access
Eu consultei o Copilot, e ele disse que é possível o PERL executar uma macro do Microsoft Access. Ou seja, se a sua consulta funciona no Microsoft Access, você precisa transformar essa consulta numa macro e pedir para o PERL executar a macro: #!/usr/bin/perl use strict; use warnings; use Win32::OLE; # Caminho para o arquivo .mdb my $caminho = 'C:/caminho/para/seu/arquivo.mdb'; # Inicializa o objeto Access my $access = Win32::OLE->new('Access.Application', 'Quit') or die "Não foi possível iniciar o Access: $!"; # Abre o banco de dados my $banco = $access->OpenCurrentDatabase($caminho) or die "Não foi possível abrir o banco de dados: " . $access->LastError(); # Executa a subroutine $banco->RunMacro('NomeDaSubroutine'); # Fecha o banco de dados e o Access $banco->CloseCurrentDatabase(); $access->Quit; Acho que o mais sensato é criar a função calc_idade2 no ambiente do PERL, ou seja, você estuda a fonte original do Access e depois codifica na gramática do PERL. O máximo que dá para fazer com as conexões ODBC é acessar informações contidas nas tabelas e não todos os recursos do Microsoft Access. -
Pluugin Store alterou sua foto pessoal
-
Ontem, eu pedi para a Hostinger usar o PHP 8.4, pois eu não vi nenhum problema aqui no Notebook. Hoje eu aprendi que o Notebook é uma coisa, mas o Hostinger é coisa totalmente diferente. Aqui no Notebook, o seguinte comando gera um arquivo CSV: fputcsv($arquivo, $dados[0]); Mas o PHP 8.4 do Hostinger é diferente, ele reclama que o comando está depreciado e que preciso colocar os parâmetros do $escape, assim: fputcsv($arquivo, $dados[0],',','"','\\'); Eu consegui os parâmetros graças ao Copilot. O meu programa orçamento não gera e nem tem credencial para emitir uma NFC-e, o máximo que eu consegui fazer é montar um pedido nos moldes da Bling, depois vou na Bling, importo o pedido, e em seguida emito a NFC-e. O mais comum é o Cupom Fiscal, mas em São Paulo, você precisa do SAT para autenticar o cupom. Já o NFC-e é a antiga NF Série D, na versão eletrônica, e ele não precisa do SAT para ser autenticado e a Bling não tem uma versão para emitir o Cupom Fiscal. A Bling tem rotina para gerar pedido, mas achei oportuno fazer um Orçamento em PHP para facilitar na hora de usar o tablet ou celular: <?php class Orcamento { function apagarBling($pedido) { (new Conn)->update("tbpedido set bling=null where ped=$pedido"); return $this->inicio($pedido); } function bling($pedido) { $pBling=$_GET['pBling']; $verificar=(new Conn)->select("count(bling) as contagem from tbpedido where bling=$pBling")[0]->contagem; if($verificar) { echo "<h1>Pedido Bling $pBling já foi criado. <a href=?Orcamento.inicio>Voltar</a></h1>"; exit; } (new Conn)->update("tbpedido set bling=$pBling where ped=$pedido"); $contato="Consumidor Final"; $itens=(new Conn)->select("* from tbhistped where ped=$pedido"); $previa=(new Conn)->select("sum(subtotal) as soma from tbhistped where subtotal < 0 and ped=$pedido")[0]->soma; $desconto=$previa ? abs($previa) : 0; $total=(new Conn)->select("total from tbpedido where ped=$pedido")[0]->total; $data=date('d/m/Y',strtotime((new Conn)->select("dia from tbpedido where ped = $pedido")[0]->dia)); $dados = array( array("Número pedido","Nome Comprador","Data","CPF/CNPJ Comprador","Endereço Comprador", "Bairro Comprador","Número Comprador","Complemento Comprador","CEP Comprador","Cidade Comprador", "UF Comprador","Telefone Comprador","Celular Comprador","E-mail Comprador","Produto", "SKU","Un","Quantidade","Valor Unitário","Valor Total", "Total Pedido","Valor Frete Pedido","Valor Desconto Pedido","Outras despesas","Nome Entrega", "Endereço Entrega","Número Entrega","Complemento Entrega","Cidade Entrega","UF Entrega", "CEP Entrega","Bairro Entrega","Transportadora","Serviço","Tipo Frete", "Observações","Qtd Parcela","Data Prevista","Vendedor","Forma Pagamento", "ID Forma Pagamento")); foreach($itens as $item) { if($item->subtotal>0) { $dados[]=array($pBling,$contato,$data,null,null, null,null,null,null,null, null,null,null,null,null, $item->codprod,$item->un,$item->qt,$item->unitario,$item->subtotal, $total,null,$desconto,null,null, null,null,null,null,null, null,null,null,null,null, null,1,$data,null,1, 0); } } $arquivo = fopen("$pBling.csv", "w"); fputcsv($arquivo, $dados[0],',','"','\\'); foreach ($dados as $linha) { if ($linha != $dados[0]) { fputcsv($arquivo, $linha,',','"','\\'); } } fclose($arquivo); if (file_exists("$pBling.csv")) { header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename=' . basename("$pBling.csv")); header('Content-Length: ' . filesize("$pBling.csv")); readfile("$pBling.csv"); unlink("$pBling.csv"); } } function confirmar() { $ped=$_POST['ped']; if(!empty($_POST['dinheiro'])) { $dinheiro=str_replace(',','.',$_POST['dinheiro']); $troco=str_replace(',','.',$_POST['troco']); } else { $dinheiro=0; $troco=0; } if(isset($_POST['cartao'])){$cartao=1;} else {$cartao=0;} if(isset($_POST['pix'])){$pix=1;} else {$pix=0;} if(!empty($_POST['parcial'])) { if($dinheiro!==0) { echo "<script>location.replace('orcamento.php')></script>";exit; } $dinheiro=$_POST['parcial']; $troco=0; } $horavenda=date('Y-m-d H:i'); (new Conn)->update("tbpedido set horavenda='$horavenda',dinheiro=$dinheiro, troco=$troco,cartao=$cartao,pix=$pix where ped=$ped"); return $this->inicio(); } function corrigir($ped) { (new Conn)->update("tbpedido set horavenda=null,horavenda=null,dinheiro=null, troco=null,cartao=0,pix=0 where ped=$ped"); return $this->inicio(); } function excluir($id) { $ped=$_GET['pedido']; (new Conn)->delete("tbhistped where id=$id"); $novoTotal=(new Conn)->select("sum(subtotal) as soma from tbhistped where ped=$ped")[0]->soma; if($novoTotal==null) { $novoTotal='null'; } (new Conn)->update("tbpedido set total=$novoTotal where ped=$ped"); return $this->inicio($ped); } function historicoOrc($hist) { $where=""; if($hist) { $ped=$_SESSION['referencia']+$hist; $where="where ped <= $ped"; } $pedidos=(new Conn)->select("* from tbpedido left join tbpessoa on tbpedido.codp = tbpessoa.codp $where order by ped desc limit 20"); $_SESSION['referencia']=$pedidos[0]->ped; return view('orcamentoHist',['pedidos'=>$pedidos]); } function inicio($pedido = null) { $prod=(new Conn)->select("* from tbprod order by prod"); $maquina=strpos($_SERVER['HTTP_USER_AGENT'],"Windows"); $hoje=date('Y-m-d'); $where=""; if($pedido) { $where="where ped=$pedido"; $vr['codprod']=(isset($_SESSION['codprod'])) ? $_SESSION['codprod'] : null; if($vr['codprod']) { $codprod=$vr['codprod']; $produto=(new Conn)->select("* from tbprod where codprod=$codprod")[0]; $vr['prod']=$produto->prod; $vr['un']=$produto->un; $custo=$produto->custo; $margem=$produto->marg; $vr['preço']=pvenda($custo,$margem); } else { unset($_SESSION['codprod']); $vr=['ped'=>'','diaped'=>$hoje,'totalped'=>'','codp'=>'','pessoa'=>'', 'end'=>'','cnpj'=>'','tel'=>'','nota'=>'','codprod'=>'','un'=>'', 'prod'=>null,'preço'=>'','horavenda'=>'','bling'=>'']; } } $ped=(new Conn)->select("* from tbpedido $where order by ped desc")[0]; $vr['ped']=$ped->ped; $_SESSION['ped']=$ped->ped; $vr['diaped']=$ped->dia; $vr['horavenda']=$ped->horavenda; $vendido=($ped->horavenda) ? true : false; $vr['totalped']=$ped->total; $vr['bling']=$ped->bling; $vr['codp']=$ped->codp; if(isset($_SESSION['codp'])) { $vr['codp']=$_SESSION['codp']; unset($_SESSION['codp']); } if($vr['codp']) { $pessoa=(new Conn)->select("* from tbpessoa where codp=". $vr['codp'])[0]; $vr['pessoa']=$pessoa->pessoa; $vr['end']=$pessoa->end; $vr['cnpj']=$pessoa->cnpj; $vr['tel']=$pessoa->tel; $vr['nota']=$pessoa->nota; } $histped=(new Conn)->select("tbhistped.id,tbhistped.ped, tbhistped.codprod, tbhistped.qt as qt, tbhistped.unitario as unitario, tbhistped.subtotal, tbprod.prod as prod, tbprod.un as un from tbhistped inner join tbprod on tbhistped.codprod = tbprod.codprod and tbhistped.ped = $ped->ped order by tbhistped.id"); return view('orcamentoView',['vr'=>$vr,'histped'=>$histped,'prod'=>$prod, 'maquina'=>$maquina,'vendido'=>$vendido]); } function menu() { unset($_SESSION['codprod']); unset($_SESSION['codp']); unset($_SESSION['pessoa']); return $this->inicio(); } function novo() { $pedido=(new Conn)->select("* from tbpedido order by ped desc")[0]; $ped=$pedido->ped; $total=$pedido->total; if($total!==null) { $ped++; $dia=date('Y-m-d'); (new Conn)->insert("tbpedido (dia,ped) values ('$dia',$ped)"); } return header("location:?Orcamento.inicio.$ped"); } function pedido($pedido) { $_SESSION['ped']=$pedido; return $this->inicio($pedido); } function pessoa($pedido) { $_SESSION['end']="?Orcamento.pessoaSelecionada.$pedido"; if(isset($_GET['codp'])){ $codp=$_GET['codp']; return header("location:?pessoa.inicio.$codp"); } return header("location:?Pessoa.inicio"); } function pessoaSelecionada($pedido) { $codp=$_SESSION['codp']; (new Conn)->update("tbpedido set codp = $codp where ped=$pedido"); return $this->inicio($pedido); } function produto() { $pedido=$_SESSION['ped']; $_SESSION['end']="?Orcamento.inicio.$pedido"; $produto=str_replace(" ","%",$_POST['produto']); $tamanho=strlen($produto); $posicao=strpos($produto,":"); if($posicao==0) { if($produto!=="") { $_SESSION['criterio']="where prod like '%$produto%' order by prod"; } return header("location:?Produto.inicio"); } $_SESSION['codprod']=substr($produto,$posicao+1,$tamanho-$posicao); return $this->inicio($_SESSION['ped']); } function qt() { $qt=deca($_POST['qt']); $codprod=$_SESSION['codprod']; unset($_SESSION['codprod']); if($qt==0 || $qt=='') { return $this->inicio(); } $produto=(new Conn)->select("* from tbprod where codprod=$codprod")[0]; $ped=$_SESSION['ped']; $un=$produto->un; $custo=$produto->custo; $margem=$produto->marg; $unitario=pvenda($custo,$margem); $subtotal=$qt*$unitario; (new Conn)->insert("tbhistped (ped,codprod,un,unitario,subtotal,qt) values ($ped,$codprod,'$un',$unitario,$subtotal,$qt)"); $novoTotal=(new Conn)->select("sum(subtotal) as soma from tbhistped where ped=$ped")[0]->soma; (new Conn)->update("tbpedido set total=$novoTotal where ped=$ped"); return $this->inicio($ped); } }
-
Durante quatro horas fiz vários testes para ver o que eu fiz de errado no código PHP, mas não consegui encontrar nada. Até que eu fui tentar fazer diretamente no terminal, no Workbench MySQL: update tbnf set custoanterior=15.8, e o MySQL reclamou que os dados estavam truncados. Mudei o tipo do campo de float para double para int, mas nada disso resolveu. Finalmente decidi estudar toda a tabela, e dentro do campo codprod encontrei algo assim <b>Ver</ b>, isso é uma gambiarra HTML que eu coloquei dentro de um campo tipo varchar. O Copilot me explicou que o varchar é só para texto puro e que não pode usar o marcador HTML. Para corrigir o problema, ele sugeriu mudar o tipo do campo para TEXT. Eu imaginei que o problema era a consulta, mas acabei descobrindo que a tabela é que estava detonada, algo parecido com o PHP, se você abre um bloco {, o PHP não faz nada se você não fechar o bloco com }. Resumindo, VARCHAR e TEXT é quase a mesma coisa, você só não pode usar marcador HTML no VARCHAR. Agora eu entendo porque é tão difícil estudar o banco de dados.
-
Hoje apareceu uma nota fiscal fora do estado, onde eu tive que calcular o ICMS substituição tributária e o ICMS diferencial de alíquota. Eu fiz o cálculo usando o Excel, e também codifiquei o código no PHP para calcular a mesma coisa. Deu uma diferença de R$ 0,01. O Copilot me ofereceu quatro dicas que não funcionaram. Então, ele apresentou o $epsilon. O Copilot é engenhoso! <?php echo round(76.25*0.18-9.15,2) . "<br>"; echo number_format(76.25*0.18-9.15,2,'.','') . "<br>"; bcscale(2); $parte1=bcmul('76.25','0.18'); echo bcsub($parte1,'9.15') . "<br>"; $parte1 = 76.25 * 0.18; $parte2 = $parte1 - 9.15; echo number_format($parte2,2,'.','') . "<br>"; $epsilon = 0.00001; $valor=76.25*0.18-9.15; echo round($valor + $epsilon,2);
-
Estatísticas dos Fóruns
-
Tópicos152,3k
-
Posts652,5k
-