Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/05/2011, 09:30
alexander01015
 
Fecha de Ingreso: mayo-2011
Ubicación: Lima
Mensajes: 89
Antigüedad: 12 años, 11 meses
Puntos: 0
otra forma de mostrar datos en tabla html

Holas a todos los miembros soy nuevo en el foro quisiera que me ayuden con un problemilla que tengo q a continuacion paso a explicar..
Tengo 2 tablas proyecto y fases las cuales tan relacionadas de 1 a muchos respectivamente ...

Código HTML:
<%

 Vector regs=Sql.consulta("SELECT Id_Proyecto,Nombre_Proyecto,Nombre_Fase from T_Proyecto inner join M_Fase on T_Poryecto.Id_Proyecto=M_Fase.Id_Proyecto);
        
        if(regs==null) {
		out.println("<h3>No hay acceso a la base de datos</h3>");

	} else {
		out.println("<h3>Listado de Proyectos</h3>");
		out.println("<table border=2 width='100%'  cellspacing=1>");
                out.println("<th>Código</th>");
                out.println("<th>Nombre   </th>");
		for(int fils=0; fils<regs.size(); ++fils) {
               
			String[] unaFila= (String[]) regs.get(fils);

			for(int cols=0; cols<unaFila.length; ++cols) {
				if(fils==0) {	// los títulos
					//out.println("<td><font color=red><b>" + unaFila[cols] + "</b></font></td>");
					if(cols==(unaFila.length - 1))
                                            out.println("<td><font color=red><b>acci&oacute;n</b></font></td>");
				} else {
                                            // los registros
					out.println("<td>"+unaFila[cols]+"</td>");
                                    //out.println("<td>" + (unaFila[cols].length()!=0 ? unaFila[cols] : "&nbsp;") + "</td>");
					if(cols==(unaFila.length-1)) {	// en fila[0] está el ID
						out.println("<td>&nbsp;&nbsp;&nbsp;<a href='ProyectoUPD.jsp?Id_Proyecto=" + unaFila[0] + "'><img src='../images/upd.gif' border=0 title='Editar'></a>");
						out.println("&nbsp;&nbsp;&nbsp;&nbsp;<a href='ProyectoDEL.jsp?Id_Proyecto=" + unaFila[0] + "'><img src='../images/del.gif' border=0 title='Eliminar'></a></td>");
					}
				}
			}
			out.println("</tr>");
		}
		out.println("</table>");
	}
                
  
%> 
Eso me muestra algo como esto:

Nombre de Proyecto|Nombre de Fase|
Proyecto 1 | Fase 1|
Proyecto 2 | Fase 1|
Proyecto 1| Fase 2|

Y lo que quiero hacer es que lo muestre de la siguiente manera..

Proyecto 1|Fase 1|Fase 2|
Proyecto 2|Fase 1|
Proyecto 3|Fase 1|Fase 2|Fase 3|Fase n...|

Adjunto mi metodo consulta:

Código HTML:
static public Vector consulta(String sql) {
        Vector regs = new Vector();
        
        try	{
            ConectaDB 		db = new ConectaDB();
            Connection		cn = db.getConnection();
            
            if (cn == null) {
            	regs = null;
            } else {
	            Statement  		st = cn.createStatement();
	            ResultSet		rs = st.executeQuery(sql);
	            ResultSetMetaData	rm = rs.getMetaData();
	            int 		numCols = rm.getColumnCount();
	            
	            // Toma los títulos de las columnas
	            String[] titCols= new String[numCols];
	            for(int i=0; i<numCols; ++i)
	                titCols[i]= rm.getColumnName(i+1);
	            
	            // la fila 0 del vector lleva los títulos de las columnas
	            regs.add(titCols);
	            
	            // toma las filas de la consulta
	            while(rs.next()) {
	                String[] reg= new String[numCols];
	                
	                for(int i=0; i<numCols; i++) {
	                    reg[i] = rs.getString(i + 1);
	                }
	                
	                regs.add(reg);
	            }
	            
	            rs.close();
	            st.close();
	            cn.close();
            }
            
        } catch(SQLException e) {
            regs= null;
        } catch(Exception e) {
            regs= null;
        }
        
        return regs;
    }
De antemano les agradesco por su ayuda que me brinde y por el tiempo que se tomen en leer este tema .. gracias..