Foros del Web » Programación para mayores de 30 ;) » Java »

Formularios + Base de datos

Estas en el tema de Formularios + Base de datos en el foro de Java en Foros del Web. Hola, tengo una tabla en una base de datos. Mediante el siguiente codigo muestro el contenido de dicha tabla en un navegador web. out.println("<form action=recibecheck.jsp ...
  #1 (permalink)  
Antiguo 13/05/2008, 11:54
 
Fecha de Ingreso: abril-2008
Mensajes: 23
Antigüedad: 16 años
Puntos: 0
Formularios + Base de datos

Hola, tengo una tabla en una base de datos. Mediante el siguiente codigo muestro el contenido de dicha tabla en un navegador web.

out.println("<form action=recibecheck.jsp method=get enctype=multipart/form-data>");
out.println("<table>");
out.println("<table border=\"1\"><tr><td>Id</td><td>Genero</td></tr>");
while (rs.next())
{
out.println("<tr>");
String k = rs.getString("name");
out.println("<td>"+"<input type=checkbox name=prueba value =valor_variab>");
out.println("<td>"+k+"</td>");
out.println("</tr>");
}
out.println("</table>");
conexion.close();
}
else
out.println("fallo");
}
catch (Exception e)
{
out.println("Excepcion "+e);
e.printStackTrace();
}
out.println("
<tr>
<td colspan=2><input type=submit value=enviar name=enviar></td></tr>");
out.println("</table>");
out.println("</form>");


En cada iteracion me pinta una fila de la tabla, a la cual le añado un checkbox.
Lo que me gustaria hacer poder seleccionar una de las filas, quedarme con el contenido de la fila y pasarlo a otro jsp al darle al boton enviar. Lo que quiero pasar lo almaceno en cada iteracion en la variable k. No se como hacer para pasar ese valor al otro jsp, ¿se podria almacenar en el campo value de cada checkbox? ¿se almacenaria correctamente?

Muchas gracias por cualquier ayuda que pueda recibir.

Un saludo
  #2 (permalink)  
Antiguo 13/05/2008, 12:10
Avatar de Lino-kun  
Fecha de Ingreso: mayo-2008
Ubicación: Cuernavaca Morelos Mexico
Mensajes: 126
Antigüedad: 15 años, 11 meses
Puntos: 2
Re: Formularios + Base de datos

A ver como que no se te entiende mucho, a lo que puedo entender es que quieres que cuando le des clic en un checkbox ese valor se guarde y en otro jsp lo obtengas, es mas como son checkbox puedes obtener mas de un valor. pero no se si sea eso lo que quieres si es eso yo puedo ayudarte pero responde si es esto lo que deseas.
  #3 (permalink)  
Antiguo 13/05/2008, 12:20
 
Fecha de Ingreso: abril-2008
Mensajes: 23
Antigüedad: 16 años
Puntos: 0
Re: Formularios + Base de datos

Hola, en primer lugar gracias por tu respuesta.

Intentare ser mas claro.

En la base de datos tengo una tabla que contiene nombres de libros.

En el navegador muestro el contenido de la tabla que tengo en la base de datos. En cada una de las filas tengo un checkbox.

Lo que quiero hacer es que cuando marque el checkbox y le de al boton enviar se mande al archivo que recibe los datos del formulario el nombre del libro cuyo checkbox he marcado.

Espero haberlo explicado mejor,

Muchas gracias y un saludo
  #4 (permalink)  
Antiguo 13/05/2008, 12:36
Avatar de Lino-kun  
Fecha de Ingreso: mayo-2008
Ubicación: Cuernavaca Morelos Mexico
Mensajes: 126
Antigüedad: 15 años, 11 meses
Puntos: 2
Re: Formularios + Base de datos

jeje Esta bien así esta mas claro. te comento un principio algo si usas JSP y Servlets de manera tradicional existe una instrucción llamada requets.setParameter("nombre parametro", parametro);
y otra que se llama request.getParameter("nombre parametro"); la primera establece un parámetro y la segunda lo recupera. en otro contexto cuando no deseas mandar un objeto String puedes usar request.setAttribute("nombre objeto", objeto), y después en otro recupéralo igual por ejemplo List lista=(ArrayList)request.getAttribute("nombre objeto"). Para tu caso solo necesitas las dos primeras o mejor dicho solo la segunda de las dos primeras.

Esta instrucción esta algo mal
<input type=checkbox name=prueba value =valor_variab> por que asi parecen valores constantes y eso no lo necesitas necesitas algo como esto

out.println("<td>"+"<input type=\”checkbox\” name=\”prueba\” value =\””+k+”\”>");

en el otro jsp usa la instruccion request.getParameter("prueba") que es el nombre de tu objeto checkbox lo que hara el compilador es recuperar el valor del checkbox
  #5 (permalink)  
Antiguo 13/05/2008, 13:07
 
Fecha de Ingreso: abril-2008
Mensajes: 23
Antigüedad: 16 años
Puntos: 0
Re: Formularios + Base de datos

Muchisimas gracias, creo que es justo lo que estaba buscando. En el momento en que se quede libre el ordenador que suelo utilizar para esto lo pruebo.

Espero que el proximo mensaje sea para confirmar el exito de tu consejo.

Un saludo!
  #6 (permalink)  
Antiguo 13/05/2008, 13:46
Avatar de Lino-kun  
Fecha de Ingreso: mayo-2008
Ubicación: Cuernavaca Morelos Mexico
Mensajes: 126
Antigüedad: 15 años, 11 meses
Puntos: 2
Re: Formularios + Base de datos

hola de nuevo un ligero cambio no existe el request.setParameter jeje una disculpa, pero usa el request.getParameter como ya lo comentamos.
  #7 (permalink)  
Antiguo 14/05/2008, 00:43
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: Formularios + Base de datos

Para evitar tener que hacer dos acciones, ¿no seria mas facil hacer que el nombre del libro mismo fuera un enlace y que al darle te llevara a donde quieres pasandole el nombre del libro, o el codigo que suele ser mas norma,l como parametro?

Asi con un click, solucionado para el usuario. SOlo tendrias que hacer un enlace del tipo recibecheck.jsp?libro=nombre_codigo para cada libro.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #8 (permalink)  
Antiguo 14/05/2008, 11:22
 
Fecha de Ingreso: abril-2008
Mensajes: 23
Antigüedad: 16 años
Puntos: 0
Re: Formularios + Base de datos

Muchas gracias Lino-kun, funciona perfectamente!

Lo que me gustaria llegar a comprender es porque hay que poner esa sintaxis, ahora que se como hacerlo me gustaria comprenderlo.

Muchas gracias y un saludo!
  #9 (permalink)  
Antiguo 14/05/2008, 11:54
Avatar de Lino-kun  
Fecha de Ingreso: mayo-2008
Ubicación: Cuernavaca Morelos Mexico
Mensajes: 126
Antigüedad: 15 años, 11 meses
Puntos: 2
Re: Formularios + Base de datos

Mi estimado francisco que tal la bella España.

Bueno la sintaxis es por que algo que no se puede ver a veces a simple vista es como viaja la información entre páginas, el request es la forma en que se pueden recuperar información entre peticiones. Por ejemplo cuando tu tienes un formulario con varios objetos por ejemplo un text con el nombre de “direccion” al mandar la información a otra página esta puede recuperarla con un
Código PHP:
request.getParameter(“direccion”); 
Por que la página anterior mando ese text como un parámetro. Cuando en un formulario trabajas con objetos estos deben tener un nombre para que con el request puedas recuperar su información ahora la sintaxis

Código PHP:
out.println("<td>"+"<input type=\"checkbox\" name=\"prueba\" value =\""+k+"\">"); 
lo que hace es concatenar una cadena con variables. En este caso tu variable k. este objeto de tipo checkbox tienen el nombre de prueba y lo recuperas desde otra página con
Código PHP:
request.getParameter(“prueba”). 
Saludos desde Mexico

Lino
  #10 (permalink)  
Antiguo 14/05/2008, 11:58
 
Fecha de Ingreso: abril-2008
Mensajes: 23
Antigüedad: 16 años
Puntos: 0
Re: Formularios + Base de datos

De nuevo, gracias.

Para mi, profano en la materia, al principio todo esto es un poco ininteligible, pero poco a poco se superan los obstaculos.

Ya tengo el siguiente a la vista, a ver que tal...

Un saludo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:23.