La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Bases de Datos Cliente Servidor

Presentaciones similares


Presentación del tema: "Bases de Datos Cliente Servidor"— Transcripción de la presentación:

1 Bases de Datos Cliente Servidor

2 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.

3 Arquitecturas Cliente Servidor

4 PHP: Hypertext Pre-Procesor (1998)
Herramienta para el desarrollo de aplicaciones Web

5 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

6 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

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

8 Características de PHP
Software libre Multiplataforma (Unix, Windows, Mac: Open Source) Aplicaciones sencillas Aplicaciones avanzadas (BD, gráficos)

9 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)

10 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)

11 Instalación Configuración más habitual: LAMP Apache : Servidor de Web
MySQL: Gestor de BD

12 Nuestro primer PHP Azul: HTML Rojo: 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> Parte de HTML normal. Parte de PHP Linea 0 Linea 1 Linea 2 Linea 3 Linea 4 Linea 5 Linea 6 Linea 7 Linea 8 Linea 9 sentencias PHP en las páginas HTML Azul: HTML Rojo: PHP

13 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> Hola Mundo

14 Operadores Aritméticos
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-- Parecidos a los de C y Java Aplicables a variables y const. numéricas.

15 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>

16 Operadores de Comparación
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 Comparar y tomar decisiones.

17 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>   Devuelve cierto cuando se cumple la condición

18 Operadores Lógicos Operador Nombre Ejemplo && Y (7>2) && (2<4)
and (7>2) and (2<4) || O (7>2) || (2<4) or (7>2) or (2<4) ! NO !(7>2)

19 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

20 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

21 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 variable contiene el valor arriba

22 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> Inicio El valor de i es 0 El valor de i es 1 El valor de i es 2 El valor de i es 3 El valor de i es 4 El valor de i es 5 El valor de i es 6 El valor de i es 7 El valor de i es 8 El valor de i es 9 Final

23 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> Inicio El valor de i es 0 El valor de i es 1 El valor de i es 2 El valor de i es 3 El valor de i es 4 El valor de i es 5 El valor de i es 6 El valor de i es 7 El valor de i es 8 El valor de i es 9 Final

24 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.00

25 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

26 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.

27 5 Esto es una prueba 8x5 = 40 una Iguales 9 Un pez de color rojo,
<?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>";     ?> 5 Esto es una prueba 8x5 = 40 una Iguales 9 Un pez de color rojo, como rojo es la hierba.

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

29 Librería Permiten 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áginas que usan la librería

30 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 Contenido blalbl blalb alb más cosas... fin Este es el pie de página. Autor: Joaquin Gracia

31 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

32 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. libpagina.phtml <!-- 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> <?   } ?>

33 Esta cabecera estará en todas sus páginas
Esta cabecera estará en todas sus páginas. Esta es otra página Pagina 1 completamente distinta Pagina 2 pero comparte el pie y la cabecera con la otra. Este es el pie de página. Autor: Joaquin Gracia 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>

34 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 1 Contenido blalbl blalb alb Pagina más cosas... fin Este es el pie de página. Autor: Joaquin Gracia

35 Envío y recepción de datos Al 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 formularios Introduzca su nombre: Maria Enviar Ejemplo de procesado de formularios El nombre que ha introducido es: Maria

36 Como construir Formularios
<FORM> y como se comunica con el servidor. componentes del formulario y los que activan los procesos de los datos </FORM>. Ejemplo: Formulario:      <FORM METHOD="POST“ ACTION=" <INPUT NAME="campo1">  <INPUT TYPE="submit“ VALUE="Procesar"></FORM>  Se vé:  Procesar

37 Atributo ACTION Que ejecutará el formulario en un servidor http o en local. En el ejemplo ACTION=" se le está indicando que ejecute un programa llamado "cgi" que está en el directorio" /cgi-bin" del servidor http " 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 a un usuario o a una lista de ellos. (Ejemplo: <FORM METHOD="POST" )

38 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.

39 GET Ejemplo de procesado de formularios Introduzca su nombre: Introduzca sus apellidos: El nombre que ha introducido por GET es: Maria Somodevilla El nombre que ha introducido por POST es: Maria Somodevilla Enviar <!-- 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>

40 Ejemplo de procesado de formularios
Introduzca su nombre: Introduzca sus apellidos: El nombre que ha introducido por GET es: El nombre que ha introducido por POST es: Maria Somodevilla POST Maria Somodevilla Enviar <!-- 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>

41 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.

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

43 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.

44 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 Reset Go Tipo Clase: A B

45 Ejemplo: Formulario para enviar un archivo:
<FORM enctype="../" METHOD="POST">    Enviar el fichero:    <INPUT NAME="fichero" TYPE="FILE">    <INPUT TYPE="SUBMIT" VALUE="Enviar">  </FORM>  Se vé:  Enviar el fichero:  Enviar Prueba Examinar

46 Envio de s PHP nos posibilita enviar s usando la instrucción mail( ) <?php    mail(destinatario, tema, texto del mensaje); ?> destinatario: dirección de 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.

47 <. -- Manual de PHP de WebEstilo
<!-- Manual de PHP de WebEstilo.com --> <html> <head>    <title>Ejemplo de PHP</title> </head> <body> <H1>Ejemplo de envio de </H1> Introduzca su direccion de <FORM ACTION=" .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>

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

49 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.

50 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.

51 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

52 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) );

53 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.

54 Conexión a base_datos Conexión con la base de datos conseguida.
<!-- --> <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.

55 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.

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

57 Instrucciones nuevas mysql_query mysql_fetch_array mysql_free_result
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.

58 <!-- 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> Nombre</TD><TD> Apellidos </TD></TR> <?php          while($row = mysql_fetch_array($result)) {       printf("<tr><td> %s</td><td> %s </td></tr>", $row["Nombre"],$row["Apellidos"]);    }    mysql_free_result($result);    mysql_close($link); ?> </table> </body> </html>

59 Ejemplo de uso de bases de datos con PHP y MySQL
Nombre Apellidos Maria  Gomez Marcos  Martinez Antonio  Ferrera  Roman  Zamora Daniel Pineda  Martha Mendez mysql_query("select * from prueba",$link);

60 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.

61 <!-- 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>

62 <. php include("conex
<?php    include("conex.phtml");    $link=Conectarse();    $result=mysql_query("select * from prueba",$link); ?>    <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1>       <TR><TD> <B>Nombre</B></TD> <TD>  <B>Apellidos</B> </TD></TR> <?php          while($row = mysql_fetch_array($result)) {       printf("<tr><td> %s</td> <td> %s  </td></tr>", $row["Nombre"], $row["Apellidos"]);    }    mysql_free_result($result);    mysql_close($link);    ?> ejem07d.phtml

63 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

64 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.

65  : non-breaking space , Da una nueva linea, si text too long
<!-- 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> <B>Nombre</B></TD> <TD> <B>Apellidos</B> </TD> <TD> <B>Borrar</B> </TD></TR> <?php          while($row = mysql_fetch_array($result)) {       printf("<tr><td> %s</td><td> %s </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

66 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

67 Ejemplo de uso de bases de datos con PHP y MySQL
Nombre Apellidos Borrar Maria  Gomez Borra Marcos  Martinez Antonio  Ferrere Roman  Zamora Daniel Pineda  Martha Mendez


Descargar ppt "Bases de Datos Cliente Servidor"

Presentaciones similares


Anuncios Google