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ón</b></font></td>");
} else {
// los registros
out.println("<td>"+unaFila[cols]+"</td>");
//out.println("<td>" + (unaFila[cols].length()!=0 ? unaFila[cols] : " ") + "</td>");
if(cols==(unaFila.length-1)) { // en fila[0] está el ID
out.println("<td> <a href='ProyectoUPD.jsp?Id_Proyecto=" + unaFila[0] + "'><img src='../images/upd.gif' border=0 title='Editar'></a>");
out.println(" <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..