Os cuento, A la hora de recuperar una gran cantidad de filas de una BBDD es recomendable usar el patron "Page by Page Iterator" para mostrar el resultado ordenadamente en los grupos de filas deseados. He estado buscando información y toda la que encontré al respecto es un poco confusa.
Alguien ha trabajado con este patrón o tiene algún ejemplo a mano??
A ver si con el codigo de las clases podemos hacer algo mas:
La consulta que me devuelve el select la almaceno en una lista de la siguiente manera:
Código PHP:
public List<Citas> listarProductosComprados(Citas cita0) {
String consultaString = null;
PreparedStatement consulta = null;
ResultSet resultado = null;
listaProductosComprados = new ArrayList<Citas>();
try {
// Apertura de la conexion
conexion = super.getConnection();
consultaString = "SELECT * FROM compra JOIN productos on compra.idProducto=productos.idProducto WHERE dniPaciente=? order by fecha";
consulta = conexion.prepareStatement(consultaString);
consulta.setString(1, cita0.getDniPaciente());
// Ejecución de la consulta
resultado = consulta.executeQuery();
// Almacenamos el resultado en una lista
while (resultado.next()) {
Citas cita = new Citas();
cita.setDniPaciente(resultado.getString("dniPaciente"));
cita.setIdCompra(resultado.getInt("idCompra"));
cita.setFecha(resultado.getString("fecha"));
cita.setNombre(resultado.getString("nombre"));
cita.setPrecio(resultado.getFloat("precio"));
cita.setNumSesiones(resultado.getInt("numSesiones"));
cita.setNumSesionesRestantes(resultado.getInt("numSesionesRestantes"));
listaProductosComprados.add(cita);
}
} catch (Exception e) {
System.out.println("Error en la consulta de la clase ModeloCitasDAO función listarProductosComprados");
System.err.println("Error: " + e.getMessage());
}
return listaProductosComprados;
}
Código PHP:
<s:iterator value="listaProductosComprados" status="linea">
<s:if test="#linea.odd">
<tr class="linea1">
</s:if>
<s:if test="#linea.even">
<tr class="linea2">
</s:if>
<td><s:property value="idCompra" /></td>
<td><s:property value="fecha" /></td>
<td><s:property value="nombre" /></td>
<td><s:property value="precio" /></td>
<td><s:property value="numSesiones" /></td>
<td><s:property value="numSesionesRestantes" /></td>
<tr>
</s:iterator>
Un saludo y gracias