Está en la página 1de 21

14/05/2013

Acceso a Bases de Datos con PHP


Una Base de Datos Relacional es un conjunto de

tablas que mantienen relaciones unas con otras entre s, permitiendo almacenar informacin en forma ntegra y consistente.

Unidad 7 Acceso a Bases de Datos usando PHP

Entre las bases de datos relacionales que maneja

PHP podemos mencionar MySQL, MS SQLServer, Oracle y tambin se usa IBM UDB/DB2.

Objetivos de Aprendizaje
Describir cmo se trabaja con bases de datos en

Acceso a Bases de Datos con PHP 2


Para trabajar las bases de datos es necesario

PHP
Utilizar ODBC para acceder a bases de datos Explicar cmo conectarse y desconectarse a una

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

base de datos
Explicar

cmo recuperar, insertar, eliminar, y actualizar registros datos en MySQL

registros.
Sentencias SQL para recuperar registros de las

Utilizar la extensin de PHP para acceder bases de

tablas.
En PHP, dichas operaciones se realizan mediante

funciones.

14/05/2013

Extensiones para uso de Bases de Datos


PHP posee extensiones para manipular diferentes

ODBC (Open Database Connectivity)


ODBC es un estndar ampliamente aceptado por

bases de datos.
Las funciones para trabajar con cada 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

en particular estn disponibles en su respectiva extensin.


Las funciones de manejo de bases de datos

datos en bases de datos relacionales. poseen como prefijo el nombre del manejador de base de datos que se va utilizar. Por ejemplo, si se trata de MySQL:
mysql_connect(): Conectarse a la base de datos. mysql_db_query(): Ejecucin de sentencias SQL. Este conjunto de APIs es uniforme entre las bases

de datos relacionales.

Extensiones para uso de Bases de Datos


En PHP tambin se puede lograr el acceso a Bases

Arquitectura de Aplicacin ODBC

de Datos usando ODBC.


El

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:

Las funciones relativas a ODBC en PHP tienen el

odbc_connect(): Conectarse a la base de datos. odbc_do(): Ejecutar las consultas SQL.

14/05/2013

Conexin a una Base de Datos con ODBC


odbc_connect (dsn, userid, password) odbc_pconnect (dsn, userid, password)
<? $id_conn=odbc_connect("SAMPLEDSN","db2admin","db2admin"); if ($id_conn == 0) { echo "Fall la conexin a la base de datos!"; $sqlerror = odbc_errormsg($id_conn); echo "$sqlerror"; } else echo "La conexin a la base de datos fue satisfactoria!"; ?>

Ejecutar Sentencias SQL


Sentencias Insert Sentencias Delete Sentencias Update Sentencias Select

Cerrar una conexin a Base de Datos


odbc_close(id_conn)
<? $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 } ?>

Para ejecutar una sentencia SQL se utilizan las

Ejecutar Sentencias SQL ... 2

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

antes se debe utilizar la funcin odbc_prepare

14/05/2013

<?

Ejecutar Sentencias SQL ... 3


$id_stmt = odbc_do($id_conn,$strsql);

<?

Insertar Registros
VALUES(10,'TV',60000);";

// Seleccionar Registros de una Tabla: $strsql = SELECT * FROM PRODUCTOS;";

// Insertar registros a una tabla $strsql = "INSERT INTO PRODUCTOS

// Es equivalente: $id_stmt = odbc_exec($id_conn,$strsql); // Tambin puede realizar lo siguiente: $id_stmt = odbc_prepare($id_conn, $strsql); odbc_execute($id_stmt); ?>

$id_stmt = odbc_exec($id_conn,$strsql); ?>

<?

Crear una tabla


PROD_COD INTEGER NOT NULL, PROD_NOMBRE VARCHAR(20), PROD_PRECIO INTEGER);";

<?

Actualizar Registros

// Crear una tabla de productos $strsql = "CREATE TABLE PRODUCTOS(

// 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); ?>

$id_stmt = odbc_do($id_conn,$strsql); ?>

14/05/2013

<?

Eliminar Registros
$id_stmt=odbc_prepare($id_conn, $strsql); odbc_execute($id_stmt);

Recuperar Registros Seleccionados


Para recuperar registros ya seleccionados se

// Eliminar registros de una tabla $strsql = "DELETE FROM PRODUCTOS WHERE PROD_COD = 10; ";

utiliza la funcin odbc_fetch_row .Para acceder un campo se usa la funcin odbc_result


<table border="1"> <tr><th>NOMBRE PRODUCTO</th><th>PRECIOS</th></tr> <? while (odbc_fetch_row($id_stmt)) { echo"<tr><td>",odbc_result($id_stmt,1),"</td><td>",odbc_resu lt($id_stmt,2),"</td></tr>"; }?> </table>

?>

<?

Seleccionar Registros
<?

Mostrar mensajes de error


La funcin odbc_errormsg([id_conn]), retorna

// Seleccionar registros de una tabla $strsql = "SELECT PROD_NOMBRE, PROD_PRECIO FROM PRODUCTOS WHERE PROD_PRECIO >=30000; "; $id_stmt = odbc_exec($id_conn,$strsql); ?>

una cadena que contiene el mensaje de error ODBC o una cadena vacia si no hay error.
$id_conn = odbc_connect(SAMPLEDSN,db2admin,password.1) if ($id_conn == 0) { $sqlerror = odbc_errormsg($id_conn); echo "$sqlerror"; } ?>

14/05/2013

Acceso a Bases de Datos con la extensin MySQL


Para que desde un script PHP se pueda trabajar

Abrir una conexin al Servidor MySQL


mysql_connect(host:numpuerto,$userid, $password)

con una base de datos utilizando una extensin sta debe estar disponible.

mysql_pconnect(host:numpuerto,$userid,$password)

<?php $idConn = mysql_connect('localhost:3306','root','mysql');

Incoporar la extensin de forma automtica o por defecto


Se debe modificar el archivo de configuracin

if (!$idConn) { die(Error de conexin: ". mysql_error()); } echo "Conexin satisfactoria"; ?>

php.ini. Para Windows, se agrega la sentencia: extension=ext/php_mysql.dll

Acceso a Bases de Datos con la extensin MySQL Incoporar la extensin dinmicamente


Se hace directamente en el script PHP, utilizando

Cerrar una conexin al Servidor MySQL <?php


mysql_close($idConn)
$idConn = mysql_connect('localhost:3306','root','mysql'); if (!$idConn) { die(Error de conexin: ". mysql_error()); }

la funcion dl().

La extensin se carga en tiempo de ejecucin y

estar disponible slo para el script actual.


<?php dl(ext/php_mysql.dll); . . . ?>

echo "Conexin satisfactoria"; mysql_close($idConn); ?>

14/05/2013

Seleccionar una Base de Datos en MySQL <?php


mysql_select_db($BD,$idConexion)
$idConn = mysql_connect('localhost:3307','root','mysql'); $dbSelect = mysql_select_db('SAMPLE', $idConn); if (!$dbSelect) { die ('Error en la seleccin:' . mysql_error()); } ?>

Eliminar una Base de Datos en MySQL


mysql_drop_db($BD,$idConexion)
<?php if (mysql_drop_db('BD_productos', $idConn)) { echo "La base de datos ha sido eliminada"; } else { echo 'Error al eliminar la BD:'.mysql_error(); } ?>

mysql_create_db($BD,$idConexion)
<?php $idConn = mysql_connect('localhost:3306',root','mysql'); if (mysql_create_db('BD_productos',$idConn)) {

Crear una Base de Datos en MySQL

Ejecutar Sentencias SQL usando funciones MySQL


La funcin mysql_query() permite ejecutar cualquier

sentencia SQL mysql_query (sentenciaSQL,$idConn)

echo "La base de datos se creo correctamente"; } else { echo 'Error al crear la BD:' . mysql_error(); } ?>

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.

Si se ejecuta una sentencia SQL del tipo: UPDATE,

Si se ejecuta una sentencia SQL del tipo SELECT,

14/05/2013

Crear una Tabla


<?php $strsql = "CREATE TABLE EMPLEADOS( EMP_COD INTEGER NOT NULL, EMP_NOMBRE VARCHAR(20), EMP_PRECIO VARCHAR(20));";

Actualizar Registros en una Tabla


<?php $strsql = "UPDATE EMPLEADOS SET EMP_CARGO = DISEADOR WHERE EMP_COD = 10;";

$result = mysql_query($strsql,$idConn);
if (!$result) { die('Sentencia no ejecutada:'. mysql_error()); } ?>

$result = mysql_query($strsql,$idConn);
if (!$result) { die('Sentencia no ejecutada:'. mysql_error()); } ?>

Insertar Registros en una Tabla


<?php $strsql = "INSERT INTO EMPLEADOS VALUES(10,'PEDRO PEREZ', PROGRAMADOR);"; <?php

Eliminar Registros en una Tabla


$strsql="DELETE FROM EMPLEADOS WHERE EMP_COD=10;"

$result = mysql_query($strsql,$idConn);
if (!$result) { die('Sentencia no ejecutada:'. mysql_error()); } ?>

$result = mysql_query($strsql,$idConn);
if (!$result) { die('Sentencia no ejecutada:'. mysql_error()); } ?>

14/05/2013

Eliminar una Tabla


<?php $strsql="DROP TABLE EMPLEADOS";

Recuperar Registros seleccionados .. 1


<?php $strsql="SELECT EMP_COD, EMP_NOMBRE EMP_CARGO = PROGRAMADOR;" $result = mysql_query($strsql); if ($result) { FROM EMPLEADOS WHERE

$result = mysql_query($strsql,$idConn);
if (!$result) { die('Sentencia no ejecutada:'. mysql_error()); } ?>

$fila = mysql_fetch_row($result);
echo $fila[0]; retornado echo $fila[1]; retornado } ?> // //El El EMP_COD del del primer primer registro registro EMP_NOMBRE

Seleccionar Registros de una Tabla


<?php $strsql="SELECT EMP_NOMBRE, EMP_CARGO FROM EMPLEADOS WHERE EMP_CARGO = DISEADOR;"

<?php

Recuperar Registros seleccionados .. 2


FROM EMPLEADOS WHERE $result = mysql_query($strsql);

$strsql="SELECT EMP_COD, EMP_NOMBRE EMP_CARGO = PROGRAMADOR;"

$result = mysql_query($strsql,$idConn);
if (!$result) { die('Sentencia no ejecutada:'. mysql_error()); } ?>

if ($result) {

$fila = mysql_fetch_array($result);
echo $fila[0]; // Equivalente a: // $fila[EMP_COD] echo $fila[1]; // Equivalente a: // $fila[EMP_NOMBRE] } ?>

14/05/2013

<?php

Recuperar Registros seleccionados .. 3


FROM EMPLEADOS WHERE $result = mysql_query($strsql);

<?php

Recuperar Registros seleccionados .. 5

$strsql="SELECT EMP_COD, EMP_NOMBRE EMP_CARGO = PROGRAMADOR;"

$result = mysql_query("select * from EMPLEADO"); while ($fila = mysql_fetch_array($result)) { echo $fila[EMP_COD]; echo $fila[EMP_NOMBRE]; echo $fila[EMP_CARGO]; } mysql_free_result($result); ?>

if ($result) {

$fila = mysql_fetch_assoc($result);
echo $fila[EMP_COD]; echo $fila[EMP_NOMBRE]; } ?>

<?php

Recuperar Registros seleccionados .. 4


FROM EMPLEADOS WHERE $result = mysql_query($strsql);

Otras funciones tiles de la extensin de MySQL


mysql_error($idConexion) mysql_errno($idConexion) mysql_ping($idConexion) mysql_info($idConexion) mysql_field_name($resultado,$indiceCampo) 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)

$strsql="SELECT EMP_COD, EMP_NOMBRE EMP_CARGO = PROGRAMADOR;"

if ($result) {

$objfila = mysql_fetch_object($result);
echo $objfila->EMP_COD; echo $objfila->EMP_NOMBRE; } ?>

10

14/05/2013

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

Unidad 9 Introduccin a la Programacin Orientada a Objetos con PHP

actualizar registros
Se utiliz la extensin de PHP para acceder bases

de datos en MySQL

Crear Clases y Objetos en PHP Describir la Herencia en PHP Conocer cmo se implementa el Polimorfismo en

Objetivos de Aprendizaje

Unidad 8 Laboratorio: Acceso a Bases de Datos usando PHP

PHP
Crear Clases Abstractas e Interfaces Discutir como se realiza la clonacin de objetos

11

14/05/2013

La definicin de una clase comienza con la palabra

Definicin de Clases

Acceder a atributos y mtodos


Para acceder a los atributos y mtodos de un

"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; } } ?>

objeto utilizamos el operador flecha ->, como se muestra a continuacin:

<?php /* $objeto->nombre_atributo; $objeto->nombre_metodo; */ $obj1 = new ClaseA(); echo $obj1->var1; // A la variable se le quita el $ $obj1->mostrarVar(); ?>

Definicin de Objetos
Para crear una instancia de una clase, se crea

Acceder a atributos y mtodos 2


Para acceder a un miembro dentro de la misma
<?php class ClaseB { private $var1=Hola!; private $var2=Adios!; public function mostrarVar1() { echo $this->var1; } public function mostrarVar2() { $this->mostrarVar1(); echo $this->var2; } } ?>

un nuevo objeto y ste es asignado a una variable.


<?php $obj1 = new ClaseA(); $obj2 = $obj1; /* $obj2 hace referencia a la misma instancia */ ?>

definicin de la clase, se utiliza la variable $this, que hace referencia a la instancia actual.

12

14/05/2013

Visibilidad de atributos y mtodos


desde cualquier lugar dentro del programa.

Pblica: Los elementos pueden ser accedidos Protegida: Los elementos limitan el acceso slo a

El mtodo constructor se invoca cada vez que se

Constructor de una clase

crea un nuevo objeto. Un constructor de clase se define con la funcin __construct().


<?php class ClaseA { private $var1; function __construct($arg1){ $this->var1=$arg1; } }

la clase que los define y a las clases que heredan de sta.


Privada: Los elementos limitan la visibilidad slo

a la clase que los define.


La visibilidad de un atributo o mtodo puede ser

definida al anteponerle a la declaracin las palabras: public protected private

$objA = new ClaseA("Valor1"); // Se ejecuta el constructor ?>

Visibilidad de atributos y mtodos <?php 2 class ClaseB


{ private $var1=Hola!; protected $var2=Adios!; public function mostrarVar1() { echo $this->var1; } public function mostrarVar2() { echo $this->var2; } } ?>

Destructor de una clase


El mtodo destructor de una clase, si est

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().

13

14/05/2013

<?php

Destructor de una clase 2

Constantes de una clase


Dentro de una clase se pueden definir constantes.

class ClaseA { public $var1; function __construct($arg1) { $this->var1=$arg1; function __destruct() { print "Se destruye el objeto!"; } $objA = new ClaseA("Valor 1"); /* Al terminar de usar el objeto o al finalizar el script se destruye el objeto */ ?> } }

Se nombran sin utilizar el signo $. desde una instancia.

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.

Definir mtodos getter y setter <?php


class ClaseA { private $var1; 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(); ?> } function set_var1($valor) {

<?php

Constantes de una clase 2


function get_miConstante() { return self::miConstante; // No est pemitido: $this->miConstante

class claseA { const miConstante = 'Valor constante!';

} } $objetoA = new ClaseA(); $var1=$objetoA->get_miConstante(); echo ClaseA::miConstante; // Se muestra la constante // Error!

echo $objetoA->miConstante;

echo $objetoA::miConstante; // Error! ?>

14

14/05/2013

El Operador de resolucin ::
El operador de resolucin, dobles dos puntos

<?php

El Operador de resolucin :: 3
echo ClaseA::CONST_A; echo ClaseB::estaticaB; ClaseB::mostrarEstaticas();

(::), es un smbolo que permite acceder a los atributos o mtodos estticos y las constantes de una clase.
?>

El operador de resolucin tambin se utiliza

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

que define al mtodo.


parent: Hace referencia a la clase padre.

<?php

El Operador de resolucin :: 2

<?php

El Operador de resolucin :: 4
private $varPriv; protected $varProt; function __construct($valor) { $this->$varPriv=$valor; $this->$varProt=$valor; } protected function miFuncion() {

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; }

class ClasePadre {

echo "Funcion del padre"; } } ?>

public static function mostrarEstaticas() { echo self::$estaticaB; } ?> }

15

14/05/2013

<?php

El Operador de resolucin :: 5

Resumen
Se crearon Clases y Objetos en PHP Se describi la Herencia en 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"; } } ?>

Se conoci cmo se implementa el Polimorfismo

en PHP
Se crearon Clases Abstractas e Interfaces Se discuti como se realiza la clonacin de objetos

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.

El operador de resolucin tambin se utiliza

Unidad 10 Laboratorio: Introduccin a la Programacin Orientada a Objetos

self: Hace referencia a la clase actual, a la clase

que define al mtodo.


parent: Hace referencia a la clase padre.

16

14/05/2013

Al igual que HTML, un documento XML es un archivo

Estructura de un archivo XML

de texto plano en los que se utilizan etiquetas para delimitar los elementos del documento.
Sin embargo, XML define estas etiquetas en funcin

Unidad 11 Extensiones en PHP

del tipo de datos que est describiendo y no de la apariencia que tendrn en la pgina.
Adems de permite crear nuevas etiquetas y ampliar

las existentes.

Conocer en que consiste XML Utilizar la extensin DOM de PHP para trabajar con

Objetivos de Aprendizaje

Ejemplo de un archivo XML


Para crear una instancia de una clase, se crea

un nuevo objeto y ste es asignado a una variable.


<?xml version="1.0" encoding="ISO-8859-1"?> <ResumenNotas> <Materia>Matemticas</Materia> <Calificacion>A</Calificacion> <Materia>Fsica</Materia> <Calificacion>B</Calificacion> <Materia>Qumica</Materia> <Calificacion>B</Calificacion> </ResumenNotas>

documentos XML
Crear

scripts PHP documentos XML PHP

que

puedan

manipular

Conocer en qu consiste la librera estndar de

17

14/05/2013

Extensin de PHP para trabajar con La extensin para soporte a XML ha sido reXML estructurada a partir de PHP 4.3.0. Antes se
necesitaba incorporar la extensin domxml para poder manipular los documentos XML.
Ahora

loadXML(codigoXml)

Cargar un documento XML 2

Carga un documento XML a partir de un string y lo

deja en un objeto del tipo DOMDocument.


<?php /* Se crea un objeto del tipo DOMDocument, que es el contenedor del documento xml */ $docXml = new DOMDocument();

se puede utilizar las funciones DOM (Document Object Model), que ya vienen incorporadas en PHP. funciones, son parte del ncleo de PHP. Utilizaremos las funciones de la extensin DOM para manipular documentos XML.

No se necesita ninguna instalacin para usar estas

$strXml="<Materias><Materia>Quimica<Materia></Materias>"; /* Se carga el documento XML en el objeto $docXml */


$docXml->loadXML($strXml);

echo $docXml->saveXML(); // Se imprime el contenido ?>

load(nombre_archivo.xml)

Cargar un documento XML

saveXML()

Capturar un documento XML

Carga un documento XML desde un archivo y lo

deja en un objeto del tipo DOMDocument.


<?php /* Se crea un objeto del tipo DOMDocument, que es el contenedor del documento xml */ $docXml = new DOMDocument(); /* Se carga el documento XML en el objeto $docXml */
$docXml->load('NotasMaterias.xml');

Captura el documento XML que est contenido en

un objeto DOMDocument y lo retorna en un string. Esta funcin generalmente se llama despues de cargar un documento XML.
<?php $docXml = new DOMDocument(); /* Se carga el documento XML en el objeto $docXml */ $docXml->load('NotasMaterias.xml'); $codXML = $docXml->saveXML(); // Captura el documento XML echo ?> $codXML; // Se imprime el contenido

/*

La funcion saveXML() captura el documento XML cargado en el objeto $docXml y retorna el contenido en un string */

echo $docXml->saveXML(); // Se imprime el contenido ?>

18

14/05/2013

Capturar un documento XML ... 2


save($archivo)
Captura el documento XML que est contenido en

Crear Elementos XML 2


CreateAttribute($nombreAtributo)
Crea una nueva instancia de la clase DOMAttr. Este atributo no ser parte del documento a

un objeto DOMDocument y lo almacena en un archivo. Esta funcin generalmente se llama despus de crear un documento XML.
<?php $strXml="<Materias><Materia>Quimica</Materia></Materias>"; $docXml = DOMDocument::loadXML($strXml); // Se guarda el contenido en un archivo $docXml->save("materias.xml"); ?>

menos que sea agregado DOMNode->appendChild().

con

la

funcin

Recibe como parmetro el nombre del atributo.

Crear Elementos XML


CreateElement($nombreElemento,$valor)
Crea

CreateTextNode($contenido)

Crear Elementos XML 3

una nueva DOMElement.

instancia

de

la

clase

Crea una nueva instancia de la clase DOMText. Este texto no ser parte del documento a menos

Este elemento no formar parte del documento a

menos que sea agregado DOMNode->appendChild().

con

la

funcin

que sea agregado con la funcin DOMNode>appendChild(). para el elemento.


setAttribute($nombreAtr,$valor)

Recibe como parmetros el contenido de texto

El parmetro $nombreElemento es el nombre

del elemento que se va a crear y $valor el contenido de ese elemento. Si no se especifica $valor, se crea un elemento vaco.

Asigna un valor a un atributo. Si el atributo no existe

se crea. Recibe como parmetros el nombre atributo y su valor.

del

19

14/05/2013

Crear Elementos XML 4


appendChild($nodo)
Agrega un nodo a una lista de nodos. Estos nodos

Obtener Elementos XML 2


getElementById($IdElemento)
Retorna

pueden ser atributos, elementos o nodos de texto.


El nodo puede ser creado utilizando las funciones:

DOMDocument-> createElement() DOMDocument->createTextNode() DOMDocument-> createAttribute()

una nueva instancia de la clase DOMNodeList con todos los elementos que posean un atributo ID con el valor dado ($IdElemento), siguiendo el orden como han sido encontrados en el documento. Recibe como parmetro el id del (los) elemento(s) que se quiere obtener. DOMNodeList seleccionados. con todos los elementos

Esta funcin retorna una lista de elementos del tipo

Obtener Elementos XML


getElementByTagName($nombreElemento)
Retorna

Obtener Elementos XML 3


getAttribute($nombreAtributo)
Retorna el valor del atributo con el nombre dado,

una nueva instancia de la clase DOMNodeList con todos los elementos que tengan el nombre dado, siguiendo el orden como han sido encontrados en el documento. como parmetro el nombre del(los) elemento(s) que se quiere obtener. Si se coloca como parmetro el asterisco (*), retorna todos los elementos del documento. DOMNodeList seleccionados. con todos los elementos

para el nodo actual: $valor = $nodo->getAttribute(id)

Recibe

Esta funcin retorna una lista de elementos del tipo

20

14/05/2013

Eliminar Elementos XML


removeChild($nodo)
Elimina un nodo de la lista de nodos hijos de un

elemento especificado.
Recibe como parmetro el nodo que se quiere

eliminar. removeAttribute($nombreAtributo)
Elimina el atributo especificado de un nodo. Recibe como parmetro el nombre del atributo que

Laboratorio: Extensiones PHP

se desea eliminar del elemento.

Resumen
Se conoci en qu consiste XML Se utiliz la extensin DOM de PHP para trabajar

con documentos XML


Se crearon scripts PHP que puedan manipular

documentos XML
Se conoci en qu consiste la librera estndar de

PHP

21

También podría gustarte