Bases de Datos Cliente Servidor. Arquitectura Cliente Servidor Esta arquitectura consiste...

Post on 02-Apr-2015

121 views 0 download

Transcript of Bases de Datos Cliente Servidor. Arquitectura Cliente Servidor Esta arquitectura consiste...

Bases de Datos Cliente Servidor

Arquitectura Cliente Servidor

Esta arquitectura consiste básicamente en un cliente que realiza peticiones a otro programa (el servidor) que le da respuesta. Aunque esta idea se puede aplicar a programas que se ejecutan sobre una sola computadora es más ventajosa en un sistema operativo multiusuario distribuido a través de una red de computadoras.

En esta arquitectura la capacidad de proceso está repartida entre los clientes y los servidores, aunque son más importantes las ventajas de tipo organizativo debidas a la centralización de la gestión de la información y la separación de responsabilidades, lo que facilita y clarifica el diseño del sistema.

La separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no se ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo programa. Los tipos específicos de servidores incluyen los servidores web, los servidores de archivo, los servidores del correo, etc. Mientras que sus propósitos varían de unos servicios a otros, la arquitectura básica seguirá siendo la misma.

Una disposición muy común son los sistemas multicapa en los que el servidor se descompone en diferentes programas que pueden ser ejecutados por diferentes computadoras aumentando así el grado de distribución del sistema.

La arquitectura cliente-servidor sustituye a la arquitectura monolítica en la que no hay distribución, tanto a nivel físico como a nivel lógico.

Arquitecturas Cliente Servidor

PHP: Hypertext Pre-Procesor(1998)

Herramienta para el desarrollo de aplicaciones

Web

Propósitos de PHP Lenguaje de scripts de propósito

general Lenguaje interpretado de alto nivel

embebido en páginas HTML y ejecutado en el servidor

Diseñar páginas dinámicas de servidor Generar páginas bajo petición del cliente

Otros lenguajes para Internet ASP, Cold Fusion, Perl

Características de PHP

Lenguaje de programación de estilo clásico: variables, sentencias condicionales, ciclos, funciones.

No es un lenguaje de marcas como HTML, ó XML. Está mas cercano a JavaScript o a C.

Java o JavaScript que se ejecutan en el navegador, PHP se ejecuta en el servidor, permite acceder a los recursos que tenga el servidor: BD

Ejecución de PHP

El programa PHP es ejecutado en el servidor y el resultado enviado al navegador. El resultado es normalmente una página HTML.

Características de PHP

Software libre Multiplataforma (Unix, Windows, Mac:

Open Source)

Aplicaciones sencillas Aplicaciones avanzadas (BD,

gráficos)

Capacidades de PHP Soporte para múltiples sistemas

operativos Soporte para múltiples servidores

(Apache, Netscape) Soporte para múltiples BD

(Ingres, Oracle, MySQL, DB2, Sybase) Generación de resultados en múltiples

formatos (XML, imágenes, .PDF)

ASP vs. PHP ASP (Active Server Pages) Derivado de Visual Basic Básicamente para Windows (Microsoft) Comunicación y corrección de errores más

lenta Gestión de M más lenta (en PHP los objetos

se ejecutan en el mismo espacio de M) Compilación más lenta (VBScript o Jscript)

Instalación

Configuración más habitual: LAMP

Apache : Servidor de Web

MySQL: Gestor de BD

Nuestro primer PHP

<!-- Manual de PHP de WebEstilo.com --> <html> <head>    <title>Ejemplo de PHP</title> </head>

<body>

Parte de HTML normal. <BR><BR>

<?php    echo "Parte de PHP<br>";        for($i=0;$i<10;$i++)    {       echo "Linea ".$i."<br>";    } ?>

</body> </html>

sentencias PHP en las páginas HTMLAzul: HTML Rojo: PHP

Parte de HTML normal.

Parte de PHPLinea 0Linea 1Linea 2Linea 3Linea 4Linea 5Linea 6Linea 7Linea 8Linea 9

Variables Comienzan con el símbolo del dólar $ y no se defiinen No tienen tipos (misma variable: número y caract.)

<!-- Manual de PHP de WebEstilo.com --> <html> <head>    <title>Ejemplo de PHP</title> </head>

<body> <?php    $a = 1;    $b = 3.34;    $c = "Hola Mundo";    echo $a,"<br>",$b,"<br>",$c; ?> </body> </html>

13.34Hola Mundo

Operadores Aritméticos

Parecidos a los de C y Java

Aplicables

a variables y const. numéricas.

Operador

Nombre Ejemplo

+ Suma 5+6

- Resta 7-9

* Multiplicacación

6*3

/ División 4/8

% Módulo 7%2

++ Suma 1 $a++

-- Resta 1 $a--

Operadores Aritméticos <!-- Manual de PHP de

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

115242.666666666666792

Operadores de Comparación

Comparar y tomar decisiones.

Operador Nombre Ejemplo

= Igual $a == $b

!= Distinto $a != $b

< Menor que $a < $b

> Mayor que $a > $b

<= Menor o igual $a <= $b

>= Mayor o igual $a >= $b

Operadores de Comparación

<!-- Manual de PHP de WebEstilo.com --> <html> <head>    <title>Ejemplo de PHP</title> </head> <body> <?php    $a = 8;    $b = 3;    $c = 3;   echo $a == $b,"<br>";    echo $a != $b,"<br>";    echo $a < $b,"<br>";    echo $a > $b,"<br>";    echo $a >= $c,"<br>";    echo $b <= $c,"<br>"; ?> </body> </html>

1

111  

Devuelve cierto cuando se cumple la condición

Operadores Lógicos

Operador Nombre Ejemplo

&& Y (7>2) && (2<4)

and Y (7>2) and (2<4)

|| O (7>2) || (2<4)

or O (7>2) or (2<4)

! NO !(7>2)

Operadores Lógicos

<!-- Manual de PHP de WebEstilo.com --> <html> <head>    <title>Ejemplo de PHP</title> </head> <body> <?php    $a = 8;    $b = 3;    $c = 3;    echo ($a == $b) && ($c > $b),"<br>";    echo ($a == $b) || ($b == $c),"<br>";    echo !($b <= $c),"<br>"; ?> </body> </html>

1

Sentencias Condicionales

<!-- Manual de PHP de WebEstilo.com --> <html> <head>    <title>Ejemplo de PHP</title> </head> <body> <?php    $a = 8;    $b = 3;    if ($a < $b)    {       echo "a es menor que b";    }    else    {       echo "a no es menor que b";    } ?> </body> </html>

a no es menor que b

Sentencia switch ... case<!-- Manual de PHP de WebEstilo.com -->

<html> <head>    <title>Ejemplo de PHP</title> </head> <body> <?php    $posicion = "arriba";        switch($posicion) {       case "arriba":   // Bloque 1          echo "La variable contiene";          echo " el valor arriba";          break;       case "abajo":   // Bloque 2          echo "La variable contiene";          echo " el valor abajo";          break;       default:   // Bloque 3          echo "La variable contiene otro valor";          echo " distinto de arriba y abajo";    } ?> </body> </html>

La variablecontiene el valorarriba

Sentencia While <!-- Manual de PHP de

WebEstilo.com --> <html> <head>    <title>Ejemplo de PHP</title> </head> <body> Inicio<BR> <?php    $i=0;    while ($i<10)    {       echo "El valor de i es ", $i,"<br>";       $i++;    } ?> Final<BR> </body> </html>

InicioEl valor de i es 0El valor de i es 1El valor de i es 2El valor de i es 3El valor de i es 4El valor de i es 5El valor de i es 6El valor de i es 7El valor de i es 8El valor de i es 9Final

Sentencia For <!-- Manual de PHP de WebEstilo.com

--> <html> <head>    <title>Ejemplo de PHP</title> </head> <body> Inicio<BR> <?php    for($i=0 ; $i<10 ; $i++)    {       echo "El valor de i es ", $i,"<br>";    } ?> Final<BR> </body> </html>

InicioEl valor de i es 0El valor de i es 1El valor de i es 2El valor de i es 3El valor de i es 4El valor de i es 5El valor de i es 6El valor de i es 7El valor de i es 8El valor de i es 9Final

Salida Sentencia printf <!-- Manual de PHP de

WebEstilo.com --> <html> <head>    <title>Ejemplo de PHP</title> </head> <body> <?php    printf("El numero dos con diferentes formatos: %d %f %.2f",2,2,2); ?> </body> </html>

%s cadenas

%d enteros

%f reales

%c caracteres

El numero dos con diferentes formatos: 2 2.000000 2.00

Printf <!-- Manual de PHP de WebEstilo.com -->

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

Puede fácimente intercalar texto con números 3 0

1

2

3

4

5

6

7

8 9

Manejo de cadenas Strlen (cadena). Nos devuelve el número de

carácteres de una cadena. split(separador,cadena). Divide una cadena

en varias usando un carácter separador. sprintf(cadena de formato, var1, var2...).

Formatea una cadena de texto al igual que printf pero el resultado es devuelto como una cadena.

substr(cadena, inicio, longitud). Devuelve una subcadena de otra, empezando por inicio y de longitud longitud.

chop(cadena). Elimina los saltos de línea y los espacios finales de una cadena.

strpos(cadena1, cadena2). Busca la cadena2 dentro de cadena1 indicándonos la posición en la que se encuentra.

str_replace(cadena1, cadena2, texto). Reemplaza la cadena1 por la cadena2 en el texto.

<?php    echo strlen("12345"),"<br>";        $palabras=split(" ","Esto es una prueba");    for($i=0;$palabras[$i];$i++)       echo $palabras[$i],"<br>";           $resultado=sprintf("8x5 = %d <br>",8*5);    echo $resultado,"<br>";        echo substr("Devuelve una subcadena de otra",9,3),"<br><br>";

   if (chop("Cadena \n\n ") == "Cadena")       echo "Iguales<br><br>";

   echo strpos("Busca la palabra dentro de la frase", "palabra"),"<br><br>";        echo str_replace("verde","rojo","Un pez de color verde, como verde es la hierba."),"<br>";     ?>

5Estoesunaprueba8x5 = 40

una

Iguales

9

Un pez de color rojo, como rojo es la hierba.

Funciones <!-- Manual de PHP -->

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

<?php    function Nombre(param1, param2...)    {       instrucción1;       instrucción2;       instrucción3;       instrucción4;

      return valor_de_retorno;    } ?>

5263892.5

LibreríaPermiten agrupar varias funciones y variables en un mismo archivo Luego podemos incluir esta librería en distintas páginas y disponer de esas funciones fácilmente.

<!-- Manual de PHP de WebEstilo.com --> <?php    function CabeceraPagina()    { ?>    <FONT SIZE="+1">Esta cabecera estará

en todas sus páginas.</FONT><BR>    <hr> <?    }        function PiePagina()    { ?>       <hr>    <FONT SIZE="-1">Este es el pie de página.</FONT><BR>    Autor: Joaquin Gracia <?       } ?>

Ahora vamos a crear 2 páginasque usan la librería

Página con la misma cabecera y pie de página definida en la librería "libreria01.phtml"

<!-- Manual de PHP --> <html> <head>    <title>Ejemplo de PHP</title> </head> <body> <?php include("libreria01.phtml") ?> <?php CabeceraPagina(); ?>

Página 1 <BR><BR><BR><BR><BR>

Contenido blalbl blalb alb<BR><BR> más cosas...<BR><BR>

fin<BR><BR>

<?php PiePagina(); ?> </body> </html>

Esta cabecera estará en todas sus páginas.Página 1

Contenido blalbl blalb alb

más cosas...

fin

Este es el pie de página.Autor: Joaquin Gracia

Página con la misma cabecera y pie de página definida en la librería "libreria01.phtml"

<!-- Manual de PHP--> <html> <head>    <title>Ejemplo de PHP</title>

</head> <body> <?php include("libreria01.phtml") ?> <?php CabeceraPagina(); ?>

Esta es otra página<BR> <BR> completamente

distinta<BR><BR> pero comparte el pie y la cabecera con la otra.<BR><BR>

<?php PiePagina(); ?> </body> </html>

Esta cabecera estará en todas sus páginas.Esta es otra página

completamente distinta

pero comparte el pie y la cabecera con la otra.

Este es el pie de página.Autor: Joaquin Gracia

Formateo de página Definir librerías para conseguir que todas nuestras páginas tengan el mismo formato de página, incluyendo las partes comunes en librerías. Modificando la librería modificamos todas las páginas muy rápido.

<!-- Manual de PHP de WebEstilo.com -->

<?php    function CabeceraPagina()    { ?>   <FONT SIZE="+1">Esta cabecera estará en todas sus páginas.</FONT><BR>    <hr> <?   }        function PiePagina()    { ?>      <hr>    <FONT SIZE="-1">Este es el pie de página.</FONT><BR>    Autor: Joaquin Gracia <?   }        function Indice()    { ?>   <A HREF="ejem06a.phtml">Pagina 1</A><BR>     <A HREF="ejem06a2.phtml">Pagina 2</A><BR> <?   } ?>

libpagina.phtml

ejem06a.phtm

<!-- Manual de PHP --> <html> <head>    <title>Ejemplo de PHP</title> </head> <body> <?php include("libpagina.phtml") ?> <?php CabeceraPagina(); ?> <TABLE> <TR>    <TD><?php Indice() ?></TD>    <TD>          Esta es otra página<BR><BR>          completamente distinta<BR><BR>          pero comparte el pie y la cabecera

con la otra.<BR><BR>    </TD> </TR> </TABLE> <?php PiePagina(); ?> </body> </html>

Esta cabecera estará en todas sus páginas.Esta es otra página

Pagina 1 completamente distintaPagina 2

pero comparte el pie y la cabecera con la otra.

Este es el pie de página.Autor: Joaquin Gracia

ejem06a2.phtml

<!-- Manual de PHP --> <html> <head>    <title>Ejemplo de PHP</title> </head> <body> <?php include("libpagina.phtml") ?>

<?php CabeceraPagina(); ?> <TABLE> <TR>    <TD><?php Indice() ?></TD>    <TD> Página 1 <BR><BR><BR><BR><BR> Contenido blalbl blalb alb<BR><BR> más cosas...<BR><BR> fin<BR><BR>    </TD> </TR> </TABLE> <?php PiePagina(); ?> </body> </html>

Esta cabecera estará en todas sus páginas.

Página 1

Pagina 1Contenido blalbl blalb alb

Pagina 2 más cosas...

fin

Este es el pie de página.Autor: Joaquin Gracia

Envío y recepción de datosAl diseñar un formulario debemos indicar la página PHP que procesará el formulario, así como el método por el que se le pasará la información a la página.

<!-- Manual de PHP > <html> <head>    <title>Ejemplo de PHP</title> </head> <body> <H1>Ejemplo de procesado de formularios</H1> Introduzca su nombre: <FORM ACTION="procesa.phtml" METHOD="GET"> <INPUT TYPE="text" NAME="nombre"><BR> <INPUT TYPE="submit" VALUE="Enviar"> </FORM> </body> </html>

Ejemplo de procesado de formulariosIntroduzca su nombre:

Enviar

Ejemplo de procesado de formulariosEl nombre que ha introducido es: Maria

Maria

Como construir Como construir FormulariosFormularios

1. <FORM> y como se comunica con el servidor. 2. componentes del formulario y los que activan

los procesos de los datos </FORM>. Ejemplo: Formulario:     <FORM METHOD="POST“ACTION="http://www.servidor.es/cgi-bin/cgi">  <INPUT NAME="campo1">  <INPUT TYPE="submit“

VALUE="Procesar"></FORM>  Se vé: 

Procesar

Atributo ACTION Que ejecutará el formulario en un servidor http o en local. En el ejemplo ACTION="http://www.servidor.es/cgi-bin/cgi">  se le está indicando que ejecute un programa llamado

"cgi" que está en el directorio" /cgi-bin" del servidor http "www.servidor.es".

Además de enviar datos a un servidor, ACTION también puede realizar una acción en local, como traer una página. (Ejemplo: Escribiendo <FORM METHOD="POST" ACTION="Algo.html"> ... </FORM>)

Podemos enviar un e-mail a un usuario o a una lista de ellos.

(Ejemplo: <FORM METHOD="POST" ACTION="mailto:usuario@servidor.es"> )

Atributo METHOD Atributo METHOD

Se refiere al método que emplearemos para enviar los datos al servidor: POST y GET.

Decisión basada en la máxima longitud de registro que puede enviarse; cada uno usa un canal de salida distinto. el método GET envía los datos usando la URL, el método POST los envía por la entrada

estándar STDIO. (soporta más longitud y es el más frecuente.

GET<!-- Manual de PHP -->

<html> <head>    <title>Ejemplo</title> </head> <body> <H1>Ejemplo de procesado de formularios</H1>

<FORM ACTION="procesa2.phtml" METHOD="GET"> Introduzca su nombre:<INPUT TYPE="text" NAME="nombre"><BR> Introduzca sus apellidos:<INPUT TYPE="text" NAME="apellidos"><BR> <INPUT TYPE="submit" VALUE="Enviar"> </FORM> </body> </html>

Ejemplo de procesado de formulariosIntroduzca su nombre:Introduzca sus apellidos:

Ejemplo de procesado de formulariosEl nombre que ha introducido por GET es: Maria SomodevillaEl nombre que ha introducido por POST es:

MariaSomodevilla

Enviar

POST <!-- Manual -->

<html> <head>    <title>Ejemplo</title> </head> <body> <H1>Ejemplo de procesado de formularios</H1> <FORM ACTION="procesa2.phtml" METHOD="POST"> Introduzca su nombre:<INPUT TYPE="text" NAME="nombre"><BR> Introduzca sus apellidos:<INPUT TYPE="text" NAME="apellidos"><BR> <INPUT TYPE="submit" VALUE="Enviar"> </FORM> </body> </html>

Ejemplo de procesado de formulariosIntroduzca su nombre:Introduzca sus apellidos:

Ejemplo de procesado de formulariosEl nombre que ha introducido por GET es: El nombre que ha introducido por POST es: Maria Somodevilla

MariaSomodevilla

Enviar

Atributo INPUT. El elemento INPUT sin ningún atributo define

por defecto una ventana de escritura de 20 caracteres de longitud por una línea de ancho. Se utiliza para:

Campos de entrada por teclado. Botones de selección. Casillas de marca. Botones de proceso. Botones de inicialización (reset). Imágenes sensibles al ratón.

INPUT admite varios atributos

SIZE define la longitud de la ventana de texto.

MAXLENGTH define la máxima longitud de la cadena que se puede escribir dentro de la ventana.

NAME define el nombre de la ventana (que en realidad es un campo dentro del registro que conforma el formulario).

VALUE define un valor predeterminado (vacía por defecto).

Atributo TYPE de INPUT TYPE define como se muestra el texto. TYPE=TEXT TYPE=PASSWORD, que presenta el texto como una clave. TYPE=HIDDEN no se mostará en el navegador (aunque se pueda

ver en las fuentes). TYPE=SUBMIT generar un botón que al ser pulsado cierra la

captura de datos del formulario y procede a ejecutar lo definido en el atributo ACTION.

TYPE=RESET, para delar los valores como estaban al incio TYPE=RADIO genera botones circulares que permiten seleccionar un valor predeterminado o activar una opción Estableciendo un valor VALUE="B" y usando CHECKED queda predeterminado.

TYPE=CHECKBOX genera casillas de marca que permiten seleccionar un valor predeterminado o activar una opción. Aquí pueden seleccionarse más de una a la vez. También puede usarse CHECKED.

Ejemplo: Formulario con diversos atributos del INPUT   

<FORM>    <INPUT VALUE="Prueba" SIZE=30 MAXLENGTH=10 NAME="Campo01">    <INPUT VALUE="Prueba" TYPE=PASSWORD NAME="Campo02"> 

  <INPUT VALUE="Prueba" TYPE=HIDDEN NAME="Campo03">    <BR>    Tipo: 1 <INPUT NAME="tipo" TYPE=RADIO VALUE="1" CHECKED>    2 <INPUT NAME="tipo" TYPE=RADIO VALUE="2">    3 <INPUT NAME="tipo" TYPE=RADIO VALUE="3">    Clase: A <INPUT TYPE="CHECKBOX" NAME="clase" VALUE="A"> 

  B <INPUT TYPE="CHECKBOX" NAME="clase" VALUE="B">    <INPUT VALUE="Reset" TYPE=RESET NAME="Reset">    <INPUT VALUE="Go" TYPE=SUBMIT NAME="Go">  </FORM> 

Se vé: 

Prueba

Tipo. 1 2 3 Clase: A B Reset Go

Ejemplo: Formulario para enviar un archivo:   

<FORM enctype="../" ACTION="ftp://usario@servidor/" METHOD="POST">    Enviar el fichero:    <INPUT NAME="fichero" TYPE="FILE">    <INPUT TYPE="SUBMIT" VALUE="Enviar">  </FORM> 

Se vé:  Enviar el fichero: 

Prueba Examinar Enviar

Envio de emails

PHP nos posibilita enviar emails usando la instrucción mail( ) <?php

   mail(destinatario, tema, texto del mensaje); ?>

destinatario: dirección de email a donde se enviará el mensaje,

tema: subject del mensaje texto: cuerpo del mensaje en formato texto plano. Sintaxis extendida de la instrucción mail( ) <?php

   mail(destinatario, tema, texto del mensaje, información adicional de cabecera); ?>

información adicional de cabecera: Reply-To:, From:, Content-type:... que nos permiten tener un mayor control sobre el mensaje.

<!-- Manual de PHP de WebEstilo.com --> <html> <head>    <title>Ejemplo de PHP</title> </head> <body> <H1>Ejemplo de envio de email</H1> Introduzca su direccion de email: <FORM ACTION="email.phtml" METHOD="GET"> <INPUT TYPE="text" NAME="direccion"><BR><BR> Formato: <BR> <INPUT TYPE="radio" NAME="tipo" VALUE="plano" CHECKED> Texto plano<BR> <INPUT TYPE="radio" NAME="tipo" VALUE="html"> HTML<BR><BR> <INPUT TYPE="submit" VALUE="Enviar"> </FORM> </body> </html>

em

ail.phtm

l

<!-- Manual de PHP de WebEstilo.com --> <html> <head>    <title>Ejemplo de PHP</title> </head> <body> <H1>Ejemplo de envio de email</H1> <?    $direccion=$_GET['direccion'];    $tipo=$_GET['tipo'];        if ($direccion!=""){    if ($tipo=="plano"){       // Envio en formato texto plano              mail($direccion,"Ejemplo de envio de email","Ejemplo de envio de email de texto plano\n\nWebEstilo.\nhttp://www.webestilo.com/\n Manuales para desarrolladores web.\n","FROM: Pruebas <webmaster@hotmail.com>\n");    } else {       // Envio en formato HTML       mail($direccion,"Ejemplo de envio de email","<html><head><title>WebEstilo. Manual de PHP</title></head><body>Ejemplo de envio de email de HTML<br><br>WebEstilo.<br>http://www.webestilo.com/<br> <u>Manuales</u> para <b>desarrolladores</b> web.</body></html>","Content-type: text/html\n", "FROM: Pruebas <webmaster@hotmail.com>\n");    }       echo "Se ha enviado un email a la direccion: ",$direccion," en formato <b>",$tipo,"</b>."; } ?> <br> </body> </html>

MySQL: Servidor de BD PHP con acceso a base de datos hemos

elegido la base de datos MySQL: gratuita mas empleada en entornos UNIX, el servidor donde tenemos alojadas las

páginas (Apache) nos tiene que proporcionar herramientas para crearla o acceso al Telnet para que la creemos por nosotros mismos.

Crear la base de datos

Comando para crear una base de datos MySQL :

mysqladmin -u root create base_datos Con este comando conseguimos crear

la una base de datos en el servidor de bases de datos de nuestro servidor.

Crear las tablas en la base de datos

Contienen la estructura de la información a almacenar

Lenguaje de consultas SQL Ejemplo: tabla ¨prueba¨ con 3 campos:

identificador, nombre y apellido de la persona.

Para crear la tabla puede usar la herramienta de administración de

MySQL de su servidor web escribir un archivo de texto con el contenido

de la sentencia SQL equivalente y luego decirle al motor de base de datos que la ejecute con:

mysql -u root base_datos <prueba.sql

prueba.sql

CREATE TABLE prueba ( ID_Prueba int(11) DEFAULT '0' NOT NULL auto_increment, Nombre varchar(100), Apellidos varchar(100), PRIMARY KEY (ID_Prueba), UNIQUE ID_Prueba (ID_Prueba) );

Conexión a la base de datos

Creada la base de datos en nuestro servidor, el siguiente paso es conectarnos a la misma desde una página PHP.

PHP nos proporciona una serie de instrucciones para acceder a bases de datos MySQL.

Al ejecutar la instrucción mysql_connect creamos un vínculo entre la base de datos y la pagina PHP, este vínculo será usado posteriormente en las consultas que hagamos a la base de datos.

Terminado de usar el vínculo con la base de datos, lo liberaremos con la instrucción mysql_close para que la conexión no quede ocupada.

Conexión a base_datos <!-- -->

<html> <head>    <title>Ejemplo de PHP</title> </head> <body> <?php function Conectarse() {    if (!($link=mysql_connect("localhost","usuario","Password")))

   {       echo "Error conectando a la base de datos.";       exit();    }    if (!mysql_select_db("base_datos",$link))    {       echo "Error seleccionando la base de datos.";       exit();    }    return $link; }

$link=Conectarse(); echo "Conexión con la base de datos conseguida.<br>";

mysql_close($link); //cierra la conexion ?> </body> </html> Conexión con la base de datos conseguida.

Consultas a la base de datos

Usamos el vínculo establecido en la conección.

Para facilitar la programación hemos separado la función de conexión en una librería a parte, de tal manera que la incluiremos en todas las páginas que accedan a la base de datos.

Librería para conección"conex.phtml“<!-- Manual de PHP -->

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

Instrucciones nuevas

mysql_query consultar a la base de datos en el lenguaje

de consultas SQL mysql_fetch_array

extraer los datos de la consulta a un arreglo mysql_free_result

liberamos la memoria usada en la consulta.

<!-- Manual de PHP --> <html> <head>    <title>Ejemplo de PHP</title> </head> <body> <H1>Ejemplo de uso de bases de datos con PHP y MySQL</H1> <?php    include("conex.phtml");    $link=Conectarse();    $result=mysql_query("select * from prueba",$link); ?>    <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1>       <TR><TD>&nbsp;Nombre</TD><TD>&nbsp;Apellidos&nbsp;</TD></TR> <?php      

   while($row = mysql_fetch_array($result)) {       printf("<tr><td>&nbsp;%s</td><td>&nbsp;%s&nbsp;</td></tr>", $row["Nombre"],$row["Apellidos"]);    }    mysql_free_result($result);    mysql_close($link); ?> </table> </body> </html>

Ejemplo de uso de bases de datos con PHP y MySQL

mysql_query("select * from prueba",$link);

Nombre Apellidos

Maria  Gomez

Marcos  Martinez

Antonio  Ferrera 

Roman  Zamora

Daniel Pineda

 Martha Mendez

Inserción de registros Conección a una base de datos Consultas a la base de datos, Introducir nuevos registros en la base de datos Usar un formulario <FORM ACTION="programaPHP"> Indicamos que debe ser procesado una pagina

PHP, esta página lo que hará será introducir los datos del formulario en la base de datos.

<!-- ejem07ed.phtml--> <html> <head>    <title>Ejemplo de PHP</title> </head> <body> <H1>Ejemplo de uso de bases de datos con PHP y MySQL</H1> <FORM ACTION="procesar.phtml"> <TABLE> <TR>    <TD>Nombre:</TD>    <TD><INPUT TYPE="text" NAME="nombre" SIZE="20" MAXLENGTH="30"></TD> </TR> <TR>    <TD>Apellidos:</TD>    <TD><INPUT TYPE="text" NAME="apellidos" SIZE="20" MAXLENGTH="30"></TD> </TR> </TABLE> <INPUT TYPE="submit" NAME="accion" VALUE="Grabar"> </FORM> <hr> <? PARTE DE PHP ?></table> </body> </html>

<?php    include("conex.phtml");    $link=Conectarse();    $result=mysql_query("select * from prueba",$link); ?>    <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1>       <TR><TD>&nbsp;<B>Nombre</B></TD> <TD>&nbsp;<B>Apellidos</B>&nbsp;</TD></TR> <?php      

   while($row = mysql_fetch_array($result)) {       printf("<tr><td>&nbsp;%s</td> <td>&nbsp;%s&nbsp;</td></tr>", $row["Nombre"], $row["Apellidos"]);    }    mysql_free_result($result);    mysql_close($link);    ?>

ejem07d.phtml

Ejemplo de uso de bases de datos con PHP y MySQL

Nombre:

Apellidos:

Grabar Nombre Apellidos

Maria  Gomez

Marcos  Martinez

Antonio  Ferrera 

Roman  Zamora

Daniel Pineda

 Martha Mendez

Borrado de registros

Uno de los procesos más sencillos. Para indicar que elemento vamos a

borrar hemos usado un enlace a la página borra.phtml pasándole el ID_Prueba de cada registro, de esta manera la página borra.phtml sabe que elemento de la tabla ha de borrar.

<!-- ejem07e.phtml--> <html> <head>    <title>Ejemplo de PHP</title> </head> <body> <H1>Ejemplo de uso de bases de datos con PHP y MySQL</H1>

<?php    include("conex.phtml");    $link=Conectarse();    $result=mysql_query("select * from prueba",$link); ?>    <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1>       <TR><TD>&nbsp;<B>Nombre</B></TD> <TD>&nbsp;<B>Apellidos</B>&nbsp;</TD> <TD>&nbsp;<B>Borrar</B>&nbsp;</TD></TR> <?php      

   while($row = mysql_fetch_array($result)) {       printf("<tr><td>&nbsp;%s</td><td>&nbsp;%s&nbsp;</td><td><a href=\"borra.phtml?id=%d\">Borra</a></td></tr>", $row["Nombre"],$row["Apellidos"],$row["ID_Prueba"]);    }    mysql_free_result($result);    mysql_close($link); ?> </table> </body> </html>

&nbsp: non-breaking space ,Da una nueva linea, si text too long

borra.phtml

<?php    include("conex.phtml");    $link=Conectarse();    $id=$_GET['id'];    mysql_query("delete from prueba where ID_Prueba = $id",$link);        header("Location: ejem07e.phtml"); ?>

La página borra.phtml se conecta a la base de datos y borra el registro indicado en la variable $id que ha sido pasado desde la página ejem07e.phtml. Una vez el registro se ha borrado se vuelve a cargar la página ejem07e.phtml

Ejemplo de uso de bases de datos con PHP y MySQL Nombre Apellidos Borrar

Maria  Gomez Borra

Marcos  Martinez Borra

Antonio  Ferrere Borra

Roman  Zamora Borra

Daniel Pineda Borra

 Martha Mendez Borra