Você está na página 1de 31

Instituto Tecnolgico de Tuxtepec.

Programacin Web

Nombre de la asignatura: Programacin WEB


Carrera: Ingeniera en Sistemas
Computacionales

Clave de la asignatura: SCF - 0428


Horas teora-horas prctica-crditos 2-4-8

Nombre de la prctica:
Manipulacin de MySQL, as como los operadores y sentencias
bsicas para el procesamiento del lado servidor (PHP).
Objetivo de la prctica (ligado con el objetivo educacional).
El estudiante Desarrollar aplicaciones Web del lado del
servidor y creacin de base de datos.
Fundamentacin terica.
Tener los conocimientos bsicos de HTML, PHP, Tecnologa
de servidor virtual y MySQL.
Recursos y materiales.
CPU, teclado, Mouse, Block de notas, Navegador de Internet
(I. Explorer), apuntes HTML, Xammp, PHP y MySQL.
Procedimiento o metodologa.
Abre tu editor de textos, copia y pega el siguiente texto en un nuevo
documento , ste primer programa experimenta las operaciones
aritmticas resueltas por PHP..

Lic. ngel Gonzlez Santilln.


Lic. Vctor Manuel Evaristo Salinas.

<html>
<head>
<title>Ejemplo de PHP</title>
</head>
<body>
<?php
$a = 8;
$b = 3;
echo $a + $b,"<br>";
echo $a - $b,"<br>";
echo $a * $b,"<br>";
echo $a / $b,"<br>";
$a++;
echo $a,"<br>";
$b--;
echo $b,"<br>";
?>
</body>
</html>

Programacin Web

Instituto Tecnolgico de Tuxtepec.


@Ahora guarda ese archivo con extensin .php en tu disco duro. Para ello
accedemos al men Archivo y seleccionamos la opcin Guardar como. En
la ventana elegimos el directorio donde deseamos guardarlo y
colocaremos su nombre, por ejemplo mi_pagina.php, de esa misma forma
en que se guarda el archivo as se proceder a grabar los siguientes
ejemplos cambiando nicamente el nombre de el archivo, cabe aclarar que
una vez instalado el servidor xampp se debe guardar los archivos en la
ruta xampp/htdocs/mi_pagina.php.
Con el documento PHP creado, podemos ver el resultado obtenido a partir
de un navegador. Es conveniente, llegado a este punto, hacer hincapi en
el hecho de que no todos los navegadores son idnticos.
Desgraciadamente, los resultados de nuestro cdigo pueden cambiar de
uno a otro por lo que resulta aconsejable visualizar la pgina en varios.
Generalmente se usan Internet Explorer y Netscape como referencias ya
que son los ms extendidos, para cargar el archivo PHP creado se debe
acceder al URL: localhost/mi_pagina.php.
Apartir de ste momento todas las pginas se cargarn con el URL antes
mencionado (xampp/htdocs/), ste es un ejemplo de cmo se manipulan
las cadenas y una condicin if.

Lic. ngel Gonzlez Santilln.


Lic. Vctor Manuel Evaristo Salinas.

<html>
<head>
<title>Ejemplo de PHP</title>
</head>
<body>
<?php
echo strlen("12345"),"<br>";
$palabras=split(" ","Esto es una prueba");
for($i=0;$palabras[$i];$i++)
echo $palabras[$i],"<br>";
$resultado=sprintf("8x5 = %d <br>",8*5);
echo $resultado,"<br>";
echo substr("Devuelve una subcadena de otra",9,3),"<br><br>";
if (chop("Cadena \n\n ") == "Cadena")
echo "Iguales<br><br>";
echo strpos("Busca la palabra dentro de la frase",
"palabra"),"<br><br>";
echo str_replace("verde","rojo","Un pez de color verde, como verde es
la hierba."),"<br>";
?>
</body>
</html>
@

Programacin Web

Instituto Tecnolgico de Tuxtepec.


Un ejercicio interesante resultado de utilizar un ciclo for en PHP como se
observa a continuacin:
<html>
<head>
<title>Ejemplo de PHP</title>
</head>
<body>
Parte de HTML normal.
<BR><BR>
<?php
echo "Parte de PHP<br>";
for($i=0;$i<10;$i++)
{
echo "Linea ".$i."<br>";
}
?>
</body>
</html>

@
La manipulacin de operadores lgicos en PHP:
<html>
<head>
<title>Ejemplo de PHP</title>
</head>
<body>
<?php
$a = 8;
$b = 3;
$c = 3;
echo $a == $b,"<br>";
echo $a != $b,"<br>";
echo $a < $b,"<br>";
echo $a > $b,"<br>";
echo $a >= $c,"<br>";
echo $b <= $c,"<br>";
?>
</body>
</html>

Lic. ngel Gonzlez Santilln.


Lic. Vctor Manuel Evaristo Salinas.

Instituto Tecnolgico de Tuxtepec.

Programacin Web

ste es un ejemplo de procesado de formularios que ms adelante nos


servirn para el envo de informacin a una base de datos:
<html>
<head>
<title>Ejemplo de PHP</title>
</head>
<body>
<H1>Ejemplo de procesado de formularios</H1>
Introduzca su nombre:
<FORM ACTION="procesa.phtml" METHOD="GET">
<INPUT TYPE="text" NAME="nombre"><BR>
<INPUT TYPE="submit" VALUE="Enviar">
</FORM>
</body>
</html>

@
Para la definicin de funciones el cdigo es el siguiente:

Lic. ngel Gonzlez Santilln.


Lic. Vctor Manuel Evaristo Salinas.

<html>
<head>
<title>Ejemplo de PHP</title>
</head>
<body>
<?php
function media_aritmetica($a, $b)
{
$media=($a+$b)/2;
return $media;
}
echo media_aritmetica(4,6),"<br>";
echo media_aritmetica(3242,524543),"<br>";
?>
</body>
</html>

Programacin Web

Instituto Tecnolgico de Tuxtepec.


La definicin de la sentencia If es muy sencilla nos apoyamos en la
declaracin de 2 variables para ponerla en prctica: como se oberva
acontinuacin:
<html>
<head>
<title>Ejemplo de PHP</title>
</head>
<body>
<?php
$a = 8;
$b = 3;
if ($a < $b)
{
echo "a es menor que b";
}
else
{
echo "a no es menor que b";
}
?>
</body>
</html>

@
Para el caso en que quisieramos disear un formulario que recibiera datos
el cdigo sera el siguiente cuya variable es nombre:
<html>
<head>
<title>Ejemplo de PHP</title>
</head>
<body>
<H1>Ejemplo de procesado de formularios</H1>
El nombre que ha introducido es: <?php echo $_GET['nombre'] ?>
<br>
</body>
</html>

Lic. ngel Gonzlez Santilln.


Lic. Vctor Manuel Evaristo Salinas.

Programacin Web

Instituto Tecnolgico de Tuxtepec.


Para el caso de mandar a desplegar salida de datos es muy sencillo, para
ste ejemplo utilizamos diferentes formatos:
<html>
<head>
<title>Ejemplo de PHP</title>
</head>
<body>
<?php
printf("El numero dos con diferentes formatos: %d %f %.2f",2,2,2);
?>
</body>
</html>

@
Una combinacin de html y php para desplegar una tabla sera el siguiente
cdigo:

Lic. ngel Gonzlez Santilln.


Lic. Vctor Manuel Evaristo Salinas.

<html>
<head>
<title>Ejemplo de PHP</title>
</head>
<body>
<?php
$var="texto";
$num=3;
printf("Puede fcimente intercalar <b>%s</b> con nmeros
<b>%d</b> <br>",$var,$num);
printf("<TABLE BORDER=1 CELLPADDING=20>");
for ($i=0;$i<10;$i++)
{
printf("<tr><td>%10.d</td></tr>",$i);
}
printf("</table>");
?>
</body>
</html>

Instituto Tecnolgico de Tuxtepec.

Programacin Web

Aqu tienes un ejemplo de manejo de seguridad en PHP:


<?php // Manual de PHP de WebEstilo.com
if (!isset($PHP_AUTH_USER)) {
header('WWW-Authenticate: Basic realm="Acceso restringido"');
header('HTTP/1.0 401 Unauthorized');
echo 'Authorization Required.';
exit;
}
else {
echo
"Ha
introducido
el
nombre
de
usuario:
$PHP_AUTH_USER<br>";
echo "Ha introducido la contrasea: $PHP_AUTH_PW<br>";
}
?>

@
Aqu otra forma del manejo de seguridad en PHP:
<?php // Manual de PHP de WebEstilo.com
if (!isset($PHP_AUTH_USER)) {
header('WWW-Authenticate: Basic realm="Acceso restringido"');
header('HTTP/1.0 401 Unauthorized');
echo 'Authorization Required.';
exit;
}
else {
echo
"Ha
introducido
el
nombre
de
usuario:
$PHP_AUTH_USER<br>";
echo "Ha introducido la contrasea: $PHP_AUTH_PW<br>";
}
?>

@
La sentencia swicht es muy til, para ste ejemplo nos despliega la posicin
en que se encuentra:
<html>
<head>
<title>Ejemplo de
PHP</title>
</head>
<body>
<?php
$posicion = "arriba";
switch($posicion) {
case "arriba": // Bloque 1
echo "La variable contiene";
echo " el valor arriba";
break;

Lic. ngel Gonzlez Santilln.


Lic. Vctor Manuel Evaristo Salinas.

case "abajo": // Bloque 2


echo "La variable contiene";
echo " el valor abajo";
break;
default: // Bloque 3
echo "La variable contiene otro
valor";
echo " distinto de arriba y
abajo";
}
?>
</body>
</html>

Instituto Tecnolgico de Tuxtepec.

Programacin Web

La definicin y desplegado de variables es muy sencillo, ya hemos hecho


ejemplos anteriores sin embargo no estp dems colocar otro ejemplo
sencillo:
<html>
<body>
<?php
$myvar = "Hola. Este es mi primer script en PHP n";
//Esto es un comentario
//Esto es un comentario
echo $myvar;
?>
</body>
</html>

@
A unque se pueden definir variables de diferentes tipos:
<html>
<head>
<title>Ejemplo de PHP</title>
</head>
<body>
<?php
$a = 1;
$b = 3.34;
$c = "Hola Mundo";
echo $a,"<br>",$b,"<br>",$c;
?>
</body>
</html>

@
La sentencia While es muy sencilla y til cuando se requiere tomar una
decisin:
<html>
<head>
<title>Ejemplo de PHP</title>
</head>
<body>
Inicio<BR>
<?php
$i=0;
while ($i<10)
{
echo "El valor de i es ", $i,"<br>";
$i++;
}
?>
Final<BR>
</body>
</html>

@
Lic. ngel Gonzlez Santilln.
Lic. Vctor Manuel Evaristo Salinas.

Programacin Web

Instituto Tecnolgico de Tuxtepec.


Ahora pasaremos al manejo y manipulacin de base de datos utilizando
MySQL comenzando por un comando muy sencillo que permite crear una
base de datos
SHOW DATABASES;

sta es la vista que se tiene cuando trabajamos en el Shell de MySQL, entorno


de trabajo que se utilizar, y aunque ya existe un panel de control para la
manipulacin de B.D. utilizaremos el Shell para conocer de cerca las
propiedades de las B.D.
Para obtener un listado de las tablas utilizamos:
SHOW TABLES;

Para obtener la estructura de una tabla, en este caso la tabla por default de
Mysql:
DESC host;

Para salir del cliente utilizamos los comandos:


Exit o quit:

Para crear una base de datos con el cliente de MySQL utilizamos el


comando:
CREATE DATABASE base-de-datos;
Quedara as:
create database pruebas;

Para borrar la base de datos utilizamos:


DROP DATABASE base-de-datos;
Quedara as:
drop database pruebas;

Una vez creada la base de datos podemos crear sus tablas, primero
ejecutamos el comando USE base-de-datos (se recomienda volver a crear la
B.D. pruebas);
Posteriormente podemos crear las tablas con el comando:

Lic. ngel Gonzlez Santilln.


Lic. Vctor Manuel Evaristo Salinas.

CREATE TABLE tabla (campos-de-la-tabla);


Quedara as:
CREATE TABLE productos (numero INT, nombre
VARCHAR (255));

Instituto Tecnolgico de Tuxtepec.

Programacin Web

Para crear una tabla de categoras podemos utilizar un comando como este:
USE pruebas;
CREATE TABLE categorias (
claveCategoria int(11) NOT NULL auto_increment,
categoria varchar(15) NOT NULL default '',
notas varchar(255) default NULL,
urlImagen varchar(255) default NULL,
PRIMARY KEY (claveCategoria),
UNIQUE KEY claveCategoria (claveCategoria)
) TYPE=MyISAM

El estatuto SELECT. Este estatuto extrae informacin de las tablas, por


ejemplo:

select * from categorias;

La estructura de una tabla puede ser cambiada con el comando ALTER TABLE,
con este comando se puede agregar, borrar o cambiar las caractersticas de los
campos de la tabla, aqu tenemos algunos ejemplos:

Cambia el nombre de la tabla.


ALTER TABLE categorias RENAME AS subcategorias;
Agrega un campo a la tabla
ALTER TABLE categorias ADD nuevoCampo VARCHAR(50) NOT NULL;
Elimina un campo de la tabla.
ALTER TABLE categorias DROP COLUMN Campo;
Cambia la definicin de un campo de la tabla.
ALTER TABLE categorias MODIFY nuevoCampo VARCHAR(100) NULL;
Cambia el nombre y la definicin de un campo de la tabla.
ALTER TABLE categorias CHANGE campoOriginal campoModificado VARCHAR(80)
NOTNULL;

Lic. ngel Gonzlez Santilln.


Lic. Vctor Manuel Evaristo Salinas.

10

Programacin Web

Instituto Tecnolgico de Tuxtepec.


Trabajaremos en la creacin de las siguientes tablas (creacin de la tabla y
alimentacin de datos a esa tabla) teniendo como referencia que existe creada
una base de datos llamada cursophp, al terminar su apariencia ser la siguiente:

USE cursophp;
CREATE TABLE `categorias` (
`claveCategoria` int(11) NOT NULL auto_increment,
`categoria` varchar(15) NOT NULL default '',
`notas` varchar(255) default NULL,
`urlImagen` varchar(255) default NULL,
PRIMARY KEY (`claveCategoria`),
UNIQUE KEY `claveCategoria` (`claveCategoria`)
) TYPE=MyISAM
USE cursophp;
INSERT INTO `categorias` (`claveCategoria`, `categoria`, `notas`, `urlImagen`)
VALUES
(1,'Bebidbas','Sodas, cafe, te, cerveza','images/bebidas.jpg'),
(2,'Condimentos','Apio, perejil','images/condimentos.jpg'),
(3,'Postres','Pasteles, dulces','images/postres.jpg'),
(4,'Lacteos','Queso, mantequilla','images/lacteos.jpg'),
(5,'Granos/Cereales','Pasta, pan','images/granos.jpg'),
(6,'Carnes','Pollo, res, puerco','images/carnes.jpg'),
(7,'Vegetales','Tomates, lechuga','images/vegetales.jpg'),
(8,'Mariscos','Camarones, ostiones','images/mariscos.jpg');

Lic. ngel Gonzlez Santilln.


Lic. Vctor Manuel Evaristo Salinas.

11

Programacin Web

Instituto Tecnolgico de Tuxtepec.

USE cursophp;
CREATE TABLE `proveedores` (
`claveProveedor` int(11) NOT NULL auto_increment,
`proveedor` varchar(40) NOT NULL default '',
`contacto` varchar(30) default NULL,
`puesto` varchar(30) default NULL,
`direccion` varchar(60) default NULL,
`ciudad` varchar(15) default NULL,
`region` varchar(15) default NULL,
`codigoPostal` varchar(10) default NULL,
`pais` varchar(15) default NULL,
`telefono` varchar(24) default NULL,
`fax` varchar(24) default NULL,
PRIMARY KEY (`claveProveedor`),
UNIQUE KEY `claveProveedor` (`claveProveedor`),
KEY `pais` (`pais`)
) TYPE=MyISAM
USE cursophp;
INSERT INTO `proveedores` (`claveProveedor`, `proveedor`, `contacto`, `puesto`,
`direccion`, `ciudad`, `region`, `codigoPostal`, `pais`, `telefono`, `fax`) VALUES
(1,'Exotic
Liquids','Charlotte
Cooper','Purchasing
Manager','49
Gilbert
St.','London','','EC1 4SD','UK','(171) 555-2222',''),
(2,'New Orleans Cajun Delights','Shelley Burke','Order Administrator','P.O. Box
78934','New Orleans','LA','70117','USA','(100) 555-4822',''),
(3,'Grandma Kelly\'s Homestead','Regina Murphy','Sales Representative','707 Oxford
Rd.','Ann Arbor','MI','48104','USA','(313) 555-5735','(313) 555-3349'),
(4,'Tokyo Traders','Yoshi Nagase','Marketing Manager','9-8 Sekimai\r\nMusashinoshi','Tokyo','','100','Japan','(03) 3555-5011',''),
(5,'Cooperativa de Quesos \'Las Cabras\'','Antonio del Valle Saavedra','Export
Administrator','Calle del Rosal 4','Oviedo','Asturias','33007','Spain','(98) 598 76 54',''),
(6,'Mayumi\'s','Mayumi Ohno','Marketing Representative','92 Setsuko\r\nChuoku','Osaka','','545','Japan','(06) 431-7877',''),
(7,'Pavlova, Ltd.','Ian Devling','Marketing Manager','74 Rose St.\r\nMoonie
Ponds','Melbourne','Victoria','3058','Australia','(03) 444-2343','(03) 444-6588'),
(8,'Specialty Biscuits, Ltd.','Peter Wilson','Sales Representative','29 King\'s
Way','Manchester','','M14 GSD','UK','(161) 555-4448',''),

Lic. ngel Gonzlez Santilln.


Lic. Vctor Manuel Evaristo Salinas.

12

Programacin Web

Instituto Tecnolgico de Tuxtepec.


(9,'PB Knckebrd AB','Lars Peterson','Sales Agent','Kaloadagatan 13','Gteborg','','S345 67','Sweden','031-987 65 43','031-987 65 91'),
(10,'Refrescos Americanas LTDA','Carlos Diaz','Marketing Manager','Av. das
Americanas 12.890','So Paulo','','5442','Brazil','(11) 555 4640',''),
(11,'Heli Swaren GmbH & Co. KG','Petra Winkler','Sales Manager','Tiergartenstrae
5','Berlin','','10785','Germany','(010) 9984510',''),
(12,'Plutzer Lebensmittelgromrkte AG','Martin Bein','International Marketing
Mgr.','Bogenallee 51','Frankfurt','','60439','Germany','(069) 992755',''),
(13,'Nord-Ost-Fisch Handelsgesellschaft mbH','Sven Petersen','Coordinator Foreign
Markets','Frahmredder 112a','Cuxhaven','','27478','Germany','(04721) 8713','(04721)
8714'),
(14,'Formaggi Fortini s.r.l.','Elio Rossi','Sales Representative','Viale Dante,
75','Ravenna','','48100','Italy','(0544) 60323','(0544) 60603'),
(15,'Norske
Meierier','Beate
Vileid','Marketing
Manager','Hatlevegen
5','Sandvika','','1320','Norway','(0)2-953010',''),
(16,'Bigfoot Breweries','Cheryl Saylor','Regional Account Rep.','3400 - 8th
Avenue\r\nSuite 210','Bend','OR','97101','USA','(503) 555-9931',''),
(17,'Svensk Sjfda AB','Michael Bjrn','Sales Representative','Brovallavgen
231','Stockholm','','S-123 45','Sweden','08-123 45 67',''),
(18,'Aux joyeux ecclsiastiques','Guylne Nodier','Sales Manager','203, Rue des FrancsBourgeois','Paris','','75004','France','(1) 03.83.00.68','(1) 03.83.00.62'),
(19,'New England Seafood Cannery','Robb Merchant','Wholesale Account Agent','Order
Processing Dept.\r\n2100 Paul Revere Blvd.','Boston','MA','02134','USA','(617) 5553267','(617) 555-3389'),
(20,'Leka
Trading','Chandra
Leka','Owner','471
Serangoon
Loop,
Suite
#402','Singapore','','0512','Singapore','555-8787',''),
(21,'Lyngbysild','Niels
Petersen','Sales
Manager','Lyngbysild\r\nFiskebakken
10','Lyngby','','2800','Denmark','43844108','43844115'),
(22,'Zaanse Snoepfabriek','Dirk Luchte','Accounting Manager','Verkoop\r\nRijnweg
22','Zaandam','','9999 ZZ','Netherlands','(12345) 1212','(12345) 1210'),
(23,'Karkki
Oy','Anne
Heikkonen','Product
Manager','Valtakatu
12','Lappeenranta','','53120','Finland','(953) 10956',''),
(24,'G\'day, Mate','Wendy Mackenzie','Sales Representative','170 Prince Edward
Parade\r\nHunter\'s Hill','Sydney','NSW','2042','Australia','(02) 555-5914','(02) 5554873'),
(25,'Ma
Maison','Jean-Guy
Lauzon','Marketing
Manager','2960
Rue
St.
Laurent','Montral','Qubec','H1J 1C3','Canada','(514) 555-9022',''),
(26,'Pasta Buttini s.r.l.','Giovanni Giudici','Order Administrator','Via dei Gelsomini,
153','Salerno','','84100','Italy','(089) 6547665','(089) 6547667'),
(27,'Escargots
Nouveaux','Marie
Delamare','Sales
Manager','22,
rue
H.
Voiron','Montceau','','71300','France','85.57.00.07',''),
(28,'Gai pturage','Eliane Noz','Sales Representative','Bat. B\r\n3, rue des
Alpes','Annecy','','74000','France','38.76.98.06','38.76.98.58'),
(29,'Forts d\'rables','Chantal Goulet','Accounting Manager','148 rue Chasseur','SteHyacinthe','Qubec','J2S 7S8','Canada','(514) 555-2955','(514) 555-2921');

Lic. ngel Gonzlez Santilln.


Lic. Vctor Manuel Evaristo Salinas.

13

Programacin Web

Instituto Tecnolgico de Tuxtepec.


USE cursophp;
CREATE TABLE `productos` (
`claveProducto` int(11) NOT NULL auto_increment,
`producto` varchar(40) NOT NULL default '',
`claveProveedor` int(11) NOT NULL default '0',
`claveCategoria` int(11) NOT NULL default '0',
`cantidadPorUnidad` varchar(20) default NULL,
`precioUnitario` double default NULL,
`existencia` int(11) default NULL,
`pedidos` int(11) default NULL,
`nivelDeResurtir` int(11) default NULL,
`descontinuado` tinyint(4) default '0',
PRIMARY KEY (`claveProducto`),
UNIQUE KEY `claveProducto` (`claveProducto`),
KEY `claveProveedor` (`claveProveedor`),
KEY `claveCategoria` (`claveCategoria`),
KEY `descontinuado` (`descontinuado`)
) TYPE=MyISAM
USE cursophp;
INSERT INTO `productos` (`claveProducto`, `producto`, `claveProveedor`,
`claveCategoria`, `cantidadPorUnidad`, `precioUnitario`, `existencia`, `pedidos`,
`nivelDeResurtir`, `descontinuado`) VALUES
(1,'Chai',1,1,'10 boxes x 20 bags',18,39,0,10,0),
(2,'Chang',1,1,'24 - 12 oz bottles',19,17,40,25,0),
(3,'Aniseed Syrup',1,2,'12 - 550 ml bottles',10,13,70,25,0),
(4,'Chef Anton\'s Cajun Seasoning',2,2,'48 - 6 oz jars',22,53,0,0,0),
(5,'Chef Anton\'s Gumbo Mix',2,2,'36 boxes',21.35,0,0,0,0),
(6,'Grandma\'s Boysenberry Spread',3,2,'12 - 8 oz jars',25,120,0,25,0),
(7,'Uncle Bob\'s Organic Dried Pears',3,7,'12 - 1 lb pkgs.',30,15,0,10,0),
(8,'Northwoods Cranberry Sauce',3,2,'12 - 12 oz jars',40,6,0,0,0),
(9,'Mishi Kobe Niku',4,6,'18 - 500 g pkgs.',97,29,0,0,0),
(10,'Ikura',4,8,'12 - 200 ml jars',31,31,0,0,0),
(11,'Queso Cabrales',5,4,'1 kg pkg.',21,22,30,30,0),
(12,'Queso Manchego La Pastora',5,4,'10 - 500 g pkgs.',38,86,0,0,0),
(13,'Konbu',6,8,'2 kg box',6,24,0,5,0),
(14,'Tofu',6,7,'40 - 100 g pkgs.',23.25,35,0,0,0),
(15,'Genen Shouyu',6,2,'24 - 250 ml bottles',15.5,39,0,5,0),
(16,'Pavlova',7,3,'32 - 500 g boxes',17.45,29,0,10,0),
(17,'Alice Mutton',7,6,'20 - 1 kg tins',39,0,0,0,0),
(18,'Carnarvon Tigers',7,8,'16 kg pkg.',62.5,42,0,0,0),
(19,'Teatime Chocolate Biscuits',8,3,'10 boxes x 12 pieces',9.2,25,0,5,0),
(20,'Sir Rodney\'s Marmalade',8,3,'30 gift boxes',81,40,0,0,0),
(21,'Sir Rodney\'s Scones',8,3,'24 pkgs. x 4 pieces',10,3,40,5,0),
(22,'Gustaf\'s Knckebrd',9,5,'24 - 500 g pkgs.',21,104,0,25,0),
(23,'Tunnbrd',9,5,'12 - 250 g pkgs.',9,61,0,25,0),
(24,'Guaran Fantstica',10,1,'12 - 355 ml cans',4.5,20,0,0,0),
(25,'NuNuCa Nu-Nougat-Creme',11,3,'20 - 450 g glasses',14,76,0,30,0),
(26,'Gumbr Gummibrchen',11,3,'100 - 250 g bags',31.23,15,0,0,0),
(27,'Schoggi Schokolade',11,3,'100 - 100 g pieces',43.9,49,0,30,0),
(28,'Rssle Sauerkraut',12,7,'25 - 825 g cans',45.6,26,0,0,0),

Lic. ngel Gonzlez Santilln.


Lic. Vctor Manuel Evaristo Salinas.

14

Programacin Web

Instituto Tecnolgico de Tuxtepec.


(28,'Rssle Sauerkraut',12,7,'25 - 825 g cans',45.6,26,0,0,0),
(29,'Thringer Rostbratwurst',12,6,'50 bags x 30 sausgs.',123.79,0,0,0,0),
(30,'Nord-Ost Matjeshering',13,8,'10 - 200 g glasses',25.89,10,0,15,0),
(31,'Gorgonzola Telino',14,4,'12 - 100 g pkgs',12.5,0,70,20,0),
(32,'Mascarpone Fabioli',14,4,'24 - 200 g pkgs.',32,9,40,25,0),
(33,'Geitost',15,4,'500 g',2.5,112,0,20,0),
(34,'Sasquatch Ale',16,1,'24 - 12 oz bottles',14,111,0,15,0),
(35,'Steeleye Stout',16,1,'24 - 12 oz bottles',18,20,0,15,0),
(36,'Inlagd Sill',17,8,'24 - 250 g jars',19,112,0,20,0),
(37,'Gravad lax',17,8,'12 - 500 g pkgs.',26,11,50,25,0),
(38,'Cte de Blaye',18,1,'12 - 75 cl bottles',263.5,17,0,15,0),
(39,'Chartreuse verte',18,1,'750 cc per bottle',18,69,0,5,0),
(40,'Boston Crab Meat',19,8,'24 - 4 oz tins',18.4,123,0,30,0),
(41,'Jack\'s New England Clam Chowder',19,8,'12 - 12 oz cans',9.65,85,0,10,0),
(42,'Singaporean Hokkien Fried Mee',20,5,'32 - 1 kg pkgs.',14,26,0,0,0),
(43,'Ipoh Coffee',20,1,'16 - 500 g tins',46,17,10,25,0),
(44,'Gula Malacca',20,2,'20 - 2 kg bags',19.45,27,0,15,0),
(45,'Rgede sild',21,8,'1k pkg.',9.5,5,70,15,0),
(46,'Spegesild',21,8,'4 - 450 g glasses',12,95,0,0,0),
(47,'Zaanse koeken',22,3,'10 - 4 oz boxes',9.5,36,0,0,0),
(48,'Chocolade',22,3,'10 pkgs.',12.75,15,70,25,0),
(49,'Maxilaku',23,3,'24 - 50 g pkgs.',20,10,60,15,0),
(50,'Valkoinen suklaa',23,3,'12 - 100 g bars',16.25,65,0,30,0),
(51,'Manjimup Dried Apples',24,7,'50 - 300 g pkgs.',53,20,0,10,0),
(52,'Filo Mix',24,5,'16 - 2 kg boxes',7,38,0,25,0),
(53,'Perth Pasties',24,6,'48 pieces',32.8,0,0,0,0),
(54,'Tourtire',25,6,'16 pies',7.45,21,0,10,0),
(55,'Pt chinois',25,6,'24 boxes x 2 pies',24,115,0,20,0),
(56,'Gnocchi di nonna Alice',26,5,'24 - 250 g pkgs.',38,21,10,30,0),
(57,'Ravioli Angelo',26,5,'24 - 250 g pkgs.',19.5,36,0,20,0),
(58,'Escargots de Bourgogne',27,8,'24 pieces',13.25,62,0,20,0),
(59,'Raclette Courdavault',28,4,'5 kg pkg.',55,79,0,0,0),
(60,'Camembert Pierrot',28,4,'15 - 300 g rounds',34,19,0,0,0),
(61,'Sirop d\'rable',29,2,'24 - 500 ml bottles',28.5,113,0,25,0),
(62,'Tarte au sucre',29,3,'48 pies',49.3,17,0,0,0),
(63,'Vegie-spread',7,2,'15 - 625 g jars',43.9,24,0,5,0),
(64,'Wimmers gute Semmelkndel',12,5,'20 bags x 4 pieces',33.25,22,80,30,0),
(65,'Louisiana Fiery Hot Pepper Sauce',2,2,'32 - 8 oz bottles',21.05,76,0,0,0),
(66,'Louisiana Hot Spiced Okra',2,2,'24 - 8 oz jars',17,4,100,20,0),
(67,'Laughing Lumberjack Lager',16,1,'24 - 12 oz bottles',14,52,0,10,0),
(68,'Scottish Longbreads',8,3,'10 boxes x 8 pieces',12.5,6,10,15,0),
(69,'Gudbrandsdalsost',15,4,'10 kg pkg.',36,26,0,15,0),
(70,'Outback Lager',7,1,'24 - 355 ml bottles',15,15,10,30,0),
(71,'Fltemysost',15,4,'10 - 500 g pkgs.',21.5,26,0,0,0),
(72,'Mozzarella di Giovanni',14,4,'24 - 200 g pkgs.',34.8,14,0,0,0),
(73,'Rd Kaviar',17,8,'24 - 150 g jars',15,101,0,5,0),
(74,'Longlife Tofu',4,7,'5 kg pkg.',10,4,20,5,0),
(75,'Rhnbru Klosterbier',12,1,'24 - 0.5 l bottles',7.75,125,0,25,0),
(76,'Lakkalikri',23,1,'500 ml',18,57,0,20,0),
(77,'Original Frankfurter grne Soe',12,2,'12 boxes',13,32,0,15,0),
(78,'nuevo01',18,3,'100 por caja',100,50,20,10,0);

Lic. ngel Gonzlez Santilln.


Lic. Vctor Manuel Evaristo Salinas.

15

Programacin Web

Instituto Tecnolgico de Tuxtepec.


USE cursophp;
CREATE TABLE `empleados` (
`claveEmpleado` int(11) NOT NULL auto_increment,
`nombre` varchar(60) NOT NULL default '',
`puesto` varchar(30) default NULL,
`fechaNacimiento` datetime default NULL,
`fechaContratacion` datetime default NULL,
`direccion` varchar(60) default NULL,
`ciudad` varchar(15) default NULL,
`region` varchar(15) default NULL,
`codigoPostal` varchar(10) default NULL,
`pais` varchar(15) default NULL,
`telefono` varchar(24) default NULL,
`extension` varchar(4) default NULL,
`urlFoto` varchar(255) default NULL,
PRIMARY KEY (`claveEmpleado`),
UNIQUE KEY `claveEmpleado` (`claveEmpleado`),
KEY `pais` (`pais`)
) TYPE=MyISAM
USE cursophp;
INSERT INTO `empleados` (`claveEmpleado`, `nombre`, `puesto`,
`fechaNacimiento`, `fechaContratacion`, `direccion`, `ciudad`, `region`,
`codigoPostal`, `pais`, `telefono`, `extension`, `urlFoto`) VALUES
(1,'Nancy','Sales Representative','1968-12-08','1992-05-01','507 - 20th Ave. E.\r\nApt.
2A','Seattle','WA','98122','USA','(206) 555-9857','5467',''),
(2,'Andrew','Vice President, Sales','1952-02-19','1992-08-14','908 W. Capital
Way','Tacoma','WA','98401','USA','(206) 555-9482','3457',''),
(3,'Janet','Sales Representative','1963-08-30','1992-04-01','722 Moss Bay
Blvd.','Kirkland','WA','98033','USA','(206) 555-3412','3355',''),
(4,'Margaret','Sales Representative','1958-09-19','1993-05-03','4110 Old Redmond
Rd.','Redmond','WA','98052','USA','(206) 555-8122','5176',''),
(5,'Steven','Sales Manager','1955-03-04','1993-10-17','14 Garrett Hill','London','','SW1
8JR','UK','(71) 555-4848','3453',''),
(6,'Michael','Sales Representative','1963-07-02','1993-10-17','Coventry
House\r\nMiner Rd.','London','','EC2 7JR','UK','(71) 555-7773','428',''),
(7,'Robert','Sales Representative','1960-05-29','1994-01-02','Edgeham
Hollow\r\nWinchester Way','London','','RG1 9SP','UK','(71) 555-5598','465',''),
(8,'Laura','Inside Sales Coordinator','1958-01-09','1994-03-05','4726 - 11th Ave.
N.E.','Seattle','WA','98105','USA','(206) 555-1189','2344',''),
(9,'Anne','Sales Representative','1969-07-02','1994-11-15','7 Houndstooth
Rd.','London','','WG2 7LT','UK','(71) 555-4444','452','');

Lic. ngel Gonzlez Santilln.


Lic. Vctor Manuel Evaristo Salinas.

16

Programacin Web

Instituto Tecnolgico de Tuxtepec.


USE cursophp;
CREATE TABLE `entregas` (
`claveEntrega` int(11) NOT NULL auto_increment,
`descripcion` varchar(40) NOT NULL default '',
`telefono` varchar(24) default NULL,
PRIMARY KEY (`claveEntrega`),
UNIQUE KEY `claveEntrega` (`claveEntrega`)
) TYPE=MyISAM
USE cursophp;
INSERT INTO `entregas` (`claveEntrega`, `descripcion`, `telefono`) VALUES
(1,'Speedy Express','(503) 555-9831'),
(2,'United Package','(503) 555-3199'),
(3,'Federal Shipping','(503) 555-9931');
USE cursophp;
CREATE TABLE `clientes` (
`claveCliente` varchar(5) NOT NULL default '',
`cliente` varchar(40) NOT NULL default '',
`contacto` varchar(30) default NULL,
`puesto` varchar(30) default NULL,
`direccion` varchar(60) default NULL,
`ciudad` varchar(15) default NULL,
`region` varchar(15) default NULL,
`codigoPostal` varchar(10) default NULL,
`pais` varchar(15) default NULL,
`telefono` varchar(24) default NULL,
`fax` varchar(24) default NULL,
PRIMARY KEY (`claveCliente`),
UNIQUE KEY `claveCliente` (`claveCliente`),
KEY `pais` (`pais`)
) TYPE=MyISAM

Lic. ngel Gonzlez Santilln.


Lic. Vctor Manuel Evaristo Salinas.

17

Programacin Web

Instituto Tecnolgico de Tuxtepec.


USE cursophp;
INSERT INTO `clientes` (`claveCliente`, `cliente`, `contacto`, `puesto`, `direccion`,
`ciudad`, `region`, `codigoPostal`, `pais`, `telefono`, `fax`) VALUES
('ALFKI','Alfreds Futterkiste','Maria Anders','Sales Representative','Obere Str.
57','Berlin','','12209','Germany','030-0074321','030-0076545'),
('ANATR','Ana Trujillo Emparedados y helados','Ana Trujillo','Owner','Avda. de la
Constitucin 2222','Mxico D.F.','Norte','05021','Mexico','(5) 555-4729','(5) 555-3745'),
('ANTON','Antonio Moreno Taquera','Antonio Moreno','Owner','Mataderos
2312','Mxico D.F.','','05023','Mexico','(5) 555-3932',''),
('AROUT','Around the Horn','Thomas Hardy','Sales Representative','120 Hanover
Sq.','London','','WA1 1DP','UK','(171) 555-7788','(171) 555-6750'),
('BERGS','Berglunds snabbkp','Christina Berglund','Order
Administrator','Berguvsvgen 8','Lule','','S-958 22','Sweden','0921-12 34 65','0921-12
34 67'),
('BLAUS','Blauer See Delikatessen','Hanna Moos','Sales Representative','Forsterstr.
57','Mannheim','','68306','Germany','0621-08460','0621-08924'),
('BLONP','Blondel pre et fils','Frdrique Citeaux','Marketing Manager','24, place
Klber','Strasbourg','','67000','France','88.60.15.31','88.60.15.32'),
('BOLID','Blido Comidas preparadas','Martn Sommer','Owner','C/ Araquil,
67','Madrid','','28023','Spain','(91) 555 22 82','(91) 555 91 99'),
('BONAP','Bon app\'','Laurence Lebihan','Owner','12, rue des
Bouchers','Marseille','','13008','France','91.24.45.40','91.24.45.41'),
('BOTTM','Bottom-Dollar Markets','Elizabeth Lincoln','Accounting Manager','23
Tsawassen Blvd.','Tsawassen','BC','T2F 8M4','Canada','(604) 555-4729','(604) 5553745'),
('BSBEV','B\'s Beverages','Victoria Ashworth','Sales Representative','Fauntleroy
Circus','London','','EC2 5NT','UK','(171) 555-1212',''),
('CACTU','Cactus Comidas para llevar','Patricio Simpson','Sales Agent','Cerrito
333','Buenos Aires','sur','1010','Argentina','(1) 135-5555','(1) 135-4892'),
('CENTC','Centro comercial Moctezuma','Francisco Chang','Marketing
Manager','Sierras de Granada 9993','Mty','Sur','05022','Mexico','(5) 555-3392','(5) 5557293'),
('CHOPS','Chop-suey Chinese','Yang Wang','Owner','Hauptstr.
29','Bern','','3012','Switzerland','0452-076545',''),
('COMMI','Comrcio Mineiro','Pedro Afonso','Sales Associate','Av. dos Lusadas,
23','So Paulo','SP','05432-043','Brazil','(11) 555-7647',''),
('CONSH','Consolidated Holdings','Elizabeth Brown','Sales Representative','Berkeley
Gardens\r\n12 Brewery','London','','WX1 6LT','UK','(171) 555-2282','(171) 555-9199'),
('DRACD','Drachenblut Delikatessen','Sven Ottlieb','Order Administrator','Walserweg
21','Aachen','fsfsdfdsfdsfdsf','52066','Germany','0241-039123','0241-059428'),
('DUMON','Du monde entier','Janine Labrune','Owner','67, rue des Cinquante
Otages','Nantes','','44000','France','40.67.88.88','40.67.89.89'),
('EASTC','Eastern Connection','Ann Devon','Sales Agent','35 King
George','London','','WX3 6FW','UK','(171) 555-0297','(171) 555-3373'),
('ERNSH','Ernst Handel','Roland Mendel','Sales Manager','Kirchgasse
6','Graz','sur','8010','Austria','7675-3425','7675-3426'),

Lic. ngel Gonzlez Santilln.


Lic. Vctor Manuel Evaristo Salinas.

18

Programacin Web

Instituto Tecnolgico de Tuxtepec.


6','Graz','sur','8010','Austria','7675-3425','7675-3426'),
('FAMIA','Familia Arquibaldo','Aria Cruz','Marketing Assistant','Rua Ors, 92','So
Paulo','SP','05442-030','Brazil','(11) 555-9857',''),
('FISSA','FISSA Fabrica Inter. Salchichas S.A.','Diego Roel','Accounting Manager','C/
Moralzarzal, 86','Madrid','','28034','Spain','(91) 555 94 44','(91) 555 55 93'),
('FOLIG','Folies gourmandes','Martine Ranc','Assistant Sales Agent','184, chausse de
Tournai','Lille','','59000','France','20.16.10.16','20.16.10.17'),
('FOLKO','Folk och f HB','Maria Larsson','Owner','kergatan 24','Brcke','','S-844
67','Sweden','0695-34 67 21',''),
('FRANK','Frankenversand','Peter Franken','Marketing Manager','Berliner Platz
43','Mnchen','','80805','Germany','089-0877310','089-0877451'),
('FRANR','France restauration','Carine Schmitt','Marketing Manager','54, rue
Royale','Nantes','','44000','France','40.32.21.21','40.32.21.20'),
('FRANS','Franchi S.p.A.','Paolo Accorti','Sales Representative','Via Monte Bianco
34','Torino','','10100','Italy','011-4988260','011-4988261'),
('FURIB','Furia Bacalhau e Frutos do Mar','Lino Rodriguez','Sales Manager','Jardim das
rosas n. 32','Lisboa','','1675','Portugal','(1) 354-2534','(1) 354-2535'),
('GALED','Galera del gastrnomo','Eduardo Saavedra','Marketing Manager','Rambla
de Catalua, 23','Barcelona','','08022','Spain','(93) 203 4560','(93) 203 4561'),
('GODOS','Godos Cocina Tpica','Jos Pedro Freyre','Sales Manager','C/ Romero,
33','Sevilla','','41101','Spain','(95) 555 82 82',''),
('GOURL','Gourmet Lanchonetes','Andr Fonseca','Sales Associate','Av. Brasil,
442','Campinas','SP','04876-786','Brazil','(11) 555-9482',''),
('GREAL','Great Lakes Food Market','Howard Snyder','Marketing Manager','2732
Baker Blvd.','Eugene','OR','97403','USA','(503) 555-7555',''),
('GROSR','GROSELLA-Restaurante','Manuel Pereira','Owner','5 Ave. Los Palos
Grandes','Caracas','DF','1081','Venezuela','(2) 283-2951','(2) 283-3397'),
('HANAR','Hanari Carnes','Mario Pontes','Accounting Manager','Rua do Pao, 67','Rio
de Janeiro','RJ','05454-876','Brazil','(21) 555-0091','(21) 555-8765'),
('HILAA','HILARIN-Abastos','Carlos Hernndez','Sales Representative','Carrera 22
con Ave. Carlos Soublette #8-35','San Cristbal','Tchira','5022','Venezuela','(5) 5551340','(5) 555-1948'),
('HUNGC','Hungry Coyote Import Store','Yoshi Latimer','Sales Representative','City
Center Plaza\r\n516 Main St.','Elgin','OR','97827','USA','(503) 555-6874','(503) 5552376'),
('HUNGO','Hungry Owl All-Night Grocers','Patricia McKenna','Sales Associate','8
Johnstown Road','Cork','Co. Cork','','Ireland','2967 542','2967 3333'),
('ISLAT','Island Trading','Helen Bennett','Marketing Manager','Garden
House\r\nCrowther Way','Cowes','Isle of Wight','PO31 7PJ','UK','(198) 555-8888',''),
('KOENE','Kniglich Essen','Philip Cramer','Sales Associate','Maubelstr.
90','Brandenburg','','14776','Germany','0555-09876',''),
('LACOR','La corne d\'abondance','Daniel Tonini','Sales Representative','67, avenue de
l\'Europe','Versailles','','78000','France','30.59.84.10','30.59.85.11'),
('LAMAI','La maison d\'Asie','Annette Roulet','Sales Manager','1 rue AlsaceLorraine','Toulouse','','31000','France','61.77.61.10','61.77.61.11'),
('LAUGB','Laughing Bacchus Wine Cellars','Yoshi Tannamuri','Marketing

Lic. ngel Gonzlez Santilln.


Lic. Vctor Manuel Evaristo Salinas.

19

Instituto Tecnolgico de Tuxtepec.

Programacin Web

('LAUGB','Laughing Bacchus Wine Cellars','Yoshi Tannamuri','Marketing


Assistant','1900 Oak St.','Vancouver','BC','V3F 2K1','Canada','(604) 555-3392','(604)
555-7293'),
('LAZYK','Lazy K Kountry Store','John Steel','Marketing Manager','12 Orchestra
Terrace','Walla Walla','WA','99362','USA','(509) 555-7969','(509) 555-6221'),
('LEHMS','Lehmanns Marktstand','Renate Messner','Sales Representative','Magazinweg
7','Frankfurt a.M.','','60528','Germany','069-0245984','069-0245874'),
('LETSS','Let\'s Stop N Shop','Jaime Yorres','Owner','87 Polk St.\r\nSuite 5','San
Francisco','CA','94117','USA','(415) 555-5938',''),
('LILAS','LILA-Supermercado','Carlos Gonzlez','Accounting Manager','Carrera 52 con
Ave. Bolvar #65-98 Llano Largo','Barquisimeto','Lara','3508','Venezuela','(9) 3316954','(9) 331-7256'),
('LINOD','LINO-Delicateses','Felipe Izquierdo','Owner','Ave. 5 de Mayo Porlamar','I.
de Margarita','Nueva Esparta','4980','Venezuela','(8) 34-56-12','(8) 34-93-93'),
('LONEP','Lonesome Pine Restaurant','Fran Wilson','Sales Manager','89 Chiaroscuro
Rd.','Portland','OR','97219','USA','(503) 555-9573','(503) 555-9646'),
('MAGAA','Magazzini Alimentari Riuniti','Giovanni Rovelli','Marketing Manager','Via
Ludovico il Moro 22','Bergamo','','24100','Italy','035-640230','035-640231'),
('MAISD','Maison Dewey','Catherine Dewey','Sales Agent','Rue Joseph-Bens
532','Bruxelles','','B-1180','Belgium','(02) 201 24 67','(02) 201 24 68'),
('MEREP','Mre Paillarde','Jean Fresnire','Marketing Assistant','43 rue St.
Laurent','Montral','Qubec','H1J 1C3','Canada','(514) 555-8054','(514) 555-8055'),
('MORGK','Morgenstern Gesundkost','Alexander Feuer','Marketing Assistant','Heerstr.
22','Leipzig','','04179','Germany','0342-023176',''),
('NORTS','North/South','Simon Crowther','Sales Associate','South House\r\n300
Queensbridge','London','','SW7 1RZ','UK','(171) 555-7733','(171) 555-2530'),
('OCEAN','Ocano Atlntico Ltda.','Yvonne Moncada','Sales Agent','Ing. Gustavo
Moncada 8585\r\nPiso 20-A','Buenos Aires','','1010','Argentina','(1) 135-5333','(1) 1355535'),
('OLDWO','Old World Delicatessen','Rene Phillips','Sales Representative','2743 Bering
St.','Anchorage','AK','99508','USA','(907) 555-7584','(907) 555-2880'),
('OTTIK','Ottilies Kseladen','Henriette Pfalzheim','Owner','Mehrheimerstr.
369','Kln','','50739','Germany','0221-0644327','0221-0765721'),
('PARIS','Paris spcialits','Marie Bertrand','Owner','265, boulevard
Charonne','Paris','','75012','France','(1) 42.34.22.66','(1) 42.34.22.77'),
('PERIC','Pericles Comidas clsicas','Guillermo Fernndez','Sales Representative','Calle
Dr. Jorge Cash 321','Mxico D.F.','','05033','Mexico','(5) 552-3745','(5) 545-3745'),
('PICCO','Piccolo und mehr','Georg Pipps','Sales Manager','Geislweg
14','Salzburg','','5020','Austria','6562-9722','6562-9723'),
('PRINI','Princesa Isabel Vinhos','Isabel de Castro','Sales Representative','Estrada da
sade n. 58','Lisboa','','1756','Portugal','(1) 356-5634',''),
('QUEDE','Que Delcia','Bernardo Batista','Accounting Manager','Rua da Panificadora,
12','Rio de Janeiro','RJ','02389-673','Brazil','(21) 555-4252','(21) 555-4545'),
('QUEEN','Queen Cozinha','Lcia Carvalho','Marketing Assistant','Alameda dos
Canrios, 891','So Paulo','SP','05487-020','Brazil','(11) 555-1189','dasdasdasdasd'),
('QUICK','QUICK-Stop','Horst Kloss','Accounting Manager','Taucherstrae
Lic. ngel Gonzlez Santilln.
20
Lic. Vctor Manuel Evaristo Salinas.

Programacin Web

Instituto Tecnolgico de Tuxtepec.


('QUICK','QUICK-Stop','Horst Kloss','Accounting Manager','Taucherstrae
10','Cunewalde','','01307','Germany','0372-035188',''),
('RANCH','Rancho grande','Sergio Gutirrez','Sales Representative','Av. del Libertador
900','Buenos Aires','','1010','Argentina','(1) 123-5555','(1) 123-5556'),
('RATTC','Rattlesnake Canyon Grocery','Paula Wilson','Assistant Sales
Representative','2817 Milton Dr.','Albuquerque','NM','87110','USA','(505) 5555939','(505) 555-3620'),
('REGGC','Reggiani Caseifici','Maurizio Moroni','Sales Associate','Strada Provinciale
124','Reggio Emilia','','42100','Italy','0522-556721','0522-556722'),
('RICAR','Ricardo Adocicados','Janete Limeira','Assistant Sales Agent','Av.
Copacabana, 267','Rio de Janeiro','RJ','02389-890','Brazil','(21) 555-3412',''),
('RICSU','Richter Supermarkt','Michael Holz','Sales Manager','Grenzacherweg
237','Genve','','1203','Switzerland','0897-034214',''),
('ROMEY','Romero y tomillo','Alejandra Camino','Accounting Manager','Gran Va,
1','Madrid','','28001','Spain','(91) 745 6200','(91) 745 6210'),
('SANTG','Sant Gourmet','Jonas Bergulfsen','Owner','Erling Skakkes gate
78','Stavern','','4110','Norway','07-98 92 35','07-98 92 47'),
('SAVEA','Save-a-lot Markets','Jose Pavarotti','Sales Representative','187 Suffolk
Ln.','Boise','ID','83720','USA','(208) 555-8097',''),
('SEVES','Seven Seas Imports','Hari Kumar','Sales Manager','90 Wadhurst
Rd.','London','','OX15 4NB','UK','(171) 555-1717','(171) 555-5646'),
('SIMOB','Simons bistro','Jytte Petersen','Owner','Vinbltet
34','Kbenhavn','','1734','Denmark','31 12 34 56','31 13 35 57'),
('SPECD','Spcialits du monde','Dominique Perrier','Marketing Manager','25, rue
Lauriston','Paris','','75016','France','(1) 47.55.60.10','(1) 47.55.60.20'),
('SPLIR','Split Rail Beer & Ale','Art Braunschweiger','Sales Manager','P.O. Box
555','Lander','WY','82520','USA','(307) 555-4680','(307) 555-6525'),
('SUPRD','Suprmes dlices','Pascale Cartrain','Accounting Manager','Boulevard Tirou,
255','Charleroi','','B-6000','Belgium','(071) 23 67 22 20','(071) 23 67 22 21'),
('THEBI','The Big Cheese','Liz Nixon','Marketing Manager','89 Jefferson Way\r\nSuite
2','Portland','OR','97201','USA','(503) 555-3612',''),
('THECR','The Cracker Box','Liu Wong','Marketing Assistant','55 Grizzly Peak
Rd.','Butte','MT','59801','USA','(406) 555-5834','(406) 555-8083'),
('TOMSP','Toms Spezialitten','Karin Josephs','Marketing Manager','Luisenstr.
48','Mnster','','44087','Germany','0251-031259','0251-035695'),
('TORTU','Tortuga Restaurante','Miguel Angel Paolino','Owner','Avda. Azteca
123','Mxico D.F.','','05033','Mexico','(5) 555-2933',''),
('TRADH','Tradio Hipermercados','Anabela Domingues','Sales Representative','Av.
Ins de Castro, 414','So Paulo','SP','05634-030','Brazil','(11) 555-2167','(11) 555-2168'),
('TRAIH','Trail\'s Head Gourmet Provisioners','Helvetius Nagy','Sales Associate','722
DaVinci Blvd.','Kirkland','WA','98034','USA','(206) 555-8257','(206) 555-2174'),
('VAFFE','Vaffeljernet','Palle Ibsen','Sales Manager','Smagslget
45','rhus','','8200','Denmark','86 21 32 43','86 22 33 44'),
('VICTE','Victuailles en stock','Mary Saveley','Sales Agent','2, rue du
Commerce','Lyon','','69004','France','78.32.54.86','78.32.54.87'),

Lic. ngel Gonzlez Santilln.


Lic. Vctor Manuel Evaristo Salinas.

21

Programacin Web

Instituto Tecnolgico de Tuxtepec.


Commerce','Lyon','','69004','France','78.32.54.86','78.32.54.87'),
('VINET','Vins et alcools Chevalier','Paul Henriot','Accounting Manager','59 rue de
l\'Abbaye','Reims','','51100','France','26.47.15.10','26.47.15.11'),
('WANDK','Die Wandernde Kuh','Rita Mller','Sales Representative','Adenauerallee
900','Stuttgart','','70563','Germany','0711-020361','0711-035428'),
('WARTH','Wartian Herkku','Pirkko Koskitalo','Accounting Manager','Torikatu
38','Oulu','','90110','Finland','981-443655','981-443655'),
('WELLI','Wellington Importadora','Paula Parente','Sales Manager','Rua do Mercado,
12','Resende','SP','08737-363','Brazil','(14) 555-8122',''),
('WHITC','White Clover Markets','Karl Jablonski','Owner','305 - 14th Ave. S.\r\nSuite
3B','Seattle','WA','98128','USA','(206) 555-4112','(206) 555-4115'),
('WILMK','Wilman Kala','Matti Karttunen','Owner/Marketing Assistant','Keskuskatu
45','Helsinki','','21240','Finland','90-224 8858','90-224 8858'),
('WOLZA','Wolski Zajazd','Zbyszek Piestrzeniewicz','Owner','ul. Filtrowa
68','Warszawa','','01-012','Poland','(26) 642-7012','(26) 642-7012');
USE cursophp;
CREATE TABLE `pedidos` (
`clavePedido` int(11) NOT NULL auto_increment,
`claveCliente` varchar(5) NOT NULL default '0',
`claveEmpleado` int(11) NOT NULL default '0',
`fecha` datetime NOT NULL default '0000-00-00 00:00:00',
`fechaDeEntrega` datetime default NULL,
`fechaDeEnvio` datetime default NULL,
`claveEntrega` int(11) NOT NULL default '0',
`flete` double default NULL,
`nombreEnvio` varchar(40) default NULL,
`direccionEnvio` varchar(60) default NULL,
`ciudadEnvio` varchar(15) default NULL,
`regionEnvio` varchar(15) default NULL,
`codigoPostalEnvio` varchar(10) default NULL,
`paisEnvio` varchar(15) default NULL,
PRIMARY KEY (`clavePedido`),
UNIQUE KEY `clavePedido` (`clavePedido`),
KEY `claveCliente` (`claveCliente`),
KEY `claveEmpleado` (`claveEmpleado`),
KEY `claveEntrega` (`claveEntrega`),
KEY `paisEnvio` (`paisEnvio`)
) TYPE=MyISAM

Lic. ngel Gonzlez Santilln.


Lic. Vctor Manuel Evaristo Salinas.

22

Programacin Web

Instituto Tecnolgico de Tuxtepec.


USE cursophp;
INSERT INTO `pedidos` (`clavePedido`, `claveCliente`, `claveEmpleado`, `fecha`,
`fechaDeEntrega`, `fechaDeEnvio`, `claveEntrega`, `flete`, `nombreEnvio`,
`direccionEnvio`, `ciudadEnvio`, `regionEnvio`, `codigoPostalEnvio`, `paisEnvio`)
VALUES
(10248,'VINET',5,'1996-07-04','1996-08-01','1996-07-16',3,32.38,'Vins et alcools
Chevalier','59 rue de l\'Abbaye','Reims','','51100','France'),
(10249,'TOMSP',6,'1996-07-05','1996-08-16','1996-07-10',1,11.61,'Toms
Spezialitten','Luisenstr. 48','Mnster','','44087','Germany'),
(10250,'HANAR',4,'1996-07-08','1996-08-05','1996-07-12',2,65.83,'Hanari Carnes','Rua
do Pao, 67','Rio de Janeiro','RJ','05454-876','Brazil'),
(10251,'VICTE',3,'1996-07-08','1996-08-05','1996-07-15',1,41.34,'Victuailles en
stock','2, rue du Commerce','Lyon','','69004','France'),
(10252,'SUPRD',4,'1996-07-09','1996-08-06','1996-07-11',2,51.3,'Suprmes
dlices','Boulevard Tirou, 255','Charleroi','','B-6000','Belgium'),
(10253,'HANAR',3,'1996-07-10','1996-07-24','1996-07-16',2,58.17,'Hanari Carnes','Rua
do Pao, 67','Rio de Janeiro','RJ','05454-876','Brazil'),
(10254,'CHOPS',5,'1996-07-11','1996-08-08','1996-07-23',2,22.98,'Chop-suey
Chinese','Hauptstr. 31','Bern','','3012','Switzerland'),
(10255,'RICSU',9,'1996-07-12','1996-08-09','1996-07-15',3,148.33,'Richter
Supermarkt','Starenweg 5','Genve','','1204','Switzerland'),
(10256,'WELLI',3,'1996-07-15','1996-08-12','1996-07-17',2,13.97,'Wellington
Importadora','Rua do Mercado, 12','Resende','SP','08737-363','Brazil'),
(10257,'HILAA',4,'1996-07-16','1996-08-13','1996-07-22',3,81.91,'HILARINAbastos','Carrera 22 con Ave. Carlos Soublette #8-35','San
Cristbal','Tchira','5022','Venezuela');
USE cursophp;
CREATE TABLE `pedidosdetalle` (
`clavePedido` int(11) NOT NULL default '0',
`claveProducto` int(11) NOT NULL default '0',
`precioUnitario` double NOT NULL default '0',
`cantidad` int(11) NOT NULL default '0',
`descuento` double NOT NULL default '0',
KEY `clavePedido` (`clavePedido`),
KEY `claveProducto` (`claveProducto`)
) TYPE=MyISAM

Lic. ngel Gonzlez Santilln.


Lic. Vctor Manuel Evaristo Salinas.

23

Programacin Web

Instituto Tecnolgico de Tuxtepec.


USE cursophp;
INSERT INTO `pedidosdetalle` (`clavePedido`, `claveProducto`, `precioUnitario`,
`cantidad`, `descuento`) VALUES
(10533,4,22,50,0.0500000007450581),
(10533,72,34.8,24,0),
(10710,47,9.5,5,0),
(10711,19,9.2,12,0),
(10711,41,9.65,42,0),
(10711,53,32.8,120,0),
(10712,53,32.8,3,0.0500000007450581),
(10712,56,38,30,0),
(10713,10,31,18,0),
(10713,26,31.23,30,0),
(10713,45,9.5,110,0),
(10713,46,12,24,0),
(10714,2,19,30,0.25),
(10714,17,39,27,0.25),
(10714,47,9.5,50,0.25),
(10714,56,38,18,0.25),
(10714,58,13.25,12,0.25),
(10715,10,31,21,0),
(10715,71,21.5,30,0),
(10716,21,10,5,0),
(10716,51,53,7,0),
(10716,61,28.5,10,0),
(10717,21,10,32,0.0500000007450581),
(10717,54,7.45,15,0),
(10717,69,36,25,0.0500000007450581),
(10718,12,38,36,0),
(10718,16,17.45,20,0),
(10718,36,19,40,0),
(10718,62,49.3,20,0),
(10719,18,62.5,12,0.25),
(10719,30,25.89,3,0.25),
(10719,54,7.45,40,0.25),
(10720,35,18,21,0),
(10720,71,21.5,8,0),
(10721,44,19.45,50,0.0500000007450581),
(10722,2,19,3,0),
(10722,31,12.5,50,0),
(10722,68,12.5,45,0),
(10722,75,7.75,42,0);
COMMIT;

Lic. ngel Gonzlez Santilln.


Lic. Vctor Manuel Evaristo Salinas.

24

Programacin Web

Instituto Tecnolgico de Tuxtepec.


SELECT
Extrae informacin de las tablas, sintaxis:
SELECT campo1,campo2,....,campoN FROM tabla
WHERE condiciones
Por ejemplo:
1. select * from categoras;
2. select * from categorias where claveCategoria = 2;
3. select * from categorias where categoria ='carnes';
4. select claveProducto,producto, existencia from productos where
existencia < 10 ORDER BY existencia;
UPDATE
Actualiza informacin, sintaxis:
UPDATE tabla SET campo1 = valor1, campo2 = valor2, campoN = valorN
WHERE condiciones
1. select * from entregas;
2. update entregas set descripcion = 'United Shipping' where
claveEntrega = 2;
3. select * from entregas;
DELETE
Borra informacin, sintaxis:
DELETE FROM tabla
WHERE condiciones
1.select * from entregas;
2.delete from entregas where claveEntrega = 4;
3.select * from entregas;
Asociando tablas con joins
Un join nos permite asociar varias tablas y extraer datos de ambas. Para que el join pueda
asociar las tablas ambas deben tener al menos un campo en comn, por ejemplo, las tablas de
productos y categorias estn asociadas mediante el campo claveCategoria:
desc categorias;
desc productos;
Para obtener la descripcin de la categora para su respectiva clave almacenada en productos el
join seria como este:
select productos.claveProducto,productos.producto,categorias.categoria
categorias where productos.claveCategoria =categorias.claveCategoria;

Lic. ngel Gonzlez Santilln.


Lic. Vctor Manuel Evaristo Salinas.

from

productos,

25

Programacin Web

Instituto Tecnolgico de Tuxtepec.


Para el caso de realizar una consulta de la base de datos cursophp en la tabla
entregas es necesario emplear las instrucciones de conexin a la base de datos y
su respectiva consulta como hemos venido practicando quedando de la siguiente
manera:
<HTML>
<HEAD>
<TITLE>Gestin de noticias - Consulta de noticias</TITLE>
<LINK REL="stylesheet" TYPE="text/css" HREF="estilo.css">
</HEAD>
<BODY>
<H1>Consulta a la base de datos cursophp</H1>
<H2>A la tabla entregas</H2>
<?PHP
// Conectar con el servidor de base de datos
$conexion = mysql_connect ("localhost", "root", "root")
or die ("No se puede conectar con el servidor");
// Seleccionar base de datos
mysql_select_db ("cursophp")
or die ("No se puede seleccionar la base de datos");
// Enviar consulta
$instruccion = "select * from entregas";
$consulta = mysql_query ($instruccion, $conexion)
or die ("Fallo en la consulta");
// Mostrar resultados de la consulta
$nfilas = mysql_num_rows ($consulta);
if ($nfilas > 0)
{
print ("<TABLE>\n");
print ("<TR>\n");
print ("<TH>Cve. entrega</TH>\n");
print ("<TH>Descripcion</TH>\n");
print ("<TH>Telefono</TH>\n");
print ("</TR>\n");
for ($i=0; $i<$nfilas; $i++)
{
$resultado = mysql_fetch_array ($consulta);
print ("<TR>\n");
print ("<TD>" . $resultado['claveEntrega'] . "</TD>\n");
print ("<TD>" . $resultado['descripcion'] . "</TD>\n");
print ("<TD>" . $resultado['telefono'] . "</TD>\n");
print ("</TR>\n");
}
print ("</TABLE>\n");
}
else
print ("No hay noticias disponibles");

Lic. ngel Gonzlez Santilln.


Lic. Vctor Manuel Evaristo Salinas.

26

Programacin Web

Instituto Tecnolgico de Tuxtepec.


// Cerrar conexin
mysql_close ($conexion);
?>
<P>[ <A HREF='noticias.html'>Men principal</A> ]</P>
</BODY>
</HTML>

Para el caso de generar la consulta de otra tabla bastar con cambiar el nombre
de la tabla por la que se quiere consultar, siempre y cuando estemos hablando de
la misma base de datos.
Ahora vamos trabajar con la misma base de datos (cursophp) pero con una
nueva tabla llamada prueba como se ve acontinuacin:
CREATE TABLE prueba (
ID_Prueba int(11) NOT NULL auto_increment,
Nombre varchar(100),
Apellidos varchar(100),
PRIMARY KEY (ID_Prueba),
UNIQUE ID_Prueba (ID_Prueba)

Crearemos un archivo llamado conex.php donde colocaremos otra forma de


trabajar con conexin a base de datos distinta al ejemplo anterior, el motivo por
el cual colocaremos el cdigo de conexin a la base de datos en un archivo es por
que nos permite utilizarlo varias veces desde archivos distintos y quedara as:

Lic. ngel Gonzlez Santilln.


Lic. Vctor Manuel Evaristo Salinas.

<?php
function Conectarse()
{
if (!($link=mysql_connect("localhost","root","root")))
{
echo "Error conectando a la base de datos.";
exit();
}
if (!mysql_select_db("cursophp",$link))
{
echo "Error seleccionando la base de datos.";
exit();
}
return $link;
}
?>
27

Programacin Web

Instituto Tecnolgico de Tuxtepec.


En ste manual ya vimos como con ejemplos prcticos como podemos alimentar
las tablas con informacin desde el Shell de MySQL, por lo que ahora veremos
como se inserta informacin a la tabla (prueba) creando el cdigo de la siguiente
pgina que se llamar inserta.php:

Lic. ngel Gonzlez Santilln.


Lic. Vctor Manuel Evaristo Salinas.

<html>
<head>
<title>Ejemplo de PHP</title>
</head>
<body>
<H1>Ejemplo de uso de bases de datos con PHP y MySQL</H1>
<FORM ACTION="procesar.php">
<TABLE>
<TR>
<TD>Nombre:</TD>
<TD><INPUT TYPE="text" NAME="Nombre" SIZE="20"
MAXLENGTH="30"></TD>
</TR>
<TR>
<TD>Apellidos:</TD>
<TD><INPUT TYPE="text" NAME="Apellidos" SIZE="20"
MAXLENGTH="30"></TD>
</TR>
</TABLE>
<INPUT TYPE="submit" NAME="accion" VALUE="Grabar">
</FORM>
<hr>
<?php
include("conex.php");
$link=Conectarse();
$result=mysql_query("select * from prueba",$link);
?>
<TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1>
<TR><TD>&nbsp;<B>Numero</B></TD><TD>&nbsp;<B>Nombre</B><
/TD> <TD>&nbsp;<B>Apellidos</B>&nbsp;</TD></TR>
<?php
while($row = mysql_fetch_array($result)) {
printf("<tr><td>&nbsp;%s</td><td>&nbsp;%s</td>
<td>&nbsp;%s&nbsp;</td></tr>",$row["ID_Prueba"], $row["Nombre"],
$row["Apellidos"]);
}
mysql_free_result($result);
mysql_close($link);
?>
</table>
</body>
</html>

28

Programacin Web

Instituto Tecnolgico de Tuxtepec.


A pesar de que desde el Shell de MySQL se puede desplegar el contenido de la
tabla (MySQL>select * from prueba;) podemos crear un archivo que se llame
cnsul.php para verificar desde una pgina el contenido de esa tabla quedando
como sigue:
<html>
<head>
<title>Ejemplo de PHP</title>
</head>
<body>
<H1>Ejemplo de uso de bases de datos con PHP y MySQL</H1>
<?php
include("conex.php");
$link=Conectarse();
$result=mysql_query("select * from prueba",$link);
?>
<TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1>
<TR><TD>&nbsp;Numero&nbsp;</TD><TD>&nbsp;Nombre&nbsp;</
TD><TD>&nbsp;Apellidos&nbsp;</TD></TR>
<?php
while($row = mysql_fetch_array($result)) {
printf("<tr><td>&nbsp;%s&nbsp;</td><td>&nbsp;%s&nbsp;</td><td
>&nbsp;%s&nbsp;</td></tr>",
$row["ID_Prueba"],$row["Nombre"],$row["Apellidos"]);
}
mysql_free_result($result);
mysql_close($link);
?>
</table>
</body>
</html>

El siguiente paso pendiente es la eliminacin de la informacin antes capturada,


motivo por el cual lo desarrollaremos en 2 archivos, el primero se llamar quita.php ,
ste se encargar de desplegar en una tabla (HTML) la informacin que contiene la tabla
prueba de la base de datos cursophp y que a su vez dar la opcin de eliminacin de
dicho registro como sigue:

Lic. ngel Gonzlez Santilln.


Lic. Vctor Manuel Evaristo Salinas.

29

Programacin Web

Instituto Tecnolgico de Tuxtepec.


<html>
<head>
<title>Ejemplo de PHP</title>
</head>
<body>
<H1>Ejemplo de uso de bases de datos con PHP y MySQL</H1>
<?php
include("conex.php");
$link=Conectarse();
$result=mysql_query("select * from prueba",$link);
?>
<TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1>
<TR><TD>&nbsp;<B>Nombre</B></TD>
<TD>&nbsp;<B>Apellidos</B>&nbsp;</TD>
<TD>&nbsp;<B>Borrar</B>&nbsp;</TD></TR>
<?php
while($row = mysql_fetch_array($result)) {
printf("<tr><td>&nbsp;%s</td><td>&nbsp;%s&nbsp;</td><td><a
href=\"borra.php?id=%d\">Borra</a></td></tr>",
$row["Nombre"],$row["Apellidos"],$row["ID_Prueba"]);
}
mysql_free_result($result);
mysql_close($link);
?>
</table>
</body>
</html>

Y un segundo fichero que se encargar de ejecutar la operacin llamado


borra.php y el cdigo es el siguiente:
<?php
include("conex.php");
$link=Conectarse();
$id=$_GET['id'];
mysql_query("delete from prueba where ID_Prueba = $id",$link);
header("Location: quita.php");
?>

Lic. ngel Gonzlez Santilln.


Lic. Vctor Manuel Evaristo Salinas.

30

Programacin Web

Instituto Tecnolgico de Tuxtepec.


Reflexiones y anlisis de resultados.
Para el caso de los ejercicios aqu planteados se consideran casos
prcticos que previamente fueron probados es recomendable
tomar en consideracin que despus de ver el smbolo @ ejecuten
la prctica para no perder la secuencia de lo que se pretende
aprender con ste manual para sta unidad (III).
En los ejercicios de MySQL se trabaja en ambiente Shell para
conocer de cerca las caractersticas y propiedades en la
manipulacin de tablas en base de datos a pesar de que el
Xammp tiene su propio panel de control con el cual pueden ir
verificando los ejercicios (opcional); Tambin como se trabaja en
modo Shell antes de ejecutar una lnea de comando se despliega
el contenido de la tabla con que se va a trabajar para poder ver el
antes y despus de la operacin.

Bibliografa o fuentes complementarias.

Lic. ngel Gonzlez Santilln.


Lic. Vctor Manuel Evaristo Salinas.

Flash, PHP y MySQL. Contenidos dinmicos. Edicin 2006


Anaya Multimedia
Diseo y Creatividad
Daniel de la Cruz Heras / Carlos David Zumbado Rodrguez

PHP y MySQL prctico. Para diseadores y programadores Web


Quigley, Ellie, Gargenta, Marko
PROGRAMACIN
Creacin de un portal con PHP y MySQL
Pavn Puertas, Jacobo
Ra-Ma, Librera y Editorial Microinformtica
http://www.webestilo.com/php/php07a.phtml

31

Você também pode gostar