Código PHP:
<!-- Los import -->
<%@page import="javax.swing.table.DefaultTableModel"%>
<%@page import="javax.swing.*"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%
DefaultTableModel modelo = new DefaultTableModel();
JTable tabla = new JTable(modelo);
JScrollPane scroll = new JScrollPane(tabla);
String Driver = "org.gjt.mm.mysql.Driver";
Connection conexion;
try {
Class.forName(Driver);
out.println("<b>El driver se ha cargado con exito.</b><br>");
try {
conexion = DriverManager.getConnection(
"jdbc:mysql://localhost/Cartografia", "root",
"*********");
out
.println("<b>La conexion con la base de datos se ha realizado con exito.</b><br>");
Statement st = conexion.createStatement();
String texto1 = request.getParameter("ref_geograficas");
String texto2 = request.getParameter("ref_tematicas");
String texto3 = request.getParameter("ref_cronologias");
String texto4 = request.getParameter("nombre_autor");
ResultSet rs = st
.executeQuery("select * from Cartografia where signatura like '%"
+ texto1
+ "%' and lugargeografico1 like '%"
+ texto2
+ "%' and titulo like '%"
+ texto3
+ "%' and AutorPersonal like '%"
+ texto4
+ "%'");
ResultSetMetaData metaDatos = rs.getMetaData();
// Se obtiene el número de columnas.
int numeroColumnas = metaDatos.getColumnCount();
out.println("" + numeroColumnas);
// Se crea un array de etiquetas para rellenar las columnas de la tabla con los titulos de los campos
Object[] etiquetas = new Object[numeroColumnas];
// Se obtiene cada una de las etiquetas para cada columna
for (int i = 0; i < numeroColumnas; i++) {
// Nuevamente, para ResultSetMetaData la primera columna es la 1.
etiquetas[i] = metaDatos.getColumnLabel(i + 1);
out.println("<br>" + etiquetas[i]);
modelo.setColumnIdentifiers(etiquetas);
}
while (rs.next()) {
Object[] fila = new Object[numeroColumnas]; // Hay 15 columnas en la tabla
for (int i = 0; i < numeroColumnas; i++) {
fila[i] = rs.getObject(i + 1); // El primer indice en rs es el 1, no el cero, por eso se suma 1.
out.println("<br>" + fila[i]);
//out.println(""+fila[i]);
}
modelo.addRow(fila);
}
} catch (Exception e) {
out.println("Error conexion base de datos: " + e);
}
} catch (Exception e) {
out.println("Error carga de driver: " + e);
}
%>
</body>
</html>