Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Aiuto per query select

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    9

    Aiuto per query select

    Ciao a tutti! Premetto che sono mooolto inesperto in programmazione, tuttavia sto pian piano riuscendo a creare un sito web molto semplice. Mi sono bloccato però su questo problema:
    in pratica ho un db mysql con una tabella, una pagina jsp che continene un form di ricerca la cui action rimanda ad un'altra pagina jsp che contiene le istruzioni per ricercare i dati nel db.
    Si tratta di 2 query alternative. In parole povere devo effettuare una ricerca per città (dato obbligatorio) e per attività (dato opzionale), ho quindi creato una prima query che effettua la ricerca nel caso in cui l'utente specifichi entrambi i dati ed una seconda che interviene nel caso in cui sia inserito solo il dato obbligatorio (città). La pagina in linea di massima funziona, l'unico problema è che entrambe le query mi restituiscono solo il primo dato della tabella. Se ho la stessa attività nella stessa città presente in due righe del db o due attività nella stessa città, il risultato della query è sempre il primo dato.
    Vi posto il codice della pagina sperando che qualcuno possa aiutarmi

    <%
    String citta = new String();
    citta = request.getParameter("citta");
    String attivita = new String();
    attivita = request.getParameter("attivita");
    Connection dbconn = null;

    // carica il file di classe del driver
    // per il collegamento al database
    Class.forName("com.mysql.jdbc.Driver");

    // apre la connessione con il database
    dbconn = DriverManager.getConnection("jdbc:mysql://localhost/test?user=root&password=admin");

    // manda in esecuzione l'istruzione SQL
    Statement statement = dbconn.createStatement();
    String select_query = ("SELECT nick, attivita, citta, tipo, voto, commento from opinioni WHERE opinioni.citta = '" + citta + "' and opinioni.attivita = '" + attivita + "'");
    ResultSet rs = statement.executeQuery(select_query);
    String result = "";
    String result1 = "";
    String result2 = "";
    String result3 = "";
    if (rs.next()) {
    result = rs.getString("attivita");
    result1 = rs.getString("citta");
    result2 = rs.getString("tipo");
    result3 = rs.getString("commento");
    }
    else {
    String select_query1 = ("SELECT nick, attivita, citta, tipo, voto, commento from opinioni WHERE opinioni.citta = '" + citta + "'");
    ResultSet rs1 = statement.executeQuery(select_query1);
    if (rs1.next()) {
    result = rs1.getString("attivita");
    result1 = rs1.getString("citta");
    result2 = rs1.getString("tipo");
    result3 = rs1.getString("commento");
    } else {
    out.println("Utente non trovato");
    }
    }

    %>

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSP Page</title>
    </head>
    <body>

    <p align="center"></p>
    <p align="center"></p>
    <p align="center"><font color="#FFFFFF" face="Arial Black" size="4">DESCRIZIONE
    AUTO</font></p>
    <p align="center"><td><textarea name="commento" rows="8" cols="37"><%=result3%> <%=result1%> <%=result2%> <%=result%></textarea></td></tr>

    </p>



    </p>


    </p>


    </p>


    </p>


    </p>


    </p>

    </body>
    </body>
    </html>

  2. #2
    Ciao,

    questa sezione del forum riguarda le richieste relative all'SQL e/o a problemi con il backend dati/rdbms

    Ora, mentre all'interno del tuo codice sono presenti delle Query, c'è anche TUTTO il resto del codice!

    Gentilmente riformula il tuo quesito postando SOLO il codice SQL senza o con strettamente il minimo necessario del codice JSP (mi riferisco tipo alle variabili che inserisci nell'SQL) ma null'altro!

    Questo anche per te stesso, perché non tutti quelli che frequentano questa sezione del forum conoscono JSP o lo capiscono e quindi hai MOLTE meno risposte!

    Chiudo il thread, riaprlo a norma gentilmente.

    Per qualsiasi domanda e/o dubbio sono a tua disposizione tramite messaggi privati.
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

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.