Preciso de uma sugestão

1 resposta
Sonkinha

Precisava de uma boa sugestão (em java básico porque sou um programador novato) de como irei introduzir algo na base de dados.
Deixem-me explicar melhor:
Quando no meu projecto um utilizador faz login, ele pode efectuar compras. Quando ele carrega no botão "comprar" irão ser enviados dados para a base de dados que consistem em várias informações acerca do usuário. (morada, cod. postal, etc...) O que não envia é o produto que comprou!! E precisava algo que o fizesse.
Agora irei mostrar um pouco do meu código:

Código do login:
<%

       String User=request.getParameter("T2");
       String Pass=request.getParameter("T1");

      java.sql.Connection conn=null;

            String url = "jdbc:mysql://localhost:3306/coiso";
            String user = "root";
            String password = "123";
            String UserMysql = null;
            String PassMysql = null;
            String CodigoPostalMysql = null;

     Statement at;

     Class.forName("com.mysql.jdbc.Driver"); 
     conn = DriverManager.getConnection(url, user, password);
     at = conn.createStatement();

ResultSet rs = at.executeQuery("SELECT NomeUtilizador,Pass,CodigoPostal,NumeroTelemovel,IDRegisto FROM registodeclientes WHERE NomeUtilizador = '"+User+"' AND Pass = '"+Pass+"'");

if(rs.next()){  
  int IDRegisto = rs.getInt("IDRegisto");

 if(IDRegisto==1 ){
        cont++;
        Não interessa esta parte;}

  else {
        cont++;
        UserMysql = rs.getString("NomeUtilizador");
        PassMysql = rs.getString("Pass");
        CodigoPostalMysql = rs.getString("CodigoPostal");
        session.setAttribute("Userd",UserMysql);
        session.setAttribute("CodigoPostald",CodigoPostalMysql);
        session.setAttribute("IDd",IDRegisto);
        %>
        <br><br><br><a href="principal.jsp">Logout</a><% cont=0;}}

 else{
    cont=0;
 out.println("Passord errada ou conta inexistente!!");}
%>
Código onde está botão comprar
<tr>
            <%  st = conn.createStatement();
            xt = "select * from tabelaprodutos where IDA='1' ;";
            rs = st.executeQuery (xt);
            rs.next();%>

        <td width="525" height="206"><center>
                <b><br><%out.print(rs.getString("MarcaeModelo"));%></b>
                <img border="0" id="img7" src="images/arrefecimento/1.png" width="200" height="120">
                
                <a target="principal" href="Comprar.jsp">
        <img border="0" id="img7" src="images/comprar/button15.png" height="20" width="100" alt="Comprar" onmouseover="FP_swapImg(1,0,/*id*/'img7',/*url*/'images/comprar/button16.png')" onmouseout="FP_swapImg(0,0,/*id*/'img7',/*url*/'images/comprar/button15.png')" onmousedown="FP_swapImg(1,0,/*id*/'img7',/*url*/'images/comprar/button17.png')" onmouseup="FP_swapImg(0,0,/*id*/'img7',/*url*/'images/comprar/button16.png')" fp-style="fp-btn: Metal Capsule 3; fp-orig: 0" fp-title="Comprar"></a><br><br>
                <b><%out.print(rs.getString("Preco"));%>?</b></center></b>
    </tr>
Código onde é efectuado o "processamento" das compras
<%                        
            java.sql.Connection conn = null;

            String url = "jdbc:mysql://localhost:3306/coiso";
            String user = "root";
            String password = "123";
            Statement st;
            String xt;

            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection(url, user, password);

          Integer id = (Integer) session.getAttribute("IDd");
          String Userd = (String) session.getAttribute("Userd");
          String CodigoPostald = (String) session.getAttribute("CodigoPostald");
            if (id == 1 ){
                out.println("Esta parte não interessa");
            return;}         

              if (id!=1){
                  out.println("Compra efectuada com sucesso");

            st = conn.createStatement();
            xt = "Insert into tabelacompras (NomeUtilizador, CodigoPostal) values ('"+Userd+"', '"+CodigoPostald+"');";

            st.executeUpdate(xt);
            conn.close();};%>

Eu estava a pensar em algo tipo, que quando carregasse-mos no botão comprar enviava para a página do processamento de compras os dados da "tabelaprodutos" onde o IDA='1'.
Um post não vai poder ser porque não quero inserir nada manualmente. Alguém tem alguma sugestão?

1 Resposta

kenneth

Fala brow,

Geralmente, quando se trata de compras, usam-se sessoes.
Quando um usuario faz login, abre-se uma sessao, e nela sao guardadas informacoes da navegacao
deste usuario.
Quando ele clica em “comprar”, voce poderia adicionar este produto a um carrinho (ArrayList de produtos, por exemplo),
e salva-lo na sessao.
So quando ele clicar no “Finalizar pedido”, voce poderia pegar as informacoes da sessao, e gravar no banco.

Fica a sugestao: Sessoes :smiley:

Abraco

Criado 14 de abril de 2011
Ultima resposta 14 de abr. de 2011
Respostas 1
Participantes 2