Cómo utilizar tablas html5 para la salida de sql
La unidad básica de la estructura en SQL se denomina mesa porque por lo general es representada en un formato tabular. HTML5 también tiene una estructura de la tabla, que es ideal para la salida de datos SQL. ContactTable.php, muestra la contacto la información dentro de una tabla HTML.
Las tablas son una forma muy común de los resultados de salida de SQL. Hay una gran diferencia entre la salida de mesa y la versión básica de una tabla. En una mesa, tiene una fila separada que contiene nombres de campo. Aquí está el código:
contact.php ? lt; phptry {$ con = new PDO ('mysql: host = localhost-dbname = dbName "," usuario "," pwd ") - $ con-> setAttribute (PDO :: ATTR_ERRMODE, PDO :: ERRMODE_EXCEPTION) - $ query = "SELECT * FROM contacto" - // primera pasada sólo se pone el namesprint columna "
$ campo | n "-} // foreachprint fin"
---|
$ valor | n "-} // fin loopprint campo"
Usted puede ser confundido que una tabla se utiliza aquí. Las mesas no son malos: Ellos simplemente no están diseñados para ser un mecanismo de diseño de página. Mesas, sin embargo, son diseñado para mostrar datos tabulares, y el resultado de una consulta de datos es más o menos la definición de los datos tabulares. Usted puede (y debe) seguir utilizando CSS para los detalles de diseño específicos de la tabla. Las mesas están bien cuando se utiliza para presentar los datos.
Este código es todavía muy similar al programa básico contact.php. Se extrae datos de la base de datos de la misma manera. La principal diferencia es cómo se trata a los nombres de campo. Los nombres de los campos se van en los encabezados de la tabla, y sólo los valores se imprimió de cada fila. Para hacer este trabajo, siga estos pasos:
Construir una conexión normal de MySQL.
Comience con la conexión estándar. No te preocupes por el formato hasta que esté razonablemente seguro de que usted puede leer los datos de la base de datos.
$ con = new PDO ('mysql: host = localhost-dbname = dbName "," usuario "," pwd ") - $ con-> setAttribute (PDO :: ATTR_ERRMODE, PDO :: ERRMODE_EXCEPTION) -
Determine su consulta.
Crear una consulta que producirá una tabla, vista, o resultado de búsqueda. Guárdelo en una variable para que pueda utilizarlo. (Vamos a usar la misma consulta dos veces en este ejercicio.)
$ query = "SELECT * FROM contacto" -
Imprimir el mesa etiqueta antes de extraer ningún resultado.
Todos los datos de la consulta se mostrará dentro de la tabla, por lo que imprima la mesa etiqueta antes de empezar a imprimir cualquier cosa que debe ir dentro de la tabla.
impresión "
n "-
Hacer un primer paso para extraer nombres de los campos.
Usted está en realidad va a consultar la base de datos dos veces. La primera vez, simplemente quiere que los nombres de campo, que se va a utilizar para construir los encabezados de la tabla, por lo que sólo necesita una fila.
$ resultado = $ con-> query ($ consulta) - // devuelve sólo la primera fila (sólo necesitamos nombres de campo) $ row = $ result-> fetch (PDO :: FETCH_ASSOC) -
los se ha podido recuperar método extrae el siguiente registro disponible en la $ resultado variable. Usted quiere que los datos de registro en formato de matriz asociativa, por lo que pasa la PDO :: FETCH_ASSOC constante para indicarlo.
Imprima los nombres de los campos como cabeceras de tabla.
Ahora que tiene un solo registro, caminar a través de ese registro como una matriz asociativa y utilizar el $ campo valores para imprimir los nombres de campo.
impresión "
n "-foreach ($ fila como $ campo => $ valor) {print" n "-$ campo n "-} // foreachprint fin"Haga una segunda consulta.
Ahora ejecutar la consulta de nuevo con la $ con-> query () método. Esta vez, estás haciendo una consulta ordinaria con varios resultados. No se olvide de establecer el modo se ha podido ir a la matriz asociativa.
// segunda consulta obtiene los datos de datos $ = $ con-> query ($ consulta) - $ data-> setFetchMode (PDO :: FETCH_ASSOC) -
Utilice bucles anidados para imprimir elementos de datos.
Utilice el truco anidada-bucles ordinaria para imprimir todos los elementos de datos con cada registro ocupar una fila de la tabla HTML.
foreach ($ datos como $ fila) {print "
n "-foreach ($ fila como $ nombre => $ valor) {print" n "-} // bucle de registro de final$ valor n "-} // fin loopprint campo"