Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

All Activity

This stream auto-updates     

  1. Yesterday
  2. João Vitor Pinheiro

    Ajuda no carrinho de compras PHP

    Preciso de ajuda para alterar o metodo de alterar a quantidade do produto no meu carrinho, meus conhecimentos sobre programação web são bem basicos, preciso finalizar esse projeto para entregar na faculdade, eu implementei um metodo simples de alterar a quantidade, mas acontece um reload cada vez que eu adiciono ou removo mais '1' da quantidade, gostaria que alguem implementasse um metodo em que isso não aconteça no meu codigo, abaixo esta o codigo do meu carrinho: <?php session_start(); if (!isset( $_SESSION['itens'] ) ): $_SESSION['itens'] = array(); endif; if ( isset( $_GET['add'] ) && $_GET['add'] == "carrinho" ): $idProduto = $_GET['id']; if (!isset ($_SESSION['itens'][$idProduto])): $_SESSION['itens'][$idProduto] = 1; else: $_SESSION['itens'][$idProduto] +=1; endif; endif; if ( count( $_SESSION['itens'] ) == 0 ): echo ' <h1>Carrinho vazio</h1>'; else: $_SESSION['dados'] =array(); $conexao = new PDO ('mysql:host=localhost;dbname=meusprodutos',"root", ""); ?> <table > <thead> <th><div align="center" style="font-size:14px; font-family: arial"> <font color="black">Produto </font></th> <th><div align="center" style="font-size:14px; font-family: arial"> <font color="black">Preço </font></th> <th><div align="center" style="font-size:14px; font-family: arial"> <font color="black">Quantidade </font></th> <th><div align="center" style="font-size:14px; font-family: arial"> <font color="black">Subtotal</font></th> <th><div align="center" style="font-size:14px; font-family: arial"> <font color="black">Opções</font></th> </thead> <tbody> <?php $totalcarrinho = 0; foreach ( $_SESSION['itens'] as $idProduto => $quantidade ): $select = $conexao->prepare("SELECT * FROM produtos WHERE id=?"); $select ->bindParam(1, $idProduto); $select ->execute(); $produtos = $select->fetchAll(); $total = $quantidade * $produtos[0]["preco"]; if(count( $_SESSION['itens'] ) == 0 ): $totalcarrinho = 0; else: $tempcarrinho = $totalcarrinho; $totalcarrinho = $tempcarrinho + $total; endif; ?> <tr> <td><div align="center" style="font-size:20px; font-family: verdana"> <font color="white"><?=$produtos[0]["nome"]?></font> </div></td> <td><div align="center" style="font-size:15px; font-family: verdana"> <font color="white"><?=number_format( $produtos[0]["preco"], 2, ", ", "." )?></font></div></td> <td><div align="center"style="font-size:15px; font-family: verdana"> <font color="white" ><a href="remover.php?remover=carrinho&id=<?=$idProduto?>">◄</a> <?=$quantidade?><a href="carrinho.php?add=carrinho&id=<?=$idProduto?>">►</a></font> </div></td> <td><div align="center" style="font-size:15px; font-family: verdana"> <font color="white"><?=number_format( $total, 2, ",", "." )?></font></div></td> <td> <a href="remover2.php?remover=carrinho&id=<?=$idProduto?>">Remover</a> </td> </tr> <?php array_push($_SESSION['dados'], array ('id_produto' => $produtos[0]["nome"], 'quantidade' => $quantidade, 'preco' => $produtos[0]["preco"], 'total' => $total ) ); endforeach; ?> </tbody> </table> <table> <td class="td1"><div align='center' style='font-size:25px;font-family:Verdana'><font color="white">Total <?=number_format( $totalcarrinho, 2, ",", "." )?></font></div></td> </table> <?php echo '<a href="finalizar.php"><button class="button2" type="submit">Finalizar pedido</button></a>'; endif; ?>
  3. Mendes_PT

    Pesquisa entre datas

    Boa tarde, Estou a criar um desenvolvimento que permite visualizar todos os movimentos de stock da referência em uma datagridview. Ate aqui eu consegui colocar tudo a funcionar mas queria ir mais longe. Queria que quando fizesse uma pesquisa a primeira linha da datagridview me mostrasse o saldo anterior dos movimentos. Ou seja desde a primeira data dos movimentos de stock até a data inicial da pesquisa. E na ultima linha o total desde a data inicial ate a data final do filtro. Nao sei se me fiz entender espero que sim. Podem me ajudar se for possível fazer isto?
  4. Zex

    Texto que aparece e oculta

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <HTML> <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=iso-8859-1"> <TITLE> Caminho da Luz </TITLE> </HEAD> <SCRIPT> // muda o estado de invisibilidade de uma zona function toggle(list) { var listElementStyle=document.getElementById(list).style; if (listElementStyle.display=="none") { listElementStyle.display="block"; } else { listElementStyle.display="none"; } } </SCRIPT> <BODY BGCOLOR="#EEEEEE"> <H2 ALIGN="CENTER"> Caminho da Luz </H2> <HR ALIGN="CENTER"> <FONT SIZE="4">Click numa pergunta para mostar/esconder resposta</FONT> <HR> <BR><A onclick="javascript:toggle('t1')"> <FONT color=blue><b> Já fizeste a tua oração hoje? </b></FONT> </A> <SPAN id="t1" style="display:none"> Estás salvo! </SPAN> <BR><A onclick="javascript:toggle('t2')"> <FONT color=blue><b> Estás a sentir um vazio na tua vida? </b></FONT> </A> <SPAN id="t2" style="display:none"> Procura Deus que Deus tapa o buraco! </SPAN> <BR><A onclick="javascript:toggle('t3')"> <FONT color=blue><b> Queres ganhar o totoloto e ser rico? </b></FONT> </A> <SPAN id="t3" style="display:none"> O dinheiro não compra a felicidade! </SPAN> <BR><A onclick="javascript:toggle('t4')"> <FONT color=blue><b> Por é que Deus deixou eu perder tudo o que tinha? </b></FONT> </A> <SPAN id="t4" style="display:none"> Deus quer que procures bens espirituais e não bens materiais! </SPAN> <BR><A onclick="javascript:toggle('t5')"> <FONT color=blue><b> Porque é que Deus deixou ele morrer? </b></FONT> </A> <SPAN id="t5" style="display:none"> Deus é justo. Por isso, isso foi bom para quem morreu ou será bom para a evolução de quem ficou cá na Terra. </SPAN> <BR><A onclick="javascript:toggle('t6')"> <FONT color=blue><b> Porque é que o vizinho está sempre a chatear? </b></FONT> </A> <SPAN id="t6" style="display:none"> É um teste de Deus para testar o teu amor ao próximo. Preferes que o vizinho te chateie? Ou preferes ser amigo do vizinho? </SPAN> <BR><A onclick="javascript:toggle('t999')"> <FONT color=blue><b> Estás feliz? </b></FONT> </A> <SPAN id="t999" style="display:none"> Fica com Deus! </SPAN> <HR> </BODY> </HTML> Esta é a versão HTML. A versão javascript tem o texto dentro de uma variável array. A versão utilizador tem o texto num ficheiro de texto.
  5. O mais simples é invocar a função checkexp() no final das funções myfunc1() e myfunc2()
  6. Há muitas maneiras. Está aqui um exemplo de teste: http://zarsoft.info/software/TMP/Separation5colors/index.html
  7. Zex

    Somar Valor Total

    Não é .Value" é ".value" Sugestão: Usar: <button id="fCalculo" onclick="calc_total()"> Calcular </><br>
  8. Eduarda Pinto

    Impressão de uma factura

    Bom dia, no meu projeto eu gostava de resolver mais um problema que nos códigos de auto incremento dá-me números negativos em vez de positivos!!! Eu gostava de saber como colocar isso corretamente!!
  9. https://www.welookups.com/jquery/jquery_traversing.html
  10. Last week
  11. pedrocerqueira22

    Utilizar Webservices da AT

    Resolvido. Nada de problemas com a at.
  12. pedrocerqueira22

    Utilizar Webservices da AT

    Viva, Alguem com problemas na comunicação em Produção? Atentamente, Pedro Cerqueira
  13. moisés carlos pimenta

    Base de Dados em Access

    Boa tarde Estou a elaborar uma base dados em Access e estou com algumas dificuldades, haverá alguém neste grupo que me pode ajudar. Com os melhores cumprimentos Moisés Pimenta
  14. 999ANDRE999

    Conexão ORACLE asp.net c#

    Boas malta, Tenho uma conexão a uma BD ORACLE. Quando executo o meu código desenvolvido em asp.net c# diretamente do visual studio tudo OK. Quando faço a hospedagem da página web para o IIS do servidor dá o erro: System.Data.OracleClient requires Oracle client software version 8.1.7 or greater. O oracle client está instalado no servidor e mesmo assim não funciona. Alguém consegue ajudar neste problema?
  15. passarito

    Erro na leitura de ficheiros

    Xiiiii , esqueci-me do seek... também já lá vão muitos anos que não trabalho com o Pascal. Good Work @antseq
  16. antseq

    Erro na leitura de ficheiros

    Viva, Se queres começar sempre com um ficheiro (registos) vazio, penso que só precisas disto: {$I-} rewrite(f); {$I+} Se queres manter os registos na sessão anterior, acrescenta o "Seek(f,Filesize(f));" {$I-} reset(f); if ioresult<>0 then rewrite(f); Seek(f,Filesize(f)); {$I+} Cps,
  17. chesser

    GDPR - Discussão Geral (não-técnica)

    Uma notícia sobre a aprovação da proposta de lei que "assegura a execução, na ordem jurídica interna, do Regulamento 2016/679". https://tek.sapo.pt/noticias/negocios/artigos/protecao-de-dados-lei-de-execucao-do-rgpd-esta-aprovada-e-as-multas-podem-chegar-a-20-mil-euros
  18. passarito

    Erro na leitura de ficheiros

    O que me dá a ideia é que ele está sempre a criar o ficheiro de dados. Faz o seguinte para testares: {$I-} reset(f); if ioresult<>0 then begin rewrite(f); writeln('Criei ficheiro'); end else begin writeln('Abri ficheiro'); end; {$I+} Assim vais conseguir saber se o ficheiro foi aberto ou criado de novo
  19. Faustino

    Erro na leitura de ficheiros

    Já tentei mudar os write e os read para writeln e readln e o erro continua o mesmo: Insiro por exemplo pedro, joao e eduardo, clico enter para listar e ele lista os 3 nomes, de seguida listo mais dois nomes, ricardo e gonçalo, e o que acontece quando vai listar é que, so aparece os dois que acabei de inserir e o ultimo que inseri da outra vez.
  20. BHAMF

    Erro na leitura de ficheiros

    Tente mudar ali, quando na leitura, em vez de read, use readln... e nos diga o resultado. e coloque writeln; embaixo do write.
  21. Olá pessoal!!! Podem me ajudar??? Tenho um DataGridView onde ao clicar nas células de determinadas colunas retora o seu texto em uma textbox. Segue o código: Private Sub DgvCE_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles DgvCE.CellClick Dim ColName As String = DgvCE.Columns(e.ColumnIndex).Name If ColName = "ImgEditar" Or ColName = "ImgDeletar" Or ColName = "ImgCE" Or ColName = "ImgPID" Or ColName = "ImgAP" Then TxtLeitor.Text = "" Else '---Quando o usuário clicar em uma célula do DgvCE, exibe o seu conteudo no txtLeitor TxtLeitor.Text = DgvCE.Rows(e.RowIndex).Cells(e.ColumnIndex).Value End If End Sub O problema é que quando clico no CABEÇALHO () ocorre o seguinte erro: System.ArgumentOutOfRangeException: 'O índice estava fora do intervalo. Ele deve ser não-negativo e menor que o tamanho da coleção. Arg_ParamName_Name'
  22. Chamuanza

    Aviso sobre "MSDATASRC"

    Um Bem Aja a todos Tenho uma aplicação feita por mim, para meu uso que agora quando inicio aparece este aviso. Aviso Não é possível localizar o assembly do wrapper para a biblioteca de tipos "MSDATASRC". Verifique se (1) o componente COM está registrado corretamente e (2) sua plataforma de destino é a mesma que a bitness do componente COM. Por exemplo, se o componente COM for de 32 bits, sua plataforma de destino não deverá ser de 64 bits. ChamuanzasAB42012. Qual a melhor maneira de resolver? Estou com o Windows 10 Pro 64bits e Visual Studio2015 Agradeço desde já a atenção
  23. Olá a todos! Estou a construir uma plataforma de música(tipo Spotify), e guardo as informações de login e registo do utilizador na pasta data.json. Para proteger os dados, queria saber se era possível bloquear o acesso a esse ficheiro via web por um IP que não fosse o meu. Aguardo resposta
  24. joaobalaia

    Progrmaçao em linguagem c no linux

    Boa tarde malta, estou com um pequeno problema que não sei bem como resolver. Tenho de fazer um protejo para uma cadeira e a parte do código já a consegui fazer, seguindo alguns passos que foi vendo na net e nas aulas. O meu problema é que agora para fazer o relatório final do protejo necessito de fazer a explicação das linhas de código, e como eu foi vendo na net não sei bem explicar o código em si, espero que alguém me consiga ajudar. Vou deixar aqui o código em baixo e vou ficar a aguardar respostas. //ficheiro: cliente.c #include <stdlib.h> #include <stdio.h> #include <string.h> #include <sys/types.h> #include <sys/socket.h> #include <sys/un.h> #include <unistd.h> int ler_socket(int cliente_socket){ //while(1){ int tamanho; if(read(cliente_socket, &tamanho, sizeof(tamanho)) == 0) return 0; char* mensagem = (char*) malloc(tamanho); read(cliente_socket, mensagem, tamanho); printf("cliente: resposta recebida do servidor--> %s\n", mensagem); if(!strcmp(mensagem, "quit")){ free(mensagem); return 1; } free(mensagem); //} } void escrever_socket(int socketfd, const char* mensagem){ int tamanho = strlen(mensagem) + 1; write(socketfd, &tamanho, sizeof(tamanho)); write(socketfd, mensagem, tamanho); } int main(int argc, char* argv[]){ const char* const nome_socket = argv[1]; //const char* const mensagem = argv[2]; int socket_fd; char mensagem[50]; //scanf("%s", &mensagem); while(1){ gets(mensagem); if(strcmp(mensagem, "start") == 0){ socket_fd = socket(PF_LOCAL, SOCK_STREAM, 0); struct sockaddr_un nome; nome.sun_family = AF_LOCAL; strcpy(nome.sun_path, nome_socket); connect(socket_fd, (struct sockaddr*) &nome, SUN_LEN(&nome)); gets(mensagem); while(1){ gets(mensagem); if(strcmp(mensagem, "ig") == 0){ socket_fd = socket(PF_LOCAL, SOCK_STREAM, 0); struct sockaddr_un nome; nome.sun_family = AF_LOCAL; strcpy(nome.sun_path, nome_socket); connect(socket_fd, (struct sockaddr*) &nome, SUN_LEN(&nome)); escrever_socket(socket_fd, "informatica de gestao"); } } while(strcmp(mensagem, "end") != 0){ escrever_socket(socket_fd, mensagem); ler_socket(socket_fd); gets(mensagem); } close(socket_fd); } } return 0; }
  25. nunopicado

    Erro na leitura de ficheiros

    Não consegui reproduzir o erro... Aqui esse código funciona correctamente sem qualquer alteração.
  26. Faustino

    Erro na leitura de ficheiros

    Fiz este programa em pascal: Program Pzim ; type pessoa=record nome:string; idade:integer; end; var f:file of pessoa; p:pessoa; x:integer; Begin assign(f,'pessoa.dat'); {$I-} reset(f); if ioresult<>0 then rewrite(f); {$I+} repeat write('Insira o nome: '); readln(p.nome); if upcase(p.nome)<>'FIM' then begin write('Idade: '); readln(p.idade); write(f,p); end; writeln; until upcase(p.nome)='FIM'; close(f); reset(f); clrscr; gotoxy(1,1); write('Nome'); gotoxy(35,1); write('Idade'); x:=3; while not eof(f) do begin read(f,p); gotoxy(1,x); write(p.nome); gotoxy(35,x); write(p.idade); x:=x+1; end; close(f); End. Entretanto quando é para listar os dados da lista, alem de o primeiro de sobrepor ao anterior, ele apenas mostra 5 dos dados presentes no ficheiro. Conseguem ajudar? Feito no Pascalzim 6.0.3
  27. achsteum

    Escolher ficheiro e gravar

    CREATE DATABASE imagens_devmedia; CREATE TABLE IF NOT EXISTS `tabela_imagens` ( `codigo` int(10) NOT NULL, `evento` varchar(50) NOT NULL, `descricao` varchar(255) NOT NULL, `nome_imagem` varchar(25) NOT NULL, `tamanho_imagem` varchar(25) NOT NULL, `tipo_imagem` varchar(25) NOT NULL, `imagem` longblob NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; Meu amigo usou esse código em um site chamado Techgara, você pode consultá-lo.
  1. Load more activity
×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.