Programacion-INTRODUCCION AL PHP.pdf
-
Upload
jose-omar-maranon -
Category
Documents
-
view
255 -
download
0
Transcript of Programacion-INTRODUCCION AL PHP.pdf
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
1/114
Programacion en Lenguaje PHP 1
Introduccin al PHP
Ricardo SezMarta Zorrilla
Universidad de Cantabria
Febrero-2006
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
2/114
Programacion en Lenguaje PHP 2
II-- Aspectos GeneralesAspectos GeneralesOrgenes
PHP (Personal Home Page), 1994,inventado por Rasmus Lerdof.
Basado en scripts desarrolladosen perl, luego reescritos en C.
Versin actual PHP5 (sept 2004),presente en 20% de servidores
web en internet. 6 lenguaje masutilizado (C,Java, C++, VB, Perl)
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
3/114
Programacion en Lenguaje PHP 3
II-- Aspectos GeneralesAspectos Generales
Caractersticas Lenguaje interpretado del lado
Servidor. Los programas sonejecutados a travs de unintrprete antes de transferir alcliente el resultado en forma deHTML puro.
Programas embebidosdirectamente en el cdigo HTML .
Sigue corriente Open Source.Tanto intrprete como cdigofuente accesibles de forma
gratuita en la red(http://www.php.net).
Sintaxis muy similar a C, Perl oJava. Lenguaje fcil de aprender
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
4/114
Programacion en Lenguaje PHP 4
II-- Aspectos GeneralesAspectos Generales
Caractersticas Lenguaje multiplataforma (trabaja
sobre la mayora de servidoresWeb y est preparado parainteractuar con ms de 20 tipos debases de datos).
Uso de maysculas, minsculasindiferente (!!! Excepcin:
identificadores de variables) Formato libre. Las instrucciones
deben terminar con ; Comparado con otro tipo de
tecnologas similares resulta masrpido, independiente de laplataforma y ms sencillo deaprender y utilizar.
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
5/114
Programacion en Lenguaje PHP 5
II-- Aspectos GeneralesAspectos Generales
Caractersticas Innumerable cantidad de
funciones predefinidas
Correo electrnico.
Administracin gestin de base de datos.
Gestin de directorios y ficheros.
Tratamiento de imgenes. Generacin y lectura de cookies.
Generacin de ficheros PDF...
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
6/114
Programacion en Lenguaje PHP 6
Necesidades para programar en PHP Necesidades para programar en PHP
PCPC
Sistema Operativo:Sistema Operativo: Linux, Unix, Windows,Mac OS X ...
Servidor Web:Servidor Web:Apache, IIS, WPS
Interprete de PHPInterprete de PHP(http://www.php.net)
Editor de Texto Plano:Editor de Texto Plano: Notepad. Vi, Edit... NotePad++
Sistema Gestor de BD:Sistema Gestor de BD:MySQL, Ms Access,Informix...
AppServ Open Project 2.4.5 (MySQL, Apache y PHP)
Apache
Intrprete PHP MySQL
II-- Aspectos GeneralesAspectos Generales
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
7/114
Programacion en Lenguaje PHP 7
II-- Aspectos GeneralesAspectos Generales
< HTML>Primer Programa
< HTML>
Primer Programa
Primer programa en PHP
Programa1.php
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
8/114
Programacion en Lenguaje PHP 8
II-- Aspectos GeneralesAspectos Generales
Cmo incrustar cdigo en PHP
Forma ms recomendable
Siempre disponible (no depende deconfiguracin del Servidor.
Especfica de PHP.
nica que permite incrustar cdigo PHP en XML y XHTML
Otras formas
................................................................................................................
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
9/114
Programacion en Lenguaje PHP 9
II-- Aspectos GeneralesAspectos Generales
Nmero negativoNmero positivo
Nmero negativoNmero positivo
Los scripts pueden
ser divididos enbloques y escribirentre ellos HTMLpuro.
Cmo incrustar cdigo en PHP
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
10/114
Programacion en Lenguaje PHP 10
II-- Aspectos GeneralesAspectos Generales
Algunos ejemplo PHP
La funcin phpinfo() para obtenerinformacin acerca de su sistemay configuracin como las variablespredefinidas disponibles
Chequeo de navegador web usado
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
11/114
Programacion en Lenguaje PHP 11
II-- Aspectos GeneralesAspectos GeneralesElementos bsicos
Identificador : Nombre utilizado paradesignar variables, etiquetas, funciones,y dems objetos del programa. Combinaletras, dgitos y subrayado. Significativoslos 6 31 primeros.
Comentario : Texto explicativo en elcdigo fuente. Se enmarca entresecuencias /* ..*/, b) // , c) # ..... Son
ignorados por el compilador.
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
12/114
Programacion en Lenguaje PHP 12
II-- Aspectos GeneralesAspectos GeneralesElementos bsicos
TIPOS DE DATOS : Naturaleza de losdatos que maneja el programa
tipos escalares: boolean
integer float (nmero de punto-flotante, tambinconocido como 'double')
string
tipos compuestos: array object
tipos especiales: resource NULL
pseudo-tipos por razones de legibilidad: mixed number callback
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
13/114
Programacion en Lenguaje PHP 13
II-- Aspectos GeneralesAspectos GeneralesElementos bsicos
BOOLEANO Un boolean expresa un valor de verdad.Puede ser TRUE or FALSE .
Conversin a booleano: usar el molde(bool) o (boolean). Normalmente no
necesario, el valor se convierteautomticamente si se requiere
Son considerados FALSEFALSEFALSEFALSE:el boolean FALSE mismoel integer 0 (cero)
el float 0.0 (cero)el valor string vaco, y el string "0"un array con cero elementosun object con cero variables miembroel tipo especial NULL (incluye variables no
definidas)Cualquier otro valor es considerado TRUETRUETRUETRUE
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
14/114
Programacion en Lenguaje PHP 14
II-- Aspectos GeneralesAspectos Generales
Ejemplo
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
15/114
Programacion en Lenguaje PHP 15
II-- Aspectos GeneralesAspectos GeneralesElementos bsicos
ENTEROS Un integer es un nmero del conjunto Z =
{..., -2, -1, 0, 1, 2, ...}.
No hay un operador de divisin de enterosen PHP. Puede moldear el valor a unentero para asegurarse de redondearlohacia abajo, o usar la funcin round().
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
16/114
Programacion en Lenguaje PHP 16
II-- Aspectos GeneralesAspectos GeneralesElementos bsicos
Conversin a integer: usar el molde (int )o (integer). Normalmente no necesario,el valor se convierte automticamente sise requiere. Tambin se puede usarfuncion intval()
desde boolean FALSE es 0, TRUE es 1 ver manual..
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
17/114
Programacion en Lenguaje PHP 17
II-- Aspectos GeneralesAspectos GeneralesElementos bsicos
COMA FLOTANTE tambin conocidos como "flotantes",
"dobles" o "nmeros reales")Formalmente:
LNUM [0-9]+DNUM ([0-9]*[\.]{LNUM}) | ({LNUM}[\.][0-9]*)EXPONENT_DNUM ( ({LNUM} | {DNUM}) [eE][+]? {
LNUM})
Conversin a flotante. Ver seccin endocumentacin complementaria
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
18/114
Programacion en Lenguaje PHP 18
II-- Aspectos GeneralesAspectos GeneralesElementos bsicos
CADENAUn valor string es una serie de caracteres.
En PHP, un caracter es lo mismo que unbyte, es decir, hay exactamente 256
tipos de caracteres diferentes.
Un literal de cadena puede especificarseen tres formas diferentes.
comillas simples comillas dobles sintaxis heredoc
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
19/114
Programacion en Lenguaje PHP 19
II-- Aspectos GeneralesAspectos GeneralesElementos bsicos
Tipo de dato Ejemplos de valores
entero decimal
1 123 2100 -12 90entero hexadecimal
0x80 /* 128 en dec.*/0x21B /* 539 en dec.l */
entero octal
012; /* 10 en decimal */coma flotante123.23, -76.00001, 1.4e3
cadenaprograma en PHP
programacion OOdecimal : [1-9][0-9]* | 0hexadecimal : 0[xX][0-9a-fA-F]+octal : 0[0-7]+ integer : [+-]?decimal | [+-]?hexadecimal | [+-]?octal
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
20/114
Programacion en Lenguaje PHP 20
II-- Aspectos GeneralesAspectos Generales
Elementos bsicos Variables : Posicin de memoria con
nombre. Mantiene valores que pueden variar en
el programa. No necesitan declararse. No tienen tipo predefinido, puede
asignarse cualquier valor. Nombres de variables comienzan con
$ En nombres de variables si se
distingue maysculas-minsculas. Se forman por combinacin de letras,
dgitos y subrayado. Vlidas letrasacentuadas y
Una variable puede reutilizarseasignndose datos, incluso de tiposdistintos.
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
21/114
Programacion en Lenguaje PHP 21
II-- Aspectos GeneralesAspectos Generales
Elementos bsicos Se pueden reutilizar en el tiempo,
incluso dndoles valores de diferentestipos.
Adems de variables definidas por elprogramador, existen variablespredefinidas a las que se tiene accesodesde los scripts.
Puede haber nombre de variables quesean a su vez variables
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
22/114
Programacion en Lenguaje PHP 22
II-- Aspectos GeneralesAspectos Generales
Elementos bsicos Ejemplos
Variables vlidas:
$x, $da_de_maana, $variable2 Variables no vlidas:
x, $da-de-maana, $2variable, $dto%
Asignacin de variables:
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
23/114
Programacion en Lenguaje PHP 23
II-- Aspectos GeneralesAspectos Generales
Elementos bsicos Funciones para conocer el tipo de datoque guarda una variable:
gettype() devuelve el tipo de la variable.
is_array() determina si contiene un array.
is_float() determina si contiene un nm.en coma flotante.
is_int() determina si contiene un nmero entero.
is_object() determina si hace referencia a un objeto.
is_string() determina si contiene una cadena de caracteres.
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
24/114
Programacion en Lenguaje PHP 24
II-- Aspectos GeneralesAspectos Generales
Ejemplo is_array()
Matriz
no es Matriz
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
25/114
Programacion en Lenguaje PHP 25
II-- Aspectos GeneralesAspectos Generales
Elementos bsicos
Otras funciones de inters:
isset()Permite conocer si una variable ha sidodefinida. Importante para saber si se hanrecibido todos los datos de un formulario.
unset()Permite eliminar una variable. Borra elcontenido de la misma y libera el espacioen memoria que ocupaba .
empty()Permite saber si una variable que existetiene un valor nulo o vaco
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
26/114
Programacion en Lenguaje PHP 26
II-- Aspectos GeneralesAspectos Generales
Ejemplo isset(), unset()
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
27/114
Programacion en Lenguaje PHP 27
II-- Aspectos GeneralesAspectos Generales
Elementos bsicos La primera vez que se usa una variable y
se le da un valor, automticamente PHPle asigna un tipo a dicha variable.
Si el valor asignado cambia de tipo,implcitamente se produce unaconversin de tipo en la variable.
El programador puede forzar laconversin de una variable de dosformas
Mediante el uso de la funcin settype() $b=settype($a, string);
Mediante el operador de conversin$b=(integer)$a;
tambin llammado cast o molde
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
28/114
Programacion en Lenguaje PHP 28
II-- Aspectos GeneralesAspectos Generales
Elementos bsicos 3 localizaciones:
- fuera de todas las funciones, en elscript del documento (globales)
- en cuerpo de las funciones (locales)- en definicin de parmetros
(parmetros formales)
Ambito de una variable ; en que lugaresuna variable es conocida y puede ser
usada(*) Por defecto tienen mbito global
Variables globales: Se conocen en todo el programa
documento Se declaran fuera de las funciones Existen en todo el documento, incluso si
hay varios scripts. Pueden ser referenciadas dentro de una
funcin solo si se declaran como global
dentro de la funcion.
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
29/114
Programacion en Lenguaje PHP 29
II-- Aspectos GeneralesAspectos Generales
Elementos bsicos Ejemplo1: Uso de variables globales
dentro de una funcin Ejemplo2
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
30/114
Programacion en Lenguaje PHP 30
II-- Aspectos GeneralesAspectos Generales
Elementos bsicos Variables locales: Se declaran dentro de la funcin Slo pueden ser referenciadas dentro
de la funcin o bloque donde fuerondeclaradas
Slo existen mientras se ejecuta elbloque donde estn declaradas.
el uso de variables locales ayuda aprevenir fenmenos no deseados
las variables locales no puedenretener sus valores entre llamadas a lafuncin
Parmetros formales: Si una funcin utiliza argumentos,debe declarar las variables que van aaceptar los valores de los argumentos(parmetros formales). Se comportan
como var. locales
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
31/114
Programacion en Lenguaje PHP 31
II-- Aspectos GeneralesAspectos Generales
Elementos bsicos Ejemplo-1: uso de variables locales y
parametros ..function importe_final ($precio) {$x=$precio*1.17;return $x;}function descuento ($importe) {
$x=$importe;if ($importe > 20000)$x=$importe-$importe*0.25;
return $x;}
..Ejemplo-2: uso de parametros function cuadrado ($valor) {return ($x*$x);}
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
32/114
Programacion en Lenguaje PHP 32
II-- Aspectos GeneralesAspectos Generales
Elementos bsicos
Constantes : Valores fijos no alterablespor el programa. Son los valores queasignamos a las variables.
Solo pueden definirse constantes convalores escalares (nmeros ocadenas)
La definicin de constantes se realizacon la funcin define()
Los identificadores de constantes nocomienzan con $ de las variables
Por convenio se usan maysculaspara los identificadores deconstantes.
Las constantes no tienen restriccinde mbito.
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
33/114
Programacion en Lenguaje PHP 33
II-- Aspectos GeneralesAspectos Generales
Elementos bsicos Ejemplo-1: uso de constantes define(NOMBRE_EJERCICIO, Ej-1);define (DESCUENTO, 0.25);
define(TIPO_IVA,1.17);define (IMPORTE_MAXIMO, 20000);
echo NOMBRE EJERCICIO;
$importe=$importe*(1+TIPO_IVA);if ($importe >IMPORTE_MAXIMO) {
$importe =$importe*(1-DESCUENTO);}echo $importe;..
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
34/114
Programacion en Lenguaje PHP 34
II-- Aspectos GeneralesAspectos Generales
Elementos bsicos Secuencias de Escape : permitenrepresentar caracteres no imprimibles(retorno de carro, tabulacin, etc), yconfiere portabilidad al cdigo.
\n salto de lnea \r retorno de carro \ comilla doble \ comilla simple \0 nulo
\t tabulacin horiz. \\ barra invertida \N carcter cuyo codigo ASCII en octal es
N \xN carcter cuyo codigo ASCII en
hexadecimal es N
Ejemplo:echo El radio=$radio\tArea=$area\nFin;
El radio=1 Area=3.14 Fin
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
35/114
Programacion en Lenguaje PHP 35
II-- Aspectos GeneralesAspectos Generales
Elementos bsicos Cadenas de caracteres :Las cadenas son arrays de caracteres porlo que se puede acceder a los diferentes
caracteres que la forman de maneraindividual mediante su ndice.cadena[1] accede al segundo carcterguardado en la variable cadena
Para su definicin se pueden utilizar comodelimitadores las comillas simples o lasdobles pero no ambas a la vez.
La diferencia entre el uso de comillas
dobles y simples como delimitadores decadenas es, adems de las secuenciasde escape que acepta, que las variablesdentro de una cadena con comillasdobles se expanden (se sustituyen porsu valor).
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
36/114
Programacion en Lenguaje PHP 36
II-- Aspectos GeneralesAspectos Generales
Elementos bsicos Cadenas de caracteres y variables :
Existe otra forma de expandir variablesdentro de cadenas que PHP hereda dePerl
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
37/114
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
38/114
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
39/114
Programacion en Lenguaje PHP 39
II-- Aspectos GeneralesAspectos Generales
Elementos bsicos relacionales :
pueden aplicarse sobre losdatos predefinidos y dancomo resultado un valorlgico.
operadores> mayor que>= mayor o igual que< menor que
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
40/114
Programacion en Lenguaje PHP 40
II-- Aspectos GeneralesAspectos Generales
Elementos bsicos Ejemplo-1 :Resultado-1: los dos valores son diferentes
Ejemplo-2:
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
41/114
Programacion en Lenguaje PHP 41
II-- Aspectos GeneralesAspectos Generales
Elementos bsicos lgicos:
se aplican sobre operandos
lgicos y dan como resultadoun valor lgico.
operadores
&& Y$x&&$y cierto si tanto $x como $y son ciertoand Y$xand$y cierto si tanto $x como $y son cierto|| O$x || $y cierto si $x $y son cierto
or O$x or $y cierto si $x $y son cierto
xor O exclusivo$x xor $y cierto si $x $y cierto, no ambos
! negacin!$x cierto si $x tiene valor falso
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
42/114
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
43/114
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
44/114
Programacion en Lenguaje PHP 44
II-- Aspectos GeneralesAspectos Generales
Elementos bsicos otros operadores: operador ? (condicional) se
utiliza con sentenciascondicionalesformato
exp1?exp2:exp3;evala exp1, si cierto, se evala exp2 y tomaese valor para la expresin. Si exp1 es falsa,evala exp3 tomando ese valor para laexpresin.Ejemplo$par= ($n %2 ==0) ? 1:0;
operador . (concatenacin)
permite concatenar cadenasformato
cadena1.cadena2Ejemplo$titulo1= Lenguaje;
$titulo2=PHP;$titulo=$titulo1. de programacion.$titulo2;
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
45/114
Programacion en Lenguaje PHP 45
II-- Aspectos GeneralesAspectos Generales
Elementos bsicos Ejemplo :
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
46/114
Programacion en Lenguaje PHP 46
II-- Aspectos GeneralesAspectos Generales
Elementos bsicos operador @ (supresin deerror)el interprete PHP no genera mensajes de error
aunque detecte situaciones errneas
Ejemplo$y= @(1/0);
operador ` (ejecucin)la expresin encerrada entre acentos debe sertratada como una sentencia a ejecutardirectamente por el sistema operativo
Ejemplo
/* genera una pagina web con el contenido deldirectorio donde est */
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
47/114
Programacion en Lenguaje PHP 47
II-- Aspectos GeneralesAspectos Generales
Elementos bsicos Ejemplo :
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
48/114
Programacion en Lenguaje PHP 48
II-- Aspectos GeneralesAspectos Generales
Elementos bsicos operador cast (conversinde tipo)
formato
(tipo) expresion;
Ejemplo$x=(int) 15.65;$p= (string) 2006;
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
49/114
Programacion en Lenguaje PHP 49
II-- Aspectos GeneralesAspectos Generales
Elementos bsicos Ejemplo :
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
50/114
Programacion en Lenguaje PHP 50
II-- Aspectos GeneralesAspectos Generales
Elementos bsicos operadores parntesis y corchetes los primeros cambian la precedencia natural delos operadores, los segundos llevan a cabo laindexacin de arrays (proporcionan el ndice del
array)
Resumen de precedencias :Mayor
() [ -> . I-D
++ --(cast), @ D-I* / % I-D (aritmticos)+ - I-D (aritmticos). (concatenacion) I-D> I-D (relacionales)> = I-D (relacionales)==, ! =, === I-D (relacionales)
&, , |,&&,|| I-D (lgicos)condicional I-Dasignacionand, or, xor I-D (lgicos)
Menor
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
51/114
Programacion en Lenguaje PHP 51
II-- Aspectos GeneralesAspectos GeneralesElementos bsicos
Expresiones : Es cualquier combinacinvlida de operadores, variables y
constantes.
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
52/114
Programacion en Lenguaje PHP 52
IIII-- PHP y los FormulariosHTML
Formularios HTML :Forma principal de interactuar con elusuario.Cada dato que el usuario introduzca en elcorrespondiente campo del mismo El parmetro NAME de los campos de unformulario sirven para poder identificarcada campo dentro del formulario
Envo de datos a programas PHP
1. Indicar en el parmetro ACTION , dela etiqueta FORM, el nombre deldocumento PHP al que deben serenviados los datos.
2. El documento PHP recibir variablescon los datos que el usuario introdujoen los campos del formulario. Elnombre de las variables coincidir conel nombre de los campos delformulario.
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
53/114
Programacion en Lenguaje PHP 53
IIII-- PHP y los FormulariosHTML
Mtodo de acceso a las variables delformulario
Primer mtodo (vlido desde php 4.1):
Tercer mtodo (vlido independientementedel servidor):
$_REQUEST[nombre_control],$_POST[nombre_control],$_GET[nombre_control].
Segundo mtodo o estilo corto:
Necesidad de configurar en archivophp.ini del intrprete de php el siguienteparmetro : register_globals=on.
$nombre_control .
$HTTP_POST_VARS[nombre_variable],
$HTTP_GET_VARS[nombre_variable].
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
54/114
Programacion en Lenguaje PHP 54
II-- Aspectos GeneralesAspectos Generales
Elementos bsicos
Ejemplo-1 : SumaNumeros(SumaNumeros.php)
Ejemplo-2 : Procesar par/impar(procesar.php)
Ejemplo de Tratamiento de formularioscon listas de seleccin multiples
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
55/114
Programacion en Lenguaje PHP 55
IIII-- PHP y los FormulariosHTML
Tratamiento de formularios con listas deseleccin mltiples
SumaNumeros.phpSumaNumeros.php
txtnumero1 txtnumero2
btnSumar
12 13
25
txtnumero1 txtnumero2btnSumar
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
56/114
Programacion en Lenguaje PHP 56
II-- Aspectos GeneralesAspectos Generales
Elementos bsicos Ejemplo :
procesar un numero
Introduzca un numero entero:
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
57/114
Programacion en Lenguaje PHP 57
IIIIII-- Sentencias de ControlSentencias de Control
introduccin Son aquellas que permiten alterar
el orden secuencial habitual en laejecucin de sentencias.
condicionales (if, switch) iterativas (while, for, do-while,
foreach) de salto (break, continue, goto,
return) de etiquetado (case, default, label) de expresin (expresiones vlidas) de bloque ({})
En php cualquier valor distinto de0 se considera true, 0 seconsidera falso.
Sentencia. Puede ser simple,bloque o ninguna.
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
58/114
Programacion en Lenguaje PHP 58
IIIIII-- Sentencias de ControlSentencias de Control
condicionales if
forma generalif (expresin) sentencia;
else sentencia;
Descripcin si expresin es cierta (cualquier valor distinto de0), se ejecuta la/s sentencia/s objeto del if, sino
las del else
if anidado Es una variante del if consistente en unasentencia if objeto de otro if o else.
En PHP, al igual que en C, el else estasociado al if ms prximo que no tengasentencia else asociada
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
59/114
Programacion en Lenguaje PHP 59
IIIIII-- Sentencias de ControlSentencias de Control
condicionales escala if-else-if
Es una variante del if consistente en unasentencia if objeto de otro if o else.
Si todas las condiciones fallan seejecuta la sentencia else final (o nadasi no hay)
Formato if (expresin1) sentencia;
else if (expresion2) sentencia; else
if (expresin3) sentencia; ..
else sentencia;
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
60/114
Programacion en Lenguaje PHP 60
IIIIII-- Sentencias de ControlSentencias de Control
condicionales Si en lugar de tratar una sentencia
simple en una clusula if, es precisotratar un conjunto de ellas se emplearel bloque
{ sentencia1; ...sentencian;
}
Sintaxis alternativa: PHP admite sintaxisalternativa para delimitar el bloque (tilpara fraccionar una estructura en dosscripts)
if (condicion) : sentencia1; ..sentencian;
endif;
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
61/114
Programacion en Lenguaje PHP 61
IIIIII-- Sentencias de ControlSentencias de Control
condicionales
if ( condicin1 ) : sentencia(s) a ejecutar si la condicin 1 se
cumple elseif ( condicin2 ) :
sentencia(s) a ejecutar si la condicin 2 secumple
...else :
sentencia(s) a ejecutar si ninguna de lascondiciones anteriores se cumplen
endif;
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
62/114
Programacion en Lenguaje PHP 62
IIIIII-- Sentencias de ControlSentencias de Control
condicionales switch sentencia de seleccin multipleforma general
switch (expresin) {
case constante1:secuencia de sentenciasbreak;
case constante2:secuencia de sentencias
break;....default:
secuencia de sentencias;}
Descripcin Se comprueba el valor de expresin y secompara por orden con las constantesespecificadas en las clasulas. Cuando seencuentra correspondencia se ejecuta lasecuencia de sentencias asociadas a ese casehasta el break o hasta el final de switch. Si nohay correspondencia se ejecuta lascorrespondientes a default.
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
63/114
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
64/114
Programacion en Lenguaje PHP 64
IIIIII-- Sentencias de ControlSentencias de Control
condicionales
switch ( expresin ) { case valor1:
sentencia(s) a ejecutar si se cumplela condicin break;
case valor2a: case valor2b:
sentencia(s) a ejecutar si se cumplela condicin
break; ...default:
sentencia(s) a ejecutar si ninguna delas condiciones
anteriores se cumplen }
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
65/114
Programacion en Lenguaje PHP 65
IIIIII-- Sentencias de ControlSentencias de Control
iterativas Permiten que un conjunto deinstrucciones sea ejecutado hasta que sealcance una condicin (predefinida comoen el for , o sin final determinado como enwhile o do-while )+ foreach
for forma general
for (inicializacin; condicin; incremento)sentencia;
Descripcin inicializacin-> sentencia de asignacinpara iniciar variable de control de ciclo.
condicin -> expresin relacional.
incremento -> determina como cambia lavariable de control.
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
66/114
Programacion en Lenguaje PHP 66
IIIIII-- Sentencias de ControlSentencias de Control
iterativas while
forma generalwhile (condicion) sentencia;
Descripcin se evala condicin, si es cierta se ejecutasentencia. Si condicin es falsa se sale del bucle
do-while analiza la condicin a final del ciclo.forma general
do { sentencia;
} while (condicion);
Descripcin el bucle itera hasta que la condicin se hacefalsa.
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
67/114
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
68/114
Programacion en Lenguaje PHP 68
IIIIII-- Sentencias de ControlSentencias de Control
iterativas while ( expresin ) {
sentencia(s) a ejecutar si se cumple lacondicin
}
while ( expresin ) : sentencia(s) a ejecutar si se cumple la
condicin endwhile;
for ( inicializacin; condicin; modificacin ) { sentencia(s) a ejecutar si se cumple la condicin
}
for ( inicializacin; condicin; modificacin ) : sentencia(s) a ejecutar si se cumple la
condicin endfor;
do { sentencia(s) a ejecutar si se cumple la condicin
}
while ( expresin );
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
69/114
Programacion en Lenguaje PHP 69
IIIIII-- Sentencias de ControlSentencias de Control
saltoSentencia BREAK y CONTINUE
Permiten alterar la ejecucin prevista de
una estructura iterativa BREAK :- Cancela completamente la ejecucin del bucle.- Es utilizada, adems, en la sentencia SWITCH .
CONTINUE :- Cancela una de las iteraciones pasandodirectamente a la siguiente.
Dentro de un bucle, ambas sentenciasadmite el uso de un parmetro opcionalque indica: Nmero de estructuras decontrol de las que hay que salir o Nmerode niveles a saltar para continuar laejecucin (break n; continue n;).
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
70/114
Programacion en Lenguaje PHP 70
de expresin cualquier expresin vlida C
seguida de punto y comaEjemplo :func();a=b+c;b+f();
;
de bloque grupo de sentencias relacionadasque se tratan como una unidad
Los bloques comienzan con { yconcluyen con }
Se pueden colocar en cualquierpunto de programa
IIIIII-- Sentencias de ControlSentencias de Control
otras
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
71/114
Programacion en Lenguaje PHP 71
IVIV-- FuncionesFunciones
Introduccin Es la base de toda actividad de programa
forma general function NombreFuncion (argumentos) {sentencias; return ValorDevuelto;
}
Ejemplo-3.1 /* calcula base n */
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
72/114
Programacion en Lenguaje PHP 72
IVIV-- FuncionesFunciones
llamada Llamada a las funciones : La funcin debe de estar definida antes
de realizar la llamada (en PHP 4 y 5, no) En la llamada, los argumentos deben
pasarse en el orden en que aparecen enla definicin de parmetros.
Si se pasan menos argumentos queparmetros definidos, los ltimos seasumirn nulos
Si la funcin devuelve un valor, estepuede asignarse a yuan variable o serusado en otra expresin.
Ejemplo-3.2 con la funcin anterior, lassiguientes llamadas son validas
$x=2;$y=3;$z=potencia($x,$y);$z=potencia(2,3);$x=2;
Echo POTENCIA($x,3);$z=suma(2,3);
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
73/114
Programacion en Lenguaje PHP 73
IVIV-- FuncionesFunciones
Argumentos argumentos : es una de las formas
en que dos funcionesintercambian informacin.
argumento: valor usado en unallamada a funcin (tambinparmetro actual)
parmetro: nombre de lasvariables locales que aparecenentre parntesis en la declaracin
de la funcin (tambin parmetroformal). En PHP todos losargumentos pueden serconsiderados opcionales
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
74/114
Programacion en Lenguaje PHP 74
IVIV-- FuncionesFuncionesArgumentos
Ejemplo-3.3 /* Potencias */ Ejemplo de potencias
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
75/114
Programacion en Lenguaje PHP 75
IVIV-- FuncionesFunciones
Argumentos - los parmetros formales y
actuales deben ser del mismo tipo.
- al definir funciones pueden darsevalores por defecto a losargumentos: si no est presenteen la llamada se le asigna ese
valor defecto (asignar parmetro avalor)
- listas de argumentos de longitud
variable: permitido a partir dePHP4 ( ejemplo 3.4 )
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
76/114
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
77/114
Programacion en Lenguaje PHP 77
IVIV-- FuncionesFunciones
Paso de parmetros Paso de parmetros : definen la
forma en que pasan argumentos alas funciones.
Llamada por valor: se copia elvalor del argumento en elparmetro formal de la funcin.Los cambios en los parmetros dela funcin no afectan a lasvariables que se usan en lallamada.
Llamada por referencia: se copiala direccin del argumento en elparmetro formal de la funcin.Los cambios en los parmetros dela funcin afectan a las variablesque se usan en la llamada .
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
78/114
Programacion en Lenguaje PHP 78
IVIV-- FuncionesFunciones
Paso de parmetros - Para indicar que un argumento se
pasa por referencia, se debeanteponer & al nombre de lavariable en la lista de parmetros.
Ejemplo-3.5 : /* ppv-cuadrado de unvalor dado */
function cuadrado ($x) {$x=$x*$x;return $x;}.....$t=10;print ($t,cuadrado($t));....
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
79/114
Programacion en Lenguaje PHP 79
IVIV-- FuncionesFuncionesPaso de parmetros
Ejemplo-3.6 : /* suma de dos nmeros */ Ejemplo de SUMAS
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
80/114
Programacion en Lenguaje PHP 80
IVIV-- FuncionesFunciones
Paso de parmetros
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
81/114
Programacion en Lenguaje PHP 81
IVIV-- FuncionesFuncionesPaso de parmetros
Ejemplo-3.7 intercambio de dos valores
Ejemplo INTERCAMBIO
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
82/114
Programacion en Lenguaje PHP 82
IVIV-- FuncionesFunciones
Ambito de las variables reglas de mbito : controlan si un
fragmento de cdigo conoce o tieneacceso a otro segmento de cdigo odatos.
- Toda variable definida dentro de unafuncin tiene mbito local.
- Una variable declarada fuera de unafuncin tiene un mbito global y nopuede ser usada dentro si no se declaraglobal
- Variable esttica local: tipo especial devariable local que no pierde su valorcuando termina la ejecucin de lafuncin. Precisa usar static en sudeclaracin
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
83/114
Programacion en Lenguaje PHP 83
IVIV-- FuncionesFunciones
conceptos varios sentencia return : tiene dos usos:- forzar la salida inmediata de la funcin- devolver valor
clasulas include y require :permiten insertar en un programacdigo que se encuentra en un ficheroexterno.
sintaxis include(mifichero.php); require(mifichero.php);
diferencias En caso de no localizar mifichero.php,require produce -Error Fatal- y noejecuta el resto del programa. Includegenera aviso y contina con ejecucindel resto de programas.
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
84/114
Programacion en Lenguaje PHP 84
IVIV-- FuncionesFunciones
conceptos varios funciones variables : el nombre de unafuncin puede ser almacenado en unavariable durante la ejecucin delprograma (ejemplo-3.8)
valores retornables por una funcion :puede ser de cualquier tipo: cadena decaracteres, valor numrico, valorbooleano, array, ...Siempre ir asociadocon la sentencia return
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
85/114
Programacion en Lenguaje PHP 85
IVIV-- FuncionesFuncionesconceptos varios
Ejemplo-3.8 Funciones Variables
Operaciones aritmticas
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
86/114
Programacion en Lenguaje PHP 86
IVIV-- FuncionesFuncionesconceptos varios
for ($i=0;$i
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
87/114
Programacion en Lenguaje PHP 87
IVIV-- FuncionesFunciones
conceptos varios recursividad : es la propiedad que en Ctienen las funciones de llamarse a simismas
caractersticas de la recursividad: - en las funciones recursivas existir un if
que permite a la funcin volver sinejecutar de nuevo la funcin.
- las versiones recursivas no minimizan
tamao de cdigo ni ahorran espacio dealmacenamiento de variables.
- las versiones recursivas son mas lentasque las iterativas equivalentes.
- Un nmero elevado de llamadas afuncin pueden desbordar la pila.
- Determinados algoritmos de ordenacin(quitsort) son idneos para tratarlos confunciones recursivas. Tambinproblemas de inteligencia artificial.
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
88/114
Programacion en Lenguaje PHP 88
IVIV-- FuncionesFunciones
conceptos varios Ejemplo-3.9 Funcion Factorial
/* version factorial-iterativa */
function factorial($n){$respuesta=1;for ($t=1; $t
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
89/114
Programacion en Lenguaje PHP 89
IVIV-- FuncionesFunciones
predefinidas PHP cuenta con mas de 700 funcionespredefinidas que pueden ser utilizadasen el programa sin necesidad de invocarlibrera alguna.
Una breve clasificacin:
Matemticas Trabajo con fechas
Trabajo con cadenas Trabajo con arrays Ficheros y directorios (*) Acceso a bases de datos (*) Comunicaciones (*)
(*) Se vern en los correspondientescaptulos
Todo en http://www.php.net Otras referencias especficas de inters:http://www.interec.com/tutoriales/manuales/php.phtml
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
90/114
Programacion en Lenguaje PHP 90
IVIV-- FuncionesFunciones
predefinidas Matemticas
Trabajo con fecha y hora
abs (n) exp (a) round (n) log (n) ceil (n) min (n1, n2, ...) ; min (array) floor (n) max (n1, n2, ...) ; max (array) cos (n) pow (a, b) sin (n) rand (min, mx), mtrand (min, mx) tan (n) sqrt (a)
time () mktime (hora, minuto, segundo, mes, da ao) checkdate (mes, da ao) date (formato, instante )
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
91/114
Programacion en Lenguaje PHP 91
IVIV-- FuncionesFunciones
predefinidas Trabajo con cadenasReconocimiento de caracteres
Conversin cadena-array
Prolongacin de cadena
ctype_alnum (cadena)
ctype_space (cadena)ctype_alpha (cadena) ctype_digit (cadena) ctype_lower (cadena) ctype_upper (cadena) ctype_print (cadena) ctype_punct (cadena)
explode (separador, cadena, lmite) implode (separador, array)
join (separador, array) str_word_count (cadena, formato )
str_pad (cadena, longitud, cadena_aad, clase_ad) str_repeat (cadena, nmero)
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
92/114
Programacion en Lenguaje PHP 92
IVIV-- FuncionesFunciones
predefinidas Modificacin de cadena
Comparacin de cadenas
Bsqueda de datos
str_replace (buscar, reemplazar, cadena) strrev (cadena) strtolower (cadena) strtoupper(cadena) substr_replace (cadena, reemplazar, posic, long) ucfirst (cadena) ucwords (cadena)
strcasecmp (cadena1, cadena2) strcmp (cadena1, cadena2) strnatcasecmp (cadena1, cadena2) strnatcmp (cadena1, cadena2)
strchr (cadena, carcter) strrchr (cadena, carcter) stristr (cadena, fragmento) strstr (cadena, fragmento) strpos (cadena, fragmento, inicio_bsqueda) strrpos (cadena, carcter) substr (cadena, longitud_inicial, longitud) substr_count (cadena, fragmento)
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
93/114
Programacion en Lenguaje PHP 93
IVIV-- FuncionesFunciones
predefinidas Subdivisin de cadenas
Longitud de una cadena
Trabajo con arrays
Transformacin de los ndices
Subdivisin
Contabilizacin de elementos
wordwrap (cadena, ancho, separacin) strtok (cadena, delimitador)
strlen (cadena)
array_change_key_case (array, caso)
array_chuck (array, dimensin, valor_booleano)
array_count_values (array) count (array)
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
94/114
Programacion en Lenguaje PHP 94
IVIV-- FuncionesFunciones
predefinidas Bsqueda de datos
Generacin de arrays
Combinacin de arrays
array_filter (array, funcin) array_keys (array, elementos) array_key_exists (indice, array) array_rand (array, num_elementos) array_search (elemento_buscado, array, v_logico) array_values (array) in_array (elemento, array)
array_combine (indices, elementos) compact (ListaVariables) extract (array, extraccin) range (inicio, final, aumento) array_slice (array, fragmento, dimensin) array_splice (array, frag, dim, nuevo)
array_merge (array1, array2, array3, ...) array_diff_assoc (array1, array2, array3, ...) array_diff (array1, array2, array3, ...) array_intersect_assoc (array1, array2, array3, ...)
array_intersect (array1, array2, array3, ...)
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
95/114
Programacion en Lenguaje PHP 95
IVIV-- FuncionesFunciones
predefinidas Prolongacin/truncamiento de array
Aplicacin de funciones
array_fill (indice, cantidad, elemento) array_pad (array, tamao_final, elemento_nuevo) array_pop (array) array_push (array, elemento1, elemento2, ...) array_shift (array) array_unique (array) array_unshift (array, elemento1, elemento2, ...)
array_map (funcin, array1, array2, array3, ...) array_walk (array, nombreFuncin, argumentos) asort (array), arsort (array) ksort (array), krsort (array) natsort (array) , natcasesort (array) array_reverse (array) sort (array), rsort (array)
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
96/114
Programacion en Lenguaje PHP 96
VV-- ARRAYSARRAYS
Introduccin Un array es una coleccin dedatos que se referencian con unnombre comn
En PHP los datos pueden ser dediferente tipo (cadenas, valoresnumricos, otros arrays, ...)
A cada elemento especifico delarray se accede mediante un
ndice No es necesario determinar ladimensin antes de inicializarlo
Existen multitud de funciones quepermiten la gestin y manipulacinde arrays.
Constan de posiciones dememoria consecutivas; ladireccin mas baja es la del primer
elemento
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
97/114
Programacion en Lenguaje PHP 97
VV-- ARRAYSARRAYSconceptos
Arrays unidimensiolanes son en esencia listas de
informacin heterognea guardadas en posicionescontiguas de memoria
formatos y ejemplos de uso $nombre_variable[indice]=valor;
valor= contenido del elemento indce= elemento del array nombre_variable= identificador delarrary
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
98/114
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
99/114
Programacion en Lenguaje PHP 99
VV-- ARRAYSARRAYSconceptos
Arrays multidimensionales es un array cuyos elementos son a
su vez nuevos arrays
formatos y ejemplos de uso $nombre_variable[indice1][indice2]..[indic
eN]= valor;
Ejemplo.4.2.1 - //Array de 2x2 elementos $X[0][0]=1;$X[0][1]=0;$X[1][0]=-1;$X[1][1]=-2;
Ejemplo.4.2.2 - //Array de 2x2 elementos $X=array(array(1,0),array(-1,-2));
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
100/114
Programacion en Lenguaje PHP 100
VV-- ARRAYSARRAYSconceptos
Aspectos varios:
La funcion print_r ( ) muestra los elementos de unarray
La manipulacin de loselementos requiere uso desentencias iterativas(foreach, for, etc.)
Funciones para manipulacinde arrays (ver captulo III)
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
101/114
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
102/114
Programacion en Lenguaje PHP 102
VIVI-- Conectividad a Base deConectividad a Base deDatosDatos MySQLMySQL
Pasos a seguir en la conexin a basede datos :
1. Conexin con MYSQL desde PHP1. Apertura de conexin2. Cierre de conexin
2. Seleccin de la base de datos
3. Ejecucin de sentencias SQL sobre laBD seleccionada
4. Otras funciones de manipulacin dedatos
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
103/114
Programacion en Lenguaje PHP 103
VIVI-- Conectividad a Base deConectividad a Base deDatosDatos MySQLMySQL
Conexin con MySQL:
Apertura de conexin
mysql_connect (servidor, usuario, contrasea)La funcin devuelve un valor entero que servir como identificador de la conexin en lasoperaciones posteriores. Si se produce un error enla conexin la funcin devuelve 0.
Cierre de conexin
mysql_close (identificador)
En caso de no poner el identificador se cerrar laltima conexin abierta. La funcin devuelve unvalor entero, que ser nulo si se produce algn erroren el proceso.
mysql_connect (localhost, root, )
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
104/114
Programacion en Lenguaje PHP 104
VIVI-- Conectividad a Base deConectividad a Base deDatosDatos MySQLMySQL
Conexin con MysSQL:
Esquema general de una conexin
En caso de no utilizar la funcin mysql_close() , laconexin se cerrar al finalizar el script.
Problema 8_1
la funcin die () , sirve para mostrar el aviso de error
si $c no nulo, y abortar ejecucin del resto deprograma
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
105/114
Programacion en Lenguaje PHP 105
VIVI-- Conectividad a Base deConectividad a Base deDatosDatos MySQLMySQL
Conexin con MysSQL:
Esquema general de una conexin
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
106/114
Programacion en Lenguaje PHP 106
VIVI-- Conectividad a Base deConectividad a Base deDatosDatos MySQLMySQL
Seleccin de la Base de Datos:
Una vez abierta la conexin con el ServidorMySQL, el siguiente paso es la seleccin de la(s)base(s) de datos sobre la que queremos actuar.
mysql_select_db (nombreBD, identificador)
El identificador de la conexin es opcional. En caso
de no utilizarlo se utilizar la ltima conexin abierta. Si se produce un error, la funcin devolver valor 0.
Una vez seleccionada la base de datos, sta pasaa ser la base de datos activa, y cualquier operacinposterior se dirigir a ella.
Para cambiar de base de datos se deber volver autilizar la funcin antes de cerrar la conexin.
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
107/114
Programacion en Lenguaje PHP 107
VIVI-- Conectividad a Base deConectividad a Base deDatosDatos MySQLMySQL
Seleccin de la Base de Datos:
Problema 8_2
Aborta el programa si no se puede seleccionar labase de datos compras.
Probar a cambiar compras por otros nombres
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
108/114
Programacion en Lenguaje PHP 108
VIVI-- Conectividad a Base deConectividad a Base deDatosDatos MySQLMySQL
Ejecucin de sentencias SQL sobre labase de datos seleccionada
Realizacin de una consulta sobre la base dedatos activa.
mysql_query (sentencia, identificador)
El identificador de la conexin es opcional. En casode no utilizarlo se utilizar la ltima conexin abierta.
Si se produce un error, la funcin devolver el valor0 en caso de una ejecucin correcta se devuelve unentero.
En caso de ser una consulta de seleccin, este
entero se utilizar posteriormente para acceder alresultado de la consulta.
En el caso de sentencias de creacin, insercin,eliminacin o actualizacin, este valor devueltosirve para comprobar si la sentencia se ejecut
correctamente.
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
109/114
Programacion en Lenguaje PHP 109
VIVI-- Conectividad a Base deConectividad a Base deDatosDatos MySQLMySQL
Ejecucin de sentencias SQL sobre labase de datos seleccionada
Problema 8_3
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
110/114
Programacion en Lenguaje PHP 110
VIVI-- Conectividad a Base deConectividad a Base deDatosDatos MySQLMySQL
Ejecucin de sentencias SQL sobre labase de datos seleccionada
mysql_query (sentencia, identificador)
mysql_db_query (nombreBD, sentencia,identificador)
sentencia idntica a la anterior pero que permiteejecutar la sentencia sobre cualquier base de datos.
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
111/114
Programacion en Lenguaje PHP 111
VIVI-- Conectividad a Base deConectividad a Base deDatosDatos MySQLMySQL
Obtencin de errores en el acceso aBD
mysql_error ( )
Devuelve una cadena de caracteres explicando elltimo error producido en la operacin de acceso adatos.
Insercin de datos mediante formulario
La verdadera utilidad de las funciones deconectividad a bases de datos desde PHP radicaen la posibilidad de construir sentencias SQL deforma dinmica.
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
112/114
Programacion en Lenguaje PHP 112
VIVI-- Conectividad a Base deConectividad a Base deDatosDatos MySQLMySQL
Recuperacin de los resultados deconsultas
Para acceder a los resultados de una consulta deseleccin.
mysql_fetch_row (resultado)
Para acceder al resultado de la consulta de seleccin seutiliza el valor que devuelve la funcin mysql_query().
Cada vez que se produce la llamada a la funcin se genera un array con los valores de una fila de la tablade resultados.
Cuando no hay ms filas que mostrar la funcindevuelve un valor nulo.
Para saber cuantas filas o registros incluye el resultadode la consulta.
mysql_num_rows (resultado)
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
113/114
-
8/12/2019 Programacion-INTRODUCCION AL PHP.pdf
114/114
VIVI-- Conectividad a Base deConectividad a Base deDatosDatos MySQLMySQL
Recuperacin de los resultados deconsultas
En el ejemplo anterior se necesit saber el ordende los campos dentro de la tabla de la base dedatos. Para facilitar el acceso a los datos PHPdispone de otra funcin.
mysql_fetch_array (resultado )
Funcin similar a mysql_fetch_row().
Principal ventaja:datos son devueltos en un arrayasociativo en el que en lugar de utilizar ndicesnumricos de pueden utilizar los propios nombres delos campos.