Escolar Documentos
Profissional Documentos
Cultura Documentos
Programacin Web
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..
<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
<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
@
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>
Programacin Web
@
Para la definicin de funciones el cdigo es el siguiente:
<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
@
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>
Programacin Web
@
Una combinacin de html y php para desplegar una tabla sera el siguiente
cdigo:
<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>
Programacin Web
@
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;
Programacin Web
@
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
Para obtener la estructura de una tabla, en este caso la tabla por default de
Mysql:
DESC host;
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:
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
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:
10
Programacin Web
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');
11
Programacin Web
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',''),
12
Programacin Web
13
Programacin Web
14
Programacin Web
15
Programacin Web
16
Programacin Web
17
Programacin Web
18
Programacin Web
19
Programacin Web
Programacin Web
21
Programacin Web
22
Programacin Web
23
Programacin Web
24
Programacin Web
from
productos,
25
Programacin Web
26
Programacin Web
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)
<?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
<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> <B>Numero</B></TD><TD> <B>Nombre</B><
/TD> <TD> <B>Apellidos</B> </TD></TR>
<?php
while($row = mysql_fetch_array($result)) {
printf("<tr><td> %s</td><td> %s</td>
<td> %s </td></tr>",$row["ID_Prueba"], $row["Nombre"],
$row["Apellidos"]);
}
mysql_free_result($result);
mysql_close($link);
?>
</table>
</body>
</html>
28
Programacin Web
29
Programacin Web
30
Programacin Web
31