Está en la página 1de 4

Mostrar el contenido de una tabla MySQL en HTML - PHP

Lenguaje de programacin PHP

Formatted: Pattern: Clear (Background 1)


Explicamos en este truco cmo conectarnos a una base de datos MySQL Server mediante PHP. Os explicamos cmo mostrar en una tabla HTML el contenido de los registros devueltos por una consulta SQL realizada sobre un servidor de base de datos MySQL Server mediante PHP.

Funciones PHP necesarias


Utilizaremos las siguientes funciones PHP:

mysql_connect: realiza la conexin al servidor de MySQL Server, pasndole como parmetro el nombre del servidor o la IP, el usuario y la contrasea de MySQL con permisos suficientes. mysql_select_db: conexin al catlogo, esquema o base de datos de MySQL Server. mysql_query: ejecucin de consulta SQL en el servidor de MySQL Server. mysql_fetch_array: funcin MySQL que obtiene en una matriz los registros del resultado de la ejecucin de una consulta SQL. mysql_free_result: libera la memoria del resultado obtenido de la ejecucin de la consulta SQL. mysql_close: cierra la conexin establecida con la base de datos.

Formatted: Pattern: Clear (Background 1)

Cdigo PHP y HTML


A continuacin mostramos el cdigo PHP que debe guardarse en un fichero con extensin .php en la carpeta que deseemos de nuestro servidor Apache:

<table border="1" cellspacing=1 cellpadding=2 style="font-size: 8pt"><tr> <td><font face="verdana"><b>Cdigo</b></font></td> <td><font face="verdana"><b>Cliente</b></font></td> <td><font face="verdana"><b>Importe</b></font></td> <td><font face="verdana"><b>Fecha</b></font></td> </tr> <?php $link = @mysql_connect("localhost", "root","password") or die ("Error al conectar a la base de datos."); @mysql_select_db("ajpdsoft", $link) or die ("Error al conectar a la base de datos."); $query = "SELECT f.codigo, c.nombre cliente, f.importetotal, f.fecha " . "FROM factura f, tercero c " . "WHERE f.codigocliente = c.codigo"; $result = mysql_query($query); $numero = 0; while($row = mysql_fetch_array($result)) { echo "<tr><td width=\"25%\"><font face=\"verdana\">" . $row["codigo"] . "</font></td>"; echo "<td width=\"25%\"><font face=\"verdana\">" . $row["cliente"] . "</font></td>"; echo "<td width=\"25%\"><font face=\"verdana\">" . $row["importetotal"] . "</font></td>"; echo "<td width=\"25%\"><font face=\"verdana\">" . $row["fecha"]. "</font></td></tr>";

$numero++; } echo "<tr><td colspan=\"15\"><font face=\"verdana\"><b>Nmero: " . $numero . "</b></font></td></tr>"; mysql_free_result($result); mysql_close($link); ?> </table>

Ejemplo de salida:
Cdigo 1 2 3 Nmero: 3 Cliente AjpdSoft Fernando Alonso XXX Importe 29.0000 232.0000 928.0000 Fecha 2006-07-03 00:00:00 2006-07-03 00:00:00 2006-07-03 00:00:00

Formatted: Pattern: Clear (Background 1) Formatted: Pattern: Clear (Background 1) Formatted: Pattern: Clear (Background 1) Formatted: Pattern: Clear (Background 1) Formatted: Pattern: Clear (Background 1)

Script de creacin de las tablas "factura" y "tercero"


CREATE TABLE ajpdsoft.factura ( `codigo` int(10) unsigned NOT NULL auto_increment, `numero` varchar(15) default NULL, `importetotal` decimal(19,4) default NULL, `baseimponible` decimal(19,4) default NULL, `porcentajeiva` decimal(19,4) default NULL, `importeiva` decimal(19,4) default NULL, `porcentajedescuento` decimal(19,4) default NULL, `importedescuento` decimal(19,4) default NULL, `codigocliente` int(10) unsigned NOT NULL default '0', `fecha` datetime default '0000-00-00 00:00:00', `cobrado` char(1) default NULL, `observacion` varchar(255) default NULL, `importecobrado` decimal(19,4) default NULL, `codusuarioa` int(10) unsigned default NULL, `codusuariom` int(10) unsigned default NULL, `fechaa` datetime default NULL, `fecham` datetime default NULL, `contabiliza` char(1) default NULL, `imprimida` char(1) default NULL, `enviada` char(1) default NULL, `fechaenvio` datetime default NULL, `piefactura` text, `fechavencimiento` datetime default NULL, `serie` char(2) NOT NULL default '', PRIMARY KEY (`codigo`), UNIQUE KEY `Indice_Numero_Factura` USING HASH (`numero`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 CREATE TABLE `tercero` ( `codigo` int(10) unsigned NOT NULL auto_increment, `nombre` varchar(100) NOT NULL default '', `cif` varchar(15) default NULL, `fechaalta` datetime default NULL, `direccion` varchar(100) default NULL, `telefono` varchar(50) default NULL, `poblacion` varchar(100) default NULL,

`provincia` varchar(50) default NULL, `cp` int(11) default '0', `personacontacto` varchar(100) default NULL, `web` varchar(200) default NULL, `email` varchar(200) default NULL, `fax` varchar(50) default NULL, `pais` varchar(45) default NULL, `tipo` varchar(10) default NULL, `observacion` varchar(255) default NULL, `ccc` varchar(20) default NULL, `riesgomaximo` float default NULL, `deudaalcanzada` float default NULL, `codigoformapago` int(10) unsigned default NULL, `preciohora` float default NULL, `preciomensual` float default NULL, `precioanual` float default NULL, `preciodesplazamiento` float default NULL, `porcentajedto` float default NULL, `codusuarioa` int(10) unsigned default NULL, `codusuariom` int(10) unsigned default NULL, `fechaa` datetime default NULL, `fecham` datetime default NULL, `piefactura` text, `nombre2` varchar(100) default NULL, PRIMARY KEY (`codigo`), UNIQUE KEY `tercero_nombre_cif_tipo` USING BTREE (`nombre`,`cif`,`tipo`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1

Requisitos tcnicos:

Servidor de base de datos MySQL. Sistema operativo Windows GNU Linux. Servidor Web Apache con PHP y enlace con MySQL.

Sitios complementarios

http://www.programacionweb.net/articulos/articulo/clase-datagrid/

http://www.blogdephp.com/como-mostrar-datos-mysql-en-lista-desplegable-select-en-php/

http://www.nachocabanes.com/sql/curso/sqle1.php ( muy bueno de base de datos )


Formatted: Underline

También podría gustarte