es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Agregar datos de diferentes columnas en un menú desplegable en JSP.

Entonces, lo que quiero saber es si es posible agregar datos de dos columnas diferentes en un menú desplegable. Para dar un ejemplo, digamos que mi tabla se ve así aquí

Y quiero que mi menú desplegable se vea como esto

Pero no sé cómo cambiar mi código:

“`
<% try{
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/autoshop", "root", "carli2016");
Statement st=conn.createStatement();
String query = "select * from cars";
ResultSet rs = st.executeQuery(query);
%>
<select name="car">
<%
while(rs.next()){
String brand = rs.getString("brand");
String name = rs.getString("name");
%>
<option value="<%=brand %>"><%=brand %></option>
<option value="<%=name %>"><%=name %></option>

<%
}
%>
</select>
“`

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Sí, es posible agregar datos de dos columnas diferentes en un menú desplegable. Para lograr esto, debes concatenar las dos columnas dentro de la consulta SQL y luego usar el valor concatenado como texto para las opciones del menú desplegable.

    Aquí hay un ejemplo de código modificado que lograría el resultado deseado:

    <% try{
        Class.forName("com.mysql.jdbc.Driver");
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/autoshop", "root", "carli2016");
        Statement st=conn.createStatement();
        String query = "SELECT CONCAT(brand, ' ', name) AS option_text FROM cars";
        ResultSet rs = st.executeQuery(query);
    %>
    <select name="car">
    <%
        while(rs.next()){
            String option_text = rs.getString("option_text");
    %>
        <option value="<%=option_text%>"><%=option_text%></option>
    <%
        }
    %>
    </select>
    

    En el código modificado, hemos agregado una cláusula CONCAT para concatenar los valores de las columnas brand y name en un único valor. También le dimos a este valor concatenado el alias de option_text. Luego, en las opciones del menú desplegable, establecemos el texto y el valor de cada opción como el valor de option_text. Esto asegura que el menú desplegable muestre los valores en el formato deseado, al tiempo que te permite utilizar la opción seleccionada como valor en tu código.

Comments are closed.