Professional Documents
Culture Documents
Copyright 2004
Copyright 2004
Copyright 2004
Objetivos de Aprendizaje
Describir PHP, sus caractersticas y su evolucin Discutir los beneficios y funcionalidades de PHP
Copyright 2004
Qu es PHP?
PHP, acrnimo de PHP: Hypertext Preprocessor
(Preprocesador de Hipertexto PHP), es un lenguaje interpretado de alto nivel que se ejecuta del lado del servidor.
PHP est especialmente diseado para desarrollos
Copyright 2004
Interpreter) 1997
PHP 5.0
PHP
5 posee un nuevo modelo de objetos completamente reestructurado y muchas otras caractersticas adicionales. Zend 2.0.
sobrescritos).
Clases finales (clases de las cuales ninguna otra
PHP 5.0 2
Modificadores de acceso para atributos y mtodos. Clases y mtodos abstractos. Clases y mtodos
Copyright 2004
Caractersticas de PHP
Lenguaje de script del lado del servidor. Se puede embeber o incrustar en HTML. Trabaja en plataformas cruzadas (cross-plataform). Lenguaje de Cdigo Abierto (Open Source).
Copyright 2004
usando protocolos tales como LDAP, IMAP, SNMP, NNTP, POP3, HTTP...
Copyright 2004
muy
tiles
para
el
Soporta los estndares SAX y DOM para procesar y Tambin se puede utilizar la extensin XSLT para
Copyright 2004
entorno web, esto permite que funcione en forma ms rpida y eficiente con HTML.
PHP no est vinculado a ningn sistema operativo
ni servidor web.
Copyright 2004
Funcionamiento de PHP
cdigo HTML utilizando etiquetas especiales de inicio y fin (<?php ... ?> <? ... ?>).
Copyright 2004
Copyright 2004
Arquitectura de PHP
Copyright 2004
Existen dos
Windows:
A travs de un asistente de instalacin. Manualmente.
Copyright 2004
editor de texto.
Los archivos creados deben ser guardados con la
extensin .php.
Se deben colocar unas etiquetas delimitadoras de
inicio y fin de cdigo PHP: <?php ... ?> o <? ... ?>
Guarde el archivo .php, en el directorio raz del
http://localhost/archivo.php
Copyright 2004
Resumen
Se
Se discutieron los beneficios y funcionalidades de Se explic cmo funciona un script hecho en PHP Se describi la arquitectura de PHP Se cre un script sencillo en PHP
Copyright 2004
Copyright 2004
Objetivos de Aprendizaje
Explicar la sintaxis bsica de PHP Describir el uso de variables y constantes Indicar los diferentes tipos de datos que posee
PHP
Describir el uso de los operadores disponibles
en PHP
Discutir las estructuras de control de PHP
Copyright 2004
completo (<?php ... ?>), pues se garantiza la compatibilidad entre diferentes plataformas.
Las instrucciones PHP finalizan con punto y coma.
Copyright 2004
Copyright 2004
?>
Variables en PHP
Nombres de Variables
El nombre de las variables debe comenzar con el
signo $ seguido con una letra en los rangos (A Z , a z) o el caracter underscore (_). El nombre de una variable no puede comenzar con un nmero.
rangos (A Z, a z), nmeros (0 9), el carcter especial under score (_) y los caracteres ASCII del 127 al 255 (extendidos). maysculas y minsculas.
Copyright 2004
Variables Escalares
Una variable escalar se usa para almacenar un
valor individual.
No se necesita declarar explcitamente un tipo de
dato para una variable en PHP. Adems una variable puede contener cualquier tipo de dato.
Se utiliza el operador = (igualdad), para asignarle
?>
Copyright 2004
Variables escalares 2
Asignacin de variables por Referencia
La variable a la que se le asigna la referencia se
Los cambios a la nueva variable afectan a la original Para asignar una variable por referencia se utiliza el
Variables Arreglos
Los arreglos (arrays) son colecciones de nmeros,
cadenas u otros arreglos, ensamblados en una sola variable, permitiendo guardar mltiples valores, a diferencia de las variables escalares.
Arreglos unidimensionales:
$vector[i] = $var1;
Arreglos bidimensionales:
$matriz[i][j] = $var2;
Arreglo de multidimensionales:
$multi[i][j][k][l] = $var4;
Copyright 2004
Creacin de Arreglos
Crear un arreglo por asignacin de valores
indicando un ndice:
<?php #Creando un arreglo asignacin de valores unidimensional por
$arreglo[0] = primer valor; $arreglo[1] = 2; $arreglo[2] = 3.5; $arrreglo[] = ltimo valor; ?>
Copyright 2004
Creacin de Arreglos 2
Crear un arreglo por asignacin de valores
indicando un ndice:
<?php #Creando un arreglo asignacin de valores $matriz[0][0] = 100; $matriz[0][1] = 200; $matriz[1][0] = 10.75; $matriz[1][1] = 20.75; ?>
Copyright 2004
bidimensional
por
Creacin de Arreglos
Crear un arreglo por asignacin de valores
$arreglo[cero] = primer valor; $arreglo[uno] = 2; $arreglo[dos] = 3.5; $arrreglo[] = ltimo valor; ?>
Copyright 2004
Creacin de Arreglos 3
Crear un arreglo por asignacin de valores
Creacin de Arreglos 4
Crear un arreglo unidimensional utilizando la
?>
Copyright 2004
Creacin de Arreglos 5
Crear un arreglo unidimensional utilizando
la
"rj"=>"rojo",
"ng"=>"negro"
); ?>
Copyright 2004
Creacin de Arreglos 6
Crear un arreglo bidimensional utilizando
la
"limon"=>array("color"=>"verde","sabor"=>"cido")
); ?>
Copyright 2004
global.
Dentro de las funciones definidas por el usuario se
PHP, las variables globales deben ser declaradas explcitamente como globales dentro de la funcin si van a ser utilizadas.
Copyright 2004
$GLOBALS["glob2"] = $GLOBALS["glob1"]+
$GLOBALS["glob2"]; } sumaGlob(); echo $glob2; // Se imprime 30 ?>
Copyright 2004
Variables Estticas
Una variable esttica (static) existe slo en el
alcance local de la funcin, pero no pierde su valor cuando la ejecucin sale del alcance local.
<?php
function prueba(){ static $estatica = 0;
echo $estatica;
$estatica++; print $estatica; }
prueba(); // se imprime 1
prueba(); // se imprime 2 prueba(); // se imprime 3 ?>
Copyright 2004
Variables Predefinidas
PHP proporciona una gran cantidad de variables
predefinidas que se utilizan para almacenar valores especficos cuando se ejecutan los scripts.
Estas variables pueden ser accedidas dentro del
vara dependiendo del servidor que se est ejecutando, versin, configuracin de dicho servidor y otros factores.
EJEMPLO: $GLOBALS, $_SERVER, $_ENV
Copyright 2004
Constantes
Una constante es un identificador que hace
una letra en los rangos (A Z , a z), o el caracter underscore (_), seguido por una combinacin de letras, nmeros (0 9), underscore (_) y los caracteres ASCII del 127 al 255 (extendidos).
establecerse.
Slo pueden contener valores escalares.
Copyright 2004
Constantes 2
Definir una constante en PHP.
<?php define("MI_CONSTANTE", "Hola Mundo PHP!"); echo MI_CONSTANTE; //Imprime Hola Mundo PHP! ?>
definidas en el ncleo de PHP, el motor Zend y los mdulos SAPI. Por ejemplo: PHP_VERSION, PHP_OS.
Constantes
Estndar Predefinidas: Son constantes definidas en PHP por defecto. Se utilizan para indicar opciones en algunas instrucciones. Por ejemplo: SORT_ASC, M_SQRT2.
Copyright 2004
Tipos de Datos
Nmeros Enteros Nmeros Punto Flotante Lgicos o Booleanos Cadenas En PHP el tipo de dato no se asigna explcitamente
a una variable.
Sin embargo, si se quiere obligar a que una
Interpolacin de Cadena
Interpolacin de cadena significa que siempre que
una variable escalar es colocada dentro de una cadena con comillas dobles, se mostrar su contenido, no el nombre de la variable.
<?php $mensaje = "Bienvenido a IBM"; print "$mensaje"; ?>
Interpolacin de Cadena2
El backslash (\) se utiliza, del mismo modo que en
Secuencias de Escape..
Secuencia \n \r \t \\ \$ \" \' Significado Nueva lnea Retorno de carro Tabulacin horizontal Barra invertida (backslash) Signo dlar Comilla doble Comilla simple
Copyright 2004
No Interpolacin de Cadena
Cuando una variable es colocada dentro de comillas
Copyright 2004
Conversin de Tipos
En PHP el tipo de una variable se determina por el
Copyright 2004
Conversin de Tipos 2
<?php # Conversin automtica de tipos # $var1="100"; $var2="25.75"; echo $var1+$var2; //Imprime 125.75 echo $var1*$var2; //Imprime 2575 $var3="casa"; $var4=20; echo $var3+$var4; //Imprime 20 echo $var1*$var2; //Imprime 0 ?>
Copyright 2004
Conversin de Cadenas
Cuando se hacen conversiones de cadenas a
valores numricos, la cadena se evalua como un punto flotante si contiene alguno de los caracteres '.', 'e', o 'E' (exponente). En caso contrario, se evalua como un entero.
Con la funcin de PHP gettype($variable) se puede
la funcin de PHP var_dump($variable) adems de mostrar el tipo de dato de la variable, muestra el valor que contiene.
Copyright 2004
Casting de Variables
Otra forma de hacer conversin de tipos es hacer
casting.
nombre del tipo deseado se escribe entre parntesis antes de la variable a la que se pretende que adquiera un tipo especfico.
$entero = 10; // Entero
$flotante = (double)$entero; // Punto flotante
Copyright 2004
Casting de Variables 2
Casting de Tipos
Tipo (int), (integer) (real),(double), float) (string) (boolean) (array) Conversin Convierte a entero Convierte a doble Convierte a cadena Convierte a booleano Convierte a arreglo
(object)
Convierte a objeto
Copyright 2004
Operadores en PHP
Operador de Asignacin
El operador de asignacin en PHP es el signo de
Operador de Concatenacin
El operador de concatenacin en PHP es el punto
Copyright 2004
Operadores Aritmticos
Operador
Descripcin Adicin o suma. Suma de $a ms $b Substraccin o resta. Diferencia entre $a y $b Multiplicacin. Producto de $a por $b Divisin. Cociente de $a entre $b Resto o Mdulo. Resto de $a entre $b
Ejemplo $c = $a + $b $c = $a - $b $c = $a * $b $c = $a / $b $c = $a % $b
+ * / %
Copyright 2004
Operadores de Comparacin
Operador
Ejemplo $a == $b
==
=== !=
<> !==
Idntico. Se evala TRUE si $a es igual a $b y son del mismo tipo Diferente. Se evala TRUE si $a es distinto a $b
Diferente. Se evala TRUE si $a es distinto a $b No Idntico. Se evala TRUE si $a no es igual a $b o no son del mismo tipo Mayor que. Se evala TRUE si $a es mayor que $b Menor que. Se evala TRUE si $a es menor que $b Mayor o igual que. Se evala TRUE si $a es mayor o igual que $b Menor o igual que. Se evala TRUE si $a es menor o igual que $b
$a === $b $a != $b
$a <> $b $a !== $b
>
< >= <=
$a > $b
$a < $b $a >= $b $a <= $b
Copyright 2004
Operadores Lgicos
Operador
Descripcin Y lgico. Se evala TRUE si tanto $a como $b son TRUE Y lgico. Se evala TRUE si tanto $a como $b son TRUE
&& and
||
or ! xor
$a || $b
$a or $b !$a $a xor $b
Copyright 2004
++$var
$var++
--$var
$var--
Operadores Combinados
Operador +=
-= *= /= %=
Ejemplo
$var1=20; $var1+=10; //$var1 = 30 $var1=20; $var1-=10; //$var1 = 10 $var1=20; $var1*=10; //$var1=200 $var1=20; $var1/=10; //$var1=2 $var1=20; $var1%=10; //$var1=0 $var1="Hola "; $var1.= "Mundo!"; //$var1= Hola Mundo!
Copyright 2004
.=
Concatena y asigna
Estructuras de Control
Estructuras Condicionales
Condicional If Condicional Ifelseif
Condicional Ifelse
Sentencia Switch
Estructuras Cclicas
While
Do While
For Foreach
Copyright 2004
Resumen
Se explic la sintaxis bsica de PHP Se describi el uso de variables y constantes Se indic los diferentes tipos de datos que posee
PHP
Se describi el uso de los operadores disponibles
en PHP
Se discuti las estructuras de control de PHP
Copyright 2004
Copyright 2004
Objetivos de Aprendizaje
Explicar y desarrollar las funciones definidas por
el usuario
Describir y utilizar las funciones del lenguaje
incorporadas en PHP
Indicar cmo se incorporan las extensiones en
PHP
Copyright 2004
Funciones en PHP
Las Funciones son un conjunto de instrucciones
escritas en un lenguaje de programacin que permite realizar varias operaciones con datos suministrados en forma de argumentos a la funcin.
En
Copyright 2004
return valorDeRetorno;
}
miFuncion();
$resultado = miFuncion();
Copyright 2004
Funciones Condicionales
<?php $condicion = true; ultima(); // Se puede invocar aqu! if ($condicion) { function funcionCondicional() {
if ($condicion) { funcioncondicional(); }
function ultima() { echo "Yo existo desde el inicio del programa!"; } ?>
Copyright 2004
Funciones Anidadas
<?php function primera() { function segunda() {
echo "No existo hasta que primera() sea llamada"; } } /* Aqu todava no podemos invocar a segunda()*/
primera();
/* Ahora si podemos invocar a segunda()*/ segunda(); ?>
Copyright 2004
Retorno de Funciones
Una funcin retorna valores usando la sentencia
Copyright 2004
si el valor del parmetro cambia dentro de la funcin, este cambio se ve reflejado fuera de ella.
Para
pasar un parmetro por referencia se antepone un ampersand (&) al nombre del parmetro en la definicin de la funcin.
Copyright 2004
Copyright 2004
function miFuncion() {
$numargs = func_num_args(); echo "Nmero de parmetros: $numargs\n"; } miFuncion(10,30,20);//'Nmero de parmetros: 3' ?>
Copyright 2004
Funcin func_get_args(): Devuelve un arreglo en el cual cada elemento corresponde a un elemento de la lista de parmetros de la funcin.
Copyright 2004
Copyright 2004
Funciones de Cadena
printf (formato[,argumentos]) sprintf (formato[,argumentos]) trim(str), ltrim(str), rtrim(str) y chop(str) substr(str,comienzo,cantidad)
substr_count(cadena, subcadena)
strlen(str)
strtolower(str) y strtoupper(str)
implode(marca,arreglo) y explode(marca,cadena,lim)
htmlentities(str) y urlencode(str)
Copyright 2004
Copyright 2004
Funciones Matemticas
round(num,precision) abs(valor) rand(lim_min,lim_max) srand(expr)
Copyright 2004
Funciones de Arreglos
asort(arr) arsort(arr), ksort(arr), sort(arr) rsort(arr) reset(arreglo) next(arreglo) each() print_r(variable) list()
Copyright 2004
interactuar con una base de datos especfica, convertir los elementos de XML en objetos y usarlos dentro del cdigo, utilizar los objetos de Java, etc.
Para cargar una extensin especfica lo podemos
Copyright 2004
cargamos una extensin por defecto, debemos modificar el archivo de configuracin PHP.ini. los scripts que se ejecuten.
La extensin agregada estar disponible para todos Para cargar una extensin por defecto, debemos
agregar la directiva extension con el nombre de la extensin que se desea cargar, en el archivo PHP.ini.
Copyright 2004
print Se MySQL;
?>
carg
el
mdulo
de
extensin
de
Copyright 2004
Extensiones en PHP
Una vez incorporada la extensin se puede hacer uso de sus
dl('php_mysql.dll');
// * Conectarse al servidor MySQL $idConn=mysql_connect("localhost:3306","root","mysql");
if ($idConn == 0) {
echo "Fall la Conexin al Servidor MySQL!"; $sqlerror = mysql_error($idConn);
echo"$sqlerror";
} else { $dbSelect = mysql_select_db('SAMPLE', $idConn);
Resumen
Se explic y desarrollar las funciones definidas
por el usuario
Se describi y utilizar las funciones del lenguaje
incorporadas en PHP
Se indic cmo se incorporan las extensiones en
PHP
Copyright 2004
Copyright 2004
Objetivos de Aprendizaje
Definir el trmino Aplicacin Web Discutir la utilidad de las variables predefinidas de
PHP
Explicar cmo se procesan los formularios en PHP
Copyright 2004
Aplicaciones Web
Es una aplicacin desarrollada usando tecnologas
basadas en el entorno web como HTML, XML, JavaScript, PHP, ASP, CGI Perl, Java Servlets...
Las aplicaciones web utilizan otras aplicaciones
como navegadores, servidores web y los protocolos de Internet para poder funcionar. Componentes de una Aplicacin web
Navegador Web Servidor Web Recursos Externos
Copyright 2004
Servidor Web
Contenido
ASP, (ASP, JSP, JSP PHP o Java Servlets Servlet) DBMS Recursos Externos
Sistema de Monitor de Procesamiento de Transacciones
Copyright 2004
o globales automticas.
Esto significa que estn disponibles en todos los
Copyright 2004
servidor web.
Como la configuracin de los servidores puede
cambiar entre s, no se garantiza que cada uno de los elementos del arreglo $_SERVER adquiera un valor.
Copyright 2004
'DOCUMENT_ROOT'
'SCRIPT_NAME'
Copyright 2004
dependiendo del entorno del computador donde se est ejecutando el script. Visualizar las variables de entorno de PHP <?php print_r($_ENV); ?>
Copyright 2004
el encabezado HTTP (HTTP Header). Las cookies se almacenan en el computador del cliente en forma de archivo de texto.
La variable $_COOKIE es un arreglo asociativo que
contiene las variables cookies pasadas al script actual a travs del encabezado HTTP.
Para recuperar el valor de una cookie se coloca:
<?
$miCookie = $_COOKIE[nombreCookie];
?>
Copyright 2004
variables que son pasadas al script PHP a travs del mtodo GET del formulario.
Para recuperar el valor de un campo de formulario
<?
$valor = $_GET[nombreCampo];
?>
Copyright 2004
variables que son pasadas al script PHP a travs del mtodo POST del formulario.
Para recuperar el valor de un campo de formulario
<?
$valor = $_POST[nombreCampo];
?>
Copyright 2004
proporcionadas al script por medio cualquier mecanismo de entrada del cliente. contenidos de $_GET, $_POST, y $_COOKIE.
de
Es un arreglo asociativo que consiste en los Para recuperar el valor de una variable de solicitud
$valor = $_REQUEST[nombreVariable];
?>
Copyright 2004
del script que se est ejecutando, y que han sido especificadas como tal.
Es un arreglo asociativo que contiene las variables
todas las variables que estn definidas actualmente en el contexto global del script.
Para acceder a las variables Globales:
<?php
$glob1 = 10;
$glob2 = 20; function miFuncion(){ $GLOBALS["glob2"]=$GLOBALS["glob1"] + $GLOBALS["glob2"]; }
?>
Copyright 2004
enviar la informacin contenida por el formulario a un script que har su procesamiento. Mtodo GET
Enva datos del formulario al programa a travs del
encabezado del mensaje de solicitud HTTP (HTTP Request) y los datos son agregados al URL. Mtodo POST
Enva datos del formulario al programa a travs del
cuerpo del mensaje de solicitud HTTP (HTTP Request) y los datos no son agregados al URL.
Copyright 2004
$_REQUEST.
<form name="form1" method="POST" action="miScript.php"> Nombre: <input type=text name=nombre><br> Edad: <input type=text name=edad> <input type="submit" name="B1" value="Enviar"> </form> <?php
print $_POST['nombre'];
print $_POST['edad']; $nombre = $_REQUEST['nombre']; // Otra alternativa ?>
Copyright 2004
$_REQUEST.
<form name="form1" method=GET" action="miScript.php"> Nombre: <input type=text name=nombre><br> Edad: <input type=text name=edad> <input type="submit" name="B1" value="Enviar"> </form> <?php
print $_GET['nombre'];
print $_GET['edad']; $nombre = $_REQUEST['nombre']; // Otra alternativa ?>
Copyright 2004
COOKIE.
El tipo 'G', 'P' o 'C, GET, POST y COOKIE,
Copyright 2004
$nom = $g_nombre;
?>
Copyright 2004
Administracin de Sesiones
Una sesin (session) es el perodo de tiempo que
un usuario permanece en un sitio web, desde el instante en que ingresa al sitio web hasta que sale de ese sitio.
La sesin contina mientras el usuario navega de
sesiones de usuarios.
Cookies HTTP: $_COOKIE Variables de Sesin: $_SESSION
Copyright 2004
cookies creadas se guardan dentro del computador del cliente y pueden usarse despus. nombre del usuario y enviar un mensaje de bienvenida ms adelante.
Los
valores cookies se almacenan en pares "nombre = valor", delimitados por un punto y coma (;). Se pueden crear nombres de variable y asignarles valores.
Copyright 2004
creado la cookie. Determina el dominio de Internet al cual la cookie debe ser enviada. Por ejemplo, domain = www.ibm.com.
El atributo path: Especifica el lugar dentro del sitio
web donde la cookie debe enviarse de regreso al servidor. Por ejemplo, path=/Scripts/Sesion/.
El atributo secure: Especifica que la cookie puede
canal
de
la
fecha
de
Copyright 2004
setcookie().
Esta funcin define una cookie para ser enviada al
cliente.
Las cookies deben enviarse antes de mandar
Copyright 2004
setcookie(Cookie1",ID1",time()+82000,"/","",)
?>
Y as recuperamos su valor:
<?
$miCookie = $_COOKIE["Cookie1"];
echo $miCookie; // Imprime: ID1 ?>
Copyright 2004
script actual.
Las variables de sesin se crean como una cookie
Copyright 2004
session id ya generado).
cualquier otra informacin de encabezado. Esto requiere que site las llamadas a esta funcin antes de cualquier etiqueta <html> o <head>.
Cada vez que se inicia una sesin se genera un
especfico
con
la
Copyright 2004
<body>
<?php $ID = session_id(); //retorna el id de sesin creado print "ID de la sesin: ".$ID; ?> </body> </html>
Copyright 2004
$_SESSION[userid]=Usuario1;
$_SESSION[nombre]=Joe;
?>
Copyright 2004
session_register().
Copyright 2004
siguiente forma:
<?php $uid = $_SESSION[userid]; $nom = $_SESSION[nombre]; print $uid; // imprime el valor de userid print $nom; // imprime el valor de nombre ?>
Copyright 2004
Destruye todos los datos asociados con la sesin actual. No destruye ninguna de las variables globales asociadas a la sesin ni la cookie. Elimina y libera el espacio ocupado por todas las variables de la sesin actual registradas. Elimina la variable global llamada nombreVar de la sesin actual.
Copyright 2004
session_unset():
session_unregister(nombreVar):
Resumen
Se defini el trmino Aplicacin Web Se discuti la utilidad de las variables predefinidas
de PHP
Se explic cmo se procesan los formularios en
PHP
Se explic la administracin de sesiones en PHP
Copyright 2004
Copyright 2004
Objetivos de Aprendizaje
Describir cmo se trabaja con bases de datos en
PHP
Utilizar ODBC para acceder a bases de datos Explicar cmo conectarse y desconectarse a una
base de datos
Explicar
Copyright 2004
tablas que mantienen relaciones unas con otras entre s, permitiendo almacenar informacin en forma ntegra y consistente.
Entre las bases de datos relacionales que maneja
PHP podemos mencionar MySQL, MS SQLServer, Oracle y tambin se usa IBM UDB/DB2.
Para propsitos de este curso utilizaremos IBM
DB2.
Copyright 2004
manejar un conjunto de comandos que nos van a permitir realizar operaciones como:
Conexin y desconexin a la base de datos.
Crear y eliminar tablas. Sentencias SQL para insertar, borrar y actualizar
registros.
Sentencias SQL para recuperar registros de las
tablas.
En PHP, dichas operaciones se realizan mediante
funciones.
Copyright 2004
bases de datos.
Las funciones para trabajar con cada base de datos
poseen como prefijo el nombre del manejador de base de datos que se va utilizar.
mdulo de extensin para ODBC, viene incorporado (built-in) en PHP, por lo tanto no se requiere cargar una extensin especfica para poder utilizarlo. prefijo odbc.
Por ejemplo:
odbc_connect(): Conectarse a la base de datos.
Microsoft, que permite a las aplicaciones conectarse a varias bases de datos relacionales como IBM DB2 Universal Database, Oracle, etc.
Proporciona un conjunto de APIs para acceder a
de datos relacionales.
Copyright 2004
Copyright 2004
echo "$sqlerror";
} else echo "La conexin a la base de datos fue satisfactoria!"; ?>
Copyright 2004
$id_conn=odbc_connect(SAMPLEDSN,db2admin,password.1 );
if ($id_conn == 0) { echo "Fall la Conexin a Base de Datos!"; $sqlerror = odbc_errormsg($id_conn); echo"$sqlerror";
}
else { odbc_close($id_conn); //Cerrando la conexin } ?>
Copyright 2004
Sentencias Select
Copyright 2004
funciones:
odbc_do (id_conn,sentencia_SQL) odbc_exec(id_conn,sentencia_SQL) Alternativamente,
se
pueden
utilizar
las
funciones:
odbc_prepare (id_conn, sentencia_SQL) odbc_execute (id_conn [, parametros]) Para poder utilizar la funcin odbc_execute
Copyright 2004
Insertar Registros
<? // Insertar registros a una tabla $strsql = "INSERT INTO PRODUCTOS VALUES(10,'TV',60000);"; $id_stmt = odbc_exec($id_conn,$strsql); ?>
Copyright 2004
Actualizar Registros
<? // Actualizar registros de una tabla $strsql = "UPDATE PRODUCTOS SET PROD_PRECIO = 45000 WHERE PROD_COD = 10;"; $id_stmt=odbc_prepare($id_conn, $strsql);
odbc_execute($id_stmt);
?>
Copyright 2004
Eliminar Registros
<? // Eliminar registros de una tabla $strsql = "DELETE PROD_COD = 10; "; FROM PRODUCTOS WHERE
$id_stmt=odbc_prepare($id_conn, $strsql);
odbc_execute($id_stmt);
?>
Copyright 2004
Seleccionar Registros
<? // Seleccionar registros de una tabla $strsql = "SELECT PROD_NOMBRE, PROD_PRECIO FROM PRODUCTOS WHERE PROD_PRECIO >=30000; "; $id_stmt = odbc_exec($id_conn,$strsql); ?>
Copyright 2004
echo"<tr><td>",odbc_result($id_stmt,1),"</td> <td>",odbc_result($id_stmt,2),"</td></tr>";
}?> </table>
Copyright 2004
una cadena que contiene el mensaje de error ODBC o una cadena vacia si no hay error.
<? $id_conn = odbc_connect(SAMPLEDSN,db2admin,passwo rd.1) if ($id_conn == 0) { $sqlerror = odbc_errormsg($id_conn); echo "$sqlerror"; } ?>
Copyright 2004
con una base de datos utilizando una extensin sta debe estar disponible.
Copyright 2004
la funcion dl().
. . .
?>
Copyright 2004
<?php $idConn = mysql_connect('localhost:3306','root','mysql'); if (!$idConn) { die(Error de conexin: ". mysql_error()); } echo "Conexin satisfactoria"; ?>
Copyright 2004
$idConn =
mysql_connect('localhost:3306','root','mysql'); if (!$idConn) { die(Error de conexin: ". mysql_error()); } echo "Conexin satisfactoria"; mysql_close($idConn); ?>
Copyright 2004
$idConn =
mysql_connect('localhost:3307','root','mysql'); $dbSelect = mysql_select_db('SAMPLE', $idConn); if (!$dbSelect) { die ('Error en la seleccin:' . mysql_error()); } ?>
Copyright 2004
$idConn =
mysql_connect('localhost:3306',root','mysql'); if (mysql_create_db('BD_productos',$idConn)) { echo "La base de datos se creo correctamente"; } else { echo 'Error al crear la BD:' . mysql_error(); } ?>
Copyright 2004
if (mysql_drop_db('BD_productos', $idConn)) {
echo "La base de datos ha sido eliminada";
} else {
echo 'Error al eliminar la BD:'.mysql_error(); } ?>
Copyright 2004
mysql_query() enva una consulta (sentenciaSQL) a la base de datos que est activa en el servidor asociado con el identificador de conexin $idConn.
DELETE, DROP o INSERT, CREATE, retorna TRUE en caso de xito y FALSE en caso contrario. SHOW o DESCRIBE, retorna un resource en caso de exito o FALSE en caso de error.
Copyright 2004
$result = mysql_query($strsql,$idConn);
if (!$result) { die('Sentencia no ejecutada:'. mysql_error()); }
?>
Copyright 2004
$result = mysql_query($strsql,$idConn);
if (!$result) { die('Sentencia no ejecutada:'. mysql_error()); } ?>
Copyright 2004
$result = mysql_query($strsql,$idConn);
if (!$result) { die('Sentencia no ejecutada:'. mysql_error()); } ?>
Copyright 2004
$result = mysql_query($strsql,$idConn);
if (!$result) { die('Sentencia no ejecutada:'. mysql_error()); } ?>
Copyright 2004
$result = mysql_query($strsql,$idConn);
if (!$result) { die('Sentencia no ejecutada:'. mysql_error()); } ?>
Copyright 2004
$result = mysql_query($strsql,$idConn);
if (!$result) { die('Sentencia no ejecutada:'. mysql_error()); } ?>
Copyright 2004
$fila = mysql_fetch_row($result);
echo $fila[0]; // El registro retornado EMP_COD del primer
$fila = mysql_fetch_array($result);
echo $fila[0]; // Equivalente a:
// $fila[EMP_COD]
echo $fila[1]; // Equivalente a: // $fila[EMP_NOMBRE] }
Copyright 2004
$fila = mysql_fetch_assoc($result);
echo $fila[EMP_COD];
echo $fila[EMP_NOMBRE];
} ?>
Copyright 2004
$objfila = mysql_fetch_object($result);
echo $objfila->EMP_COD;
echo $objfila->EMP_NOMBRE;
} ?>
Copyright 2004
mysql_field_type($resultado,$indiceCampo)
mysql_num_fields($resultado) mysql_num_rows($resultado) mysql_list_tables($BD,$idConexion) mysql_list_dbs($idConexion) mysql_free_result($resultado)
Copyright 2004
Resumen
Se describi cmo se trabaja con bases de datos
en PHP
Se utiliz ODBC para acceder a bases de datos Se explic cmo conectarse y desconectarse a una
base de datos
Se explic cmo recuperar, insertar, eliminar, y
actualizar registros
Se utiliz la extensin de PHP para acceder bases
de datos en MySQL
Copyright 2004
Copyright 2004
Copyright 2004
Objetivos de Aprendizaje
Crear Clases y Objetos en PHP Describir la Herencia en PHP
PHP
Crear Clases Abstractas e Interfaces Discutir como se realiza la clonacin de objetos
Copyright 2004
Definicin de Clases
La definicin de una clase comienza con la palabra
"class", luego se coloca el nombre de la clase. La definicin del los atributos y mtodos miembros se hace dentro de llaves.
<?php class ClaseA { // * atributos
public $var1;
private $var2 = 'Valor por defecto'; // * mtodo
function mostrarVar() {
echo $this->var2; }
}
?>
Copyright 2004
Definicin de Objetos
Para crear una instancia de una clase, se crea
$obj2 = $obj1;
/* $obj2 hace instancia */ ?> referencia a la misma
Copyright 2004
<?php /* $objeto->nombre_atributo; $objeto->nombre_metodo; */ $obj1 = new ClaseA(); echo $obj1->var1; // A la variable se le quita el $ $obj1->mostrarVar(); ?>
Copyright 2004
definicin de la clase, se utiliza la variable $this, que hace referencia a la instancia actual.
}
$objA = new ClaseA("Valor1"); // Se ejecuta el constructor ?>
Copyright 2004
definido, se invoca cuando todas las referencias a un objeto en particular sean removidas o cuando el objeto sea explcitamente destruido.
Un destructor de clase se define con la funcin
__destruct().
Copyright 2004
}
$objA = new ClaseA("Valor 1"); /* Al terminar de usar el objeto o al finalizar el script se destruye el objeto */
Copyright 2004
function __construct($arg1) {
$this->var1=$arg1; $this->var1=$valor; } function get_var1() { return $this->var1; } } $objA = new ClaseA("Valor 1"); $objA->set_var1("Nuevo valor"); echo $objA->get_var1();
Copyright 2004
function set_var1($valor) {
Los valores constantes no pueden ser accedidos Las constantes definidas dentro de una clase slo
se pueden acceder a travs del nombre de la clase o a travs de un mtodo que las retorne o muestre.
No se puede utilizar el operador flecha (->) para
accederlas.
Copyright 2004
function get_miConstante() {
return self::miConstante; // No est pemitido: $this->miConstante } } $objetoA = new ClaseA(); $var1=$objetoA->get_miConstante(); echo ClaseA::miConstante; // Se muestra la constante
echo $objetoA->miConstante;
// Error!
Copyright 2004
El Operador de resolucin ::
El operador de resolucin, dobles dos puntos
(::), es un smbolo que permite acceder a los atributos o mtodos estticos y las constantes de una clase.
cuando se necesita tener acceso desde una clase hija a los atributos o mtodos de su clase padre.
self: Hace referencia a la clase actual, a la clase
Copyright 2004
El Operador de resolucin :: 2
<?php class ClaseA { const CONST_A = 'A';
}
class ClaseB extends ClaseA { const CONST_B = B; public static $estaticaB = 'Variable esttica'; public static function mostrarConstantes() { echo parent::CONST_A; echo self::CONST_B; }
echo self::$estaticaB;
}
}
Copyright 2004
El Operador de resolucin :: 3
<?php echo ClaseA::CONST_A; echo ClaseB::estaticaB; ClaseB::mostrarEstaticas(); ?>
Copyright 2004
El Operador de resolucin :: 4
<?php class ClasePadre { private $varPriv;
protected $varProt;
function __construct($valor) { $this->$varPriv=$valor; $this->$varProt=$valor; } protected function miFuncion() { echo "Funcion del padre"; }
}
?>
Copyright 2004
El Operador de resolucin :: 5
<?php class ClaseHijo extends ClasePadre {
function __construct() {
parent::__construct("Inicializada desde el padre"); $this->$varProtected="Inicializada desde el hijo"; } public function miFuncion() { parent::miFuncion(); echo "Funcin del hijo"; }
}
?>
Copyright 2004
El Operador de resolucin ::
El operador de resolucin, dobles dos puntos
(::), es un smbolo que permite acceder a los atributos o mtodos estticos y las constantes de una clase.
cuando se necesita tener acceso desde una clase hija a los atributos o mtodos de su clase padre.
self: Hace referencia a la clase actual, a la clase
Copyright 2004
Resumen
Se crearon Clases y Objetos en PHP Se describi la Herencia en PHP
en PHP
Se crearon Clases Abstractas e Interfaces Se discuti como se realiza la clonacin de objetos
Copyright 2004