Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Invio di un array attraverso un form

    salve a tutti

    per un esame sto creando un sito di vendita d riviste online con eclipse
    e ho un problema nella pagina del carrello.
    alla fine di tutto vorrei memorizzare tutto ciò che il mio cliente ha acquistato, nel database,cioè la parte dei dati che mi interessa è quella che mi da' l'ultimo for(la parte in verde)
    purtroppo nn ho molta dimestichezza con gli array..ho provato con due opzioni:

    1.metter il form fuori dal for ma così perdo tutti i valori che aggiunge ad ogni ciclo
    2..mettere il form dentro il for????e tutte le volte richiamare il valore nell'altra pagina?(e se poi prima di comprare decide di cambiare la quantità della rivista selezionata?io ho già inviato i dati al db...)
    3..creare una Map?e memorizzarla in una variabile di sessione x poi passarla alla pagina di BackEnd?(lo stesso metodo usato x inviare i dati a QUESTA pag)
    ..uff....help!:)

    la pagina è questa
    (la parte incriminata è quella in viola, le righe in rosso sono sbagliate...qta è la quantità e idp è la chiave del prodotto
    scusate se è un po' lunga ma ho lasciato i commenti fatti a lezione!!!

    un grazie grazierrimo a chi vorrà/saprà aiutarmi!

    codice:
    java.util.ArrayList righe = (java.util.ArrayList)session.getAttribute("carrello");
    //recupero il carrello che ho in sessione
    
    String lista_ID = "";
    //indipenmdentemente dal numero di prodotti, cicla ogni prodotto.Il numero di elementi è memorizzato in "size"
    
    for(int t=0; t<righe.size(); t++){
    	java.util.HashMap riga = (java.util.HashMap) righe.get(t);
    	String qta = (String)riga.get("qta");//della "riga" mi dà il valore che ho chiamato qta
    	String idp = (String)riga.get("idp");
    //qui sotto c'è la listaID, dei prodotti che poi andrò a richiamare nel DB
    	if(lista_ID.equals("")){
    		lista_ID = "'" + idp + "'" ;
    	}else{
    		lista_ID += ", " + "'" + idp + "'" ;
    	}
    }
    //recupero i nomi dei singoli prodotti,allora accedo al db
    String SQL = "SELECT * from rivista where codice in (" + lista_ID + ");" ;
    
    //seleziona tutte le colonne dalla tab prodotti dove il valore di id è compreso in una lista che vado ad indicargli(listaID)
    
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    String DBConnection = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=" + application.getRealPath("/WEB-INF/casaeditrice.mdb");
    java.sql.Connection conn = java.sql.DriverManager.getConnection(DBConnection, "", "");
    java.sql.PreparedStatement ps = conn.prepareStatement(SQL);
    java.sql.ResultSet rs = ps.executeQuery();
    
    //poi visualizzo i risultati:
    
    while (rs.next()) {
    	out.print("<tr>");
    	out.print("<td>" + rs.getString("nome") + "</td>");
    	out.print("<td>" + rs.getDouble("prezzo_scontato") + "</td>");
    	String idDB =rs.getString("codice");
    	
    	for(int t=0; t<righe.size(); t++){
    		java.util.HashMap riga = (java.util.HashMap) righe.get(t);
    		String idp = (String)riga.get("idp");
    	    String qta = (String)riga.get("qta");
    			if( idp.equals( idDB )){
    				out.print("<td>");
    			   out.print(qta);
    				out.print("</td>");
    				out.print("<td>");
    				out.print(idp);
    				out.print("</td>");
    			}
    	}
    	out.print("</tr>");
    }
    out.print("</table>aggiungi altro");
    
    out.print("<form action='OrdiniBE.jsp' method='post'>");
    out.print("<input type='hidden' name='qta' value='"  + (String)riga.get("qta") + "'>");
    out.print("<input type='hidden' name='idp' value='"  + (String)riga.get("idp") + "'>");
    out.print("
    ");
    out.print("<input type='submit' value='FINE'>");
    out.print("</form>");
    
    

  2. #2
    up!

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Sicuro che sia javascript a prima vista sembrerebbe + jsp? Nel coso che mi sbagli e il problema risieda nel javascript posta la pagina come la riceve il browser (html) e anche un link che si fa prima a fare una copia per eventuali prove (in locale).
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    la conversiona in stirnga non è sufficiente.

    Java, che non è JavaScript (ma ancora fanno questi orripilanti errori i prof dell'Uni italiana? ma in cosa vi laureate?), accetta array via form sotto forma di query string strutturata in questo modo:
    pagina.jsp?a=1&a=2&a=3&a=4

    nella pagina.jsp riceverai via post, o get, a seconda, il singolo valore di a, l'ultimo assegnato, il 4, oppure tramite il metodo apposito tutte le a inviate sotto forma di array (o magari è una List, chi può dirlo nel forum JavaScript ...)
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.