Curso Php Mysql

download Curso Php Mysql

of 49

Transcript of Curso Php Mysql

Curso PHP-MySQL

Tabla de contenidos[esconder]q q

q

1 2 HTML r 2.1 Qu es HTML? r 2.2 Etiquetas bsicas s 2.2.1 s 2.2.2 s 2.2.3 s 2.2.4 s 2.2.5 s 2.2.6 s 2.2.7
s 2.2.8 s 2.2.9 r 2.3 Otras etiquetas s 2.3.1 s 2.3.2 s 2.3.3 s 2.3.4 s 2.3.5 s 2.3.6 r 2.4 Caracteres especiales r 2.5 Formularios r 2.6 Ejemplo de una pgina HTML 3 PHP r 3.1 Qu es PHP? s 3.1.1 Historia de PHP s 3.1.2 PHP r 3.2 Instalando PHP en nuestro servidor r 3.3 Herramientas libres para escribir PHP r 3.4 Sintaxis, variables y operadores r 3.5 Primer script en PHP r 3.6 Instrucciones bsicas r 3.7 Tipos de variables r 3.8 Constantes r 3.9 Estructuras de control s 3.9.1 if/elseif/else s 3.9.2 while s 3.9.3 do ... whileqqq3.9.4 for s 3.9.5 foreach s 3.9.6 break s 3.9.7 continue s 3.9.8 switch r 3.10 Incluyendo archivos include() y require() r 3.11 Funciones s 3.11.1 Formas de usar una funcin s 3.11.2 Devolviendo valores desde funciones return() r 3.12 Clases r 3.13 Matrices, arrays o vectores r 3.14 Ficheros s 3.14.1 fopen s 3.14.2 fwrite s 3.14.3 fread s 3.14.4 Upload de ficheros al servidor r 3.15 Cookies s 3.15.1 Cmo usar las cookies r 3.16 Sesiones s 3.16.1 Inicio de sesin s 3.16.2 Variables de sesin s 3.16.3 Cierre de sesin 4 MySQL r 4.1 Qu es una base de datos relacional? r 4.2 Tipos de datos en MySQL r 4.3 Instalando MySQL en nuestro servidor r 4.4 Creando una base de datos y una tabla s 4.4.1 Modo phpmyadmin s 4.4.2 Modo mysql-admin/mysql-query-browser s 4.4.3 Modo desde consola r 4.5 Consultas MySQL s 4.5.1 Consultas de insercin s 4.5.2 Consultas de seleccin s 4.5.3 Consulta de Actualizacin/Modificacin s 4.5.4 Consultas de Eliminacin 5 Uso de bases de datos desde cdigo PHP r 5.1 Funciones MySQL s 5.1.1 mysql_pconnect s 5.1.2 mysql_select_db s 5.1.3 mysql_query s 5.1.4 mysql_fetch_row s 5.1.5 mysql_result s 5.1.6 mysql_escape_string 6 Herramientas para otras plataformas r 6.1 Instalacin de PHP en Apache para Windows r 6.2 Instalacin de MySQL en Windows r 6.3 Herramientas para trabajar con MySQL en Windows r 6.4 Instalacin completa en Windows s 6.4.1 AppServ s 6.4.2 XAMMPsq7 Complementos r 7.1 phpMyAdmin r 7.2 CMSHTMLQu es HTML?HTML es el acrnimo ingls de HiperText Markup Languaje, lenguaje de marcado de hipertexto en castellano. Es el lenguaje universal de Internet, el que todos los navegadores entienden y en el que se representa ms del 90% del contenido web (el resto son imgenes, animaciones en flash, etc). REFERENCIAS: Definicin de HTML segn la Wikipedia en espaol Pgina de las especificacines para HTML del consorcio W3CEtiquetas bsicasLas etiquetas bsicas presentes en cualquier pgina que valide su contenido en HTML son las siguientes: , , , , , ,
, y . Aunque todas estn escritas con maysculas, no tiene por qu escribirse en mayscula, es ms, desde hace tiempo todas las etiquetas se suelen poner en minscula. Otro aspecto importante en las etiquetas es que casi todas se cierran, as se cierra con , algunas como
no se cierran. Es la etiqueta que define el inicio del documento html, le indica al navegador que todo lo que viene a continuacin debe tratarlo como una serie de cdigos html. Se cierra con . Define la cabecera del documento html, esta cabecera suele contener informacin sobre el documento que no se muestra directamente en el navegador, su codificacin (charset=ISO-8859-1 o UTF-8 ...) , etc. Se cierra con . Define el contenido principal o cuerpo del documento, esta es la parte del documento html que se muestra en el navegador, dentro de esta etiqueta pueden definirse propiedades comunes a toda la pgina, como color de fondo y mrgenes. Se cierra con . Define el ttulo de la pgina. Por lo general, el ttulo aparece en la barra de ttulo encima de la ventana. Se cierra con . Son encabezados o ttulos del documento en diferentes tamaos de fuente, la X debe se un nmero del 1 al 6, el 1 es el msgrande y el 6 el ms pequeo. Se cierra con donde X debe ser el mismo nmero que abri la etiqueta. Es un prrafo nuevo, viene de paragraph. Se cierra con .
Es un salto de lnea forzado, viene de branch. Esta etiqueta no se cierra en HTML, en XHTML s se cierra con
. Es el comienzo de una tabla, las filas se identifican con y las celdas dentro de las filas con . La tabla se cierra con , las filas con y las celdas con . Indica el comienzo de una divisin vertical de la pgina, se usa mucho para alinear a la izquierda, centro o derecha los textos e imgenes, veamos un ejemplo: Esto es un texto alineado en el centro Y el resultado: Esto es un texto alineado en el centroComo vemos, esta etiqueta se cierra con .Otras etiquetasOtras etiquetas muy tiles y usadas en HTML son: , , , , , . La etiqueta sirve para empotrar una imagen cualquiera en HTML. Su uso suele ser: Los parmetros alt, title, width y height no son obligatorios, aunque el primero s es necesario para validar correctamente la pgina en HTML, el segundo se refiere al ttulo de la imagen, ste ser visible si ponemos el ratn encima de la imagen. Los campos width y height hacen referencia al tamao de la imagen, pudiendo modificar el tamao original al gusto del programador, si estos campos no se pasan, se toma el tamao original. Esta etiqueta no se cierra. La etiqueta hace referencia a un hiperenlace, puede ser a otra pgina o bien a una subseccin de la misma pgina, lo que se conoce como un ancla. Un ejemplo tpico de su uso sera: Pgina web de SOLEUP La URL ha de ir siempre entre las comillas o no ser vlido, el texto que est entre y es el que contendr el enlace, es imprescindible cerrar el hiperenlace o bien todo lo que escribamos a partir de estarhiperenlazado. Si no escribimos http:// estaremos haciendo referencia a un enlace en el mismo servidor, por lo que si se nos olvida el enlace estar roto. Como muchas etiquetas, esta tambin tiene opciones, uno de las ms usadas y ms detestadas por los usuarios es target="_blank". Se recomienda no usarla porque ltimamente los navegadores ms modernos disponen de solapas o pestaas para navegar, mucho ms til que la apertura de un nuevo navegador, adems los usuarios se quejan de que esta opcion coarta su libertad: "Si quiero abrir un nuevo navegador para ver esa pgina ya lo hago yo, no me obligues". Esta etiqueta pude usar distintos protocolos siendo el ms comn http://, otros son, mailto: ftp:// news://. Esta etiqueta imprime una lnea horizontal separatoria. Esta etiqueta modifica el tipo de fuente, su tamao, su tipo, su color... veamos un ejemplo: este es un texto enriquecido Como vemos se ha de cerrar con . Esta etiqueta hace que el texto comprendido entre est escrito en cursiva. El acrnimo viene de italic. Esta etiqueta hace que el texto comprendido entre est escrito en negrita. El acrnimo viene de bold.Caracteres especialesEn el castellano tenemos varios caracteres especiales que en ocasiones HTML no entiende muy bien, estos son la , las tildes y los comienzos de pregunta y admiracin. El problema fundamental por el que un navegador puede no interpretar bien estos caracteres es porque el programador ha elegido mal el conjunto de caracteres de codificacin del texto, el charset, porque el navegador es antiguo y no distingue entre codificaciones, o bien porque el servidor web tiene una codificacin distinta a la que usa la pgina. Para ahorrarnos estos problemas siempre que trabajemos con estos caracteres usaremos los caracteres especiales del HTML estndar:q q q q q q q qPara la : & ntilde; Para tilde en la a: & aacute; Para tilde en la e: & eacute; Para tilde en la i: & iacute; Para tilde en la o: & oacute; Para tilde en la u: & uacute; Para el inicio de pregunta: & iquest; Para el inicio de admiracin: & iexcl;En las tildes, si queremos ponerlas en maysculas slo habra que sustituir la letra minscula que est despus del ampersn por su equivalente en mayscula.FormulariosLos formularios son herramientas con campos de texto, botones, menus desplegables y/o campos seleccionables que se encuentran en muchas webs, se suelen utilizar para hacer bsquedas, introducir datos, etc. Realmente sirven para interactuar de alguna forma con la pgina web enviando informacin que luego se procesar de alguna manera, en nuestro caso ser va un script o programa en PHP. Los formularios siempre se han de enviar a una pgina, puede ser la misma en la que est el formulario o bien otra. Existen dos mtodos de enviar un formulario, get y post, el primero enva todos los datos sin encriptar y son visibles en el navegador, mientras que el segundo los encripta y enva ocultos al navegador, lo que nos da seguridad a la hora de enviar datos. Se define un formulario de mtodo post como: Podemos tener distintos tipos de modificadores o campos en el formulario: Botones de envo de datos... o de borrado de todos los datos introducidos... cajas de texto de tamao 12 y longitud mxima 20... campos ocultos de nombre "oculto" y valor "16"... reas de texto con 6 filas y 8 columnas de extensin... mens desplegables de nica opcin... -------- Opcin 1 Opcin 2 mens desplegables de varias opciones... Opcin 1 Opcin 2 Hay muchas ms opciones para incluir dentro de un formulario, las anteriores son las ms tpicas y bsicas.Ejemplo de una pgina HTML Pgina de prueba Este es el ttulo de la pgina

Esto es un texto normal.

PHPQu es PHP?PHP es el acrnimo recursivo de "PHP: Hypertext Preprocessor". Es un lenguaje multiplataforma de programacin interpretado de alto nivel, pensado para desarrollos web y empotrable en pginas HTML. La facilidad de PHP es que tiene muchas funciones copiadas de C, Java y/o Perl, por ello su curva de aprendizaje es exponencial. Lo que ve el cliente es el cdigo ejecutado, es decir, el cliente solo ve lo que el cdigo PHP ha producido, no la programacin de ste, como pasara con un Javascript. PHP est llamado a sustituir a los vetustos CGIs (Common Gateway Interface) que fueron unas de las primeras maneras prcticas de crear contenido dinmico. En los CGIs el servidor web pasa las solicitudes del cliente a un programa externo, como si fuese un script en bash, y la salida es enviada al cliente como un archivo esttico tradicional. Historia de PHP PHP/FI fu creado por Rasmus Lerdorf en 1995 como un conjunto de scripts escritos en Perl para controlar los accesos de su pgina. Fueron llamados Personal Home Page Tools. Ms tarde fue ampliando su implementacin en C y hacer posibles comunicaciones con bases de datos al tiempo que liber el cdigo para que usuarios de todo el mundo le ayudasen. En 1997 se lleg a la versin 2.0 de PHP/FI, segunda escritura de la implementacin en C y se cree que varios miles de usuarios por todo el mundo lo utilizaron. 50.000 dominios de la joven internet de aquel entonces lo tenan instalado, alrededor del 1%. Aunque ya haba mucha gente colaborando con el proyecto era bsicamente el trabajo de una sola persona. PHP/FI 2.0 fue pronto sustituido por las primeras versiones alfa de PHP 3.0. PHP 3.0 fue reescrito completamente desde cero y se asemeja bastante al PHP con el que se trabaja hoy da. Andi Gutmans y Zeev Zuraski fueron los autores de PHP 3.0. Rasmus Lerdorf y estas dos personas decidieron anunciar como sucesor ofical del PHP/FI al PHP 3.0 que se perfilaba como una herramienta que podra crear aplicaciones comerciales. La caracterstica principal de PHP 3.0 fue su gran extensibilidad, provea adems una infraestructura slida y consistente para muchas bases de datos, protocolos y APIs lo que atrajo a muchos desarrolladores al proyecto que enviaron nuevos mdulos y extensiones. En PHP 3.0 ya empezamos a ver soporte de sintxis orientada a objetos. En 1998 se estimaba que cientos de miles de sitios web lo tenan instalado, sobre un 10% del total. PHP 3.0 fue liberado oficialmente en Junio de 1998, despus de muchos meses de pruebas pblicas para comprobar su funcionamiento y robustez y tambin para descubrir errores. PHP Como en todo proyecto Open Source, en cuanto sale una Release, los desarrolladores se ponen a trabajar en la siguiente, as pues a finales de 1998 Andi Gutmasn y Zeev Suraski se pusieron a reescribir el ncleo de PHP para mejorar la ejecucin deaplicaciones y la modularidad del cdigo base. El nuevo motor diseado fue llamado Zend Engine y fue introducido a mediadios de 1999. PHP 4.0 fue liberado con este motor en Mayo del 2000. Con soporte para la mayora de servidores web, sesiones HTTP, caractersticas de seguridad y nuevas construcciones del lenguaje. Ms del 20% de servidores de internet tienen instalado un servidor con PHP hoy da. Existe una mejor implementacin del motor de PHP tambin llamado Zend Engine que precompila las pginas y es mucho ms eficiente en aplicaciones grandes, anque es de pago. PHP 5 fu recientemente liberado con un soporte muy amplio para la programacin orientada a objetos, claramente el futuro. PHP no es un lenguaje que se interprete en el cliente o en el navegador, es un lenguaje que interpreta el servidor y manda la salida en el formato deseado (HMLT, XML...) al navegador. Esto quiere decir que no necesitamos que nuestro navegador tenga ninguna caracterstica especial para poder ver pginas web programadas en PHP. REFERENCIAS:q q q(C) PHP Documentation Group Manual oficial de PHP Manual de iniciacin a PHP del Grupo de usuarios de Informtica de la UVA La wikipedia en espaolInstalando PHP en nuestro servidorLa instalacin en el sistema GNU/Linux debian es ms que sencilla, en sus tres versiones actuales (woody, sarge, sid o stable, testing, unstable) tenemos disponible el paquete PHP 4. Nos haremos superusuarios (root) de la mquina en una consola o en un terminal desde el escritorio, con el comando: 'su -' Haremos una actualizacin de los paquetes con el comando: 'apt-get update' y a continuacin instalaremos php con: 'apt-get install php4' Suponemos que ya tenemos instalado el servidor web apache, de lo contrario instalaremos apache y php a la vez con: 'apt-get install apache2 libapache2-php4' El archivo de configuracin estar en el directorio /etc/php4/apache2/ de nuestro sistema y en principio dejaremos todo como el sistema lo ha instalado, ya que no necesitamos tocar las configuraciones para empezar a jugar con PHP. Ms adelante veremos cmo instalar PHP en una mquina que use Microsoft Windows y tambin una referencia para instalarlo en un servidor MS-IIS. RFERENCIA:q(C) PHP Documentation Group Manual oficial de PHPHerramientas libres para escribir PHPCualquier editor de texto por simple que sea puede ser usado para escribir PHP, desde el omnipresente VI hasta los editores basado en escritorio como NVu, Mozilla Composer, Bluefish o gPHPEdit. Nosotros usaremos durante este curso Bluefish y gPHPEdit ya que el primero es capaz de interpretar cdigos de otros muchos lenguajes y en concreto los dos que nos interesan: HTML y PHP, y el segundo est pensado para PHP y ofrece ms posibilidades en este sentido que Bluefish. NVu es un programa muy completo pero an en una fase de desarrollo muy temprana, es un potente editor WYSIWYG (What You See Is What You Get, o lo que ves es lo que obtendrs), aspira a ser rival del conocido Dreamweaver de Macromedia. Esta desarrollado por Linspire (antigua Lindows). El Mozilla Composer es el editor que el paquete de Mozilla trae para todas las plataformas en las que es posible su ejecucin y tambin est bastante bien, es WYSIWYG pero tiene el problema de que muchas veces aade demasiado cdigo extra a nuestras pginas. Por lo general las ventajas de un WYSIWYG slo se ven cuando uno se est iniciando en la programacin web, ms tarde se controla todo mucho ms desde un editor corriente, habiendo mucha gente que las programa desde VI, nano o joe. Para instalar bluefish en nuestro escritorio, ya sea GNOME, KDE, XFCE u otro gestor de ventanas cualquiera seguirmos los pasos que hemos dado para instalar PHP, es decir, iremos a una consola o sacaremos un terminal y nos haremos superusuarios (root). 'su -' Si hace falta haremos un apt-get update y si no instalaremos directamente 'bluefish': 'apt-get install bluefish' Si estamos en GNOME o KDE veremos que en el men correspondiente aparecer el programa Bluefish, en XFCE podemos lanzarlo va consola o terminal o desde la barra de ejecucin. RFERENCIAS:q q q qPgina web de gPHPEdit Pgina web de Bluefish Pgina web de NVu Pgina web de MozillaSintaxis, variables y operadoresUn archivo .php no es ms que un HTML con unos caracteres especiales empotrados en la parte del cdigo que queremos que el motor de PHP lo interprete. Los expresiones o etiquetas que permiten al motor reconocer el cdigo que va a ejecutar son tres principalmente , y pares de entrada/salida. Hay otros caracteres que podemos editar en el archivo de configuracin php.ini pero no lo haremos ya que la inmensa mayora de las veces se usa slo una pareja de etiquetas que es la ms estndar y la que nuestros editores bluefish y gPHPEdit reconocen perfectamente coloreando el cdigo, lo que ayuda enormemente a su interpretacin. Para empotrar cdigo en XML o XHTML el formato es obligatorio. Como curiosidad, decir que el PHP tambin admite las etiquetas ASP/ASP.NET de entrada-salida de cdigo.Primer script en PHPComenzando por el mismo (y odioso) primer programa que todo el mundo hace en todo lenguaje tambin haremos el conocido "HOLA MUNDO". Para hacer este script veremos la primera funcin, la funcin echo que representa en pantalla lo que se introduzca dentro de las comillas, y para finalizar la llamada a cualquier funcin se escribe punto y coma ";", olvidarse el punto y coma es un error muy tpico que todo programador ha sufrido muchas veces, el punto y coma solo se puede obviar al final del cdigo, ya que las etiquetas "?>" tambin indican el final de la funcin.Vamos con el ejemplo, primero abrimos los tags (etiquetas) de comienzo de script: las comillas se pueden sobrentender si en lugar de sacar a pantalla un texto representamos una variable, el ejemplo quedara as: Como vemos, las variables en PHP se declaran con un smbolo dlar delante del nombre de nuestra variable, no hace falta definir el tipo de variable como en otros lenguajes (C, Pascal ...) simplemente se declara sta y se le da un valor. La funcin echo tambin puede sacar por pantalla cdigo HTML, por ejemplo, si queremos que nuestro "HOLA MUNDO" salga en lugar de con la letra predefinida con una Times New Roman a un tamao distinto del predefinido, como el "4", pondremos esto: La cuestin de porqu se ponen barras antes de las comillas es simple, lo que queremos es que escriba en pantalla literalmente lo que hay entre las comillas, si ponemos entre medias del texto unas comillas la funcin creer que hasta ese punto es donde tiene que procesar, para evitar esto se ponen las barras delante de las comillas que queremos que procese. En PHP tenemos varias maneras de mostrar la salida de una cadena o variable, usaremos echo ya que es muy fcil y se ha comprobado que es ms rpida que las dems otras dos, print, printf. La funcin print sirve slo para imprimir una cadena, mientras que echo es capaz de imprimir varias. La funcin printf es engorrosa por tener que andar definiendo el formato de salida de las variables, ej: La insercin de comentarios dentro del cdigo PHP es igual que en C o C++ pudindose comentar una lnea: o bien comentndose un prrafo: REFERENCIAS:q q q(C) PHP Documentation Group echo (C) PHP Documentation Group print (C) PHP Documentation Group printfInstrucciones bsicasComo ya hemos dicho PHP es un lenguaje de programacin interpretado por el servidor en el momento de la demanda de carga de una pgina por un usuario. La forma de programar en PHP, es muy parecida a C o javascript, lenguajes no desconocidos para nosotros. Para que el contenido no sea slo texto PHP se ve mezclado frecuentemente con etiquetas HTML para que el diseo de la web sea ms atractivo a la vista. a vale 1 a NO vale 1 Vemos en este ejemplo que el HTML y el PHP van mezclados y obtendremos una salida u otra dependiendo del valor que tenga a. Si a=1 la pgina se vera asi: a vale 1 si a es distinto de 1 se vera asi: a NO vale 1 La tendencia actual es a separar el cdigo PHP (programacin) del HTML (diseo), ya que es una labor que hoy hacen personas distintas en un gran proyecto. Eso se consigue con templates o plantillas y con clases, ya veremos como funcionan.Tipos de variablesPHP soporta ocho tipos primitivos. Cuatro tipos escalares:* * * *boolean (verdadero/falso, s/no, 1/0) se trata como TRUE o FALSE (1 o 0) integer (nmero entero) float (nmero en coma-flotante, tambin conocido como 'double') string (cadena de texto)Dos tipos compuestos: * array (matriz de valores) * object (objetos) Y finalmente dos tipos especiales: * resource (variable especial, que contiene una referencia a un recurso externo) * NULL (variable no tiene valor) PHP dispone de funciones que sirven para averiguar en cada momento si una variable es nula o que tipo de dato contiene (gettype($mivar);, is_int($entero) ), pongamos un ejemplo con gettype(): Esto nos devolver "boolean", sin embargo si ponemos entre comillas ("TRUE") obtendremos la salida "string" ya que no identifica la variable como un booleana sino como una cadena de texto.ConstantesEn PHP se pueden definir constantes: define ("saluda", "Buenas tardes."); En cualquier parte del cdigo saludo siempre va a valer lo mismo, no puede cambiar su valor. Esto es til para informacin esttica pero modificable como rutas a archivos, o cadenas de conexin a bases de datos. No todos los nombres de constantes estan libres PHP dispone de varias constantes predifinidas, por ejemplo PHP_VERSION. Como vemos "saludo" no lleva ningn tipo de comillas ni el smbolo $ de variable porque no es una variable normal (podramos tener la variable $saludo) ni queremos que se escriba literalmente "saludo".Estructuras de controlLas estructuras tpicas de control de flujo son el if/elseif/else, el while y el do ... while, el for y el foreach, el break, el continue y el switch. Cada una de estas estructuras es controlada por una o ms variables.if/elseif/else La estructura if corresponde al si del pseudocdigo, puede incluir varias variables en la condicin, al igual que elseif que sera un si_no, si en pseudocdigo o tambin acompaada de un else, si_no en pseudocdigo, que no lleva variables o parmetros de control. La expresin o variable es evaluada como booleana, es decir, como VERDADERA o FALSA. Una tpica estructura de control de este tipo en php podra ser: Cuando estas estructuras slo tienen una sentencia implicada en su ejecucin podemos ahorrarnos las llaves: pero conviene ponerlos para ver ms claramente cuando se cierra y abre cada estructura. Un error muy frecuente es poner al final del if un punto y coma ; lo que invalida el control de la estructura. El echo se ejecutar siempre independientemente de la estructura de control. REFERENCIAS:q q q(C) PHP Documentation Group if (C) PHP Documentation Group else (C) PHP Documentation Group elseifwhile La estructura while corresponde al mientras del pseudocdigo, es controlada por una variable de condicin. El comportamiento es igual al que toman estos bucles en C, siendo el tipo de bucle ms fcil de implementar. while (parametro) sentencia La estructura while le dice a PHP que ejecute la o las sentencias anidadas dentro de su campo de control mientras la variable o parmetro de control sea verdadera/o. El valor de la variable o parmetro de control se evala al principio del bucle antes de ejecutar las sentencias. Si el resultado de la evaluacin es falso la primera vez que se entra en el bucle no se ejecutar ninguna sentencia. Como con la estructura if, se pueden anidar varias sentencias dentro del bucle while con llaves o bien con la forma alternativa: bien mediante llaves: REFERENCIAS:q(C) PHP Documentation Group whiledo ... while Los bucles do ... while son similares a los bucles while salvo que las condiciones de repeticin del bucle son comprobadas al final del bucle en lugar de al principio. La diferencia principal es que se garantiza la ejecucin del bucle al menos una vez. Existe una sla sintaxis para los bucles do ... wile. En el ejemplo de arriba, el bucle slo se ejecutar una vez ya que cuando se comprueba la condicin, sta resulta ser falsa: $i es igual a '0' y no mayor que '0' Este script s que nos hara una cuenta atrs de 10 a 1. REFERENCIAS:q(C) PHP Documentation Group do ... whilefor La estructura de control de flujo for corresponde al para de pseudocdigo y est controlada por tres parmetros, uno de comienzo, uno de fin y uno de paso incremental. for (expresin1; expresin2; expresin3) sentencia La primera expresin ('expresin1') se evala incondicionalmente una vez al principio del bucle. Al comienzo de cada iteracin, se evala 'expresin2'. Si es evaluada como VERDADERA el bucle contina y las sentencias anidadas se ejecutan. Si es evaluada como FALSA la ejecucin del bucle finaliza. Al final de cada iteracin, se evala 'expresin3'. Cada una de las expresiones puede estar vaca. Que 'expresin2' est vaca significa que el bucle debera correr indefinidamente (PHP implicitamente lo considera como VERDADERA, al igual que C). Esto puede que no ser tan intil como podra pensarse, puesto que a menudo se quiere salir de un bucle usando una sentencia break condicional en vez de usar la condicin de for. Ejemplo tpico de estructura for: Con la estructura anterior pasaremos por todos los nmeros del 0 al 9, si queremos incluir el 10 cambiaramos el menor_que por un menor_que o igual_que: for ($contador=0; $contador aunque procuraremos usar la forma de declarar con llaves ya que est ms extendida y en un cdigo amplio las llaves ayudan mucho a identificar los bucles. REFERENCIAS:q(C) PHP Documentation Group forforeach La construccin foreach es un mtodo construido especficamente para operar sobre matrices y vectores, esto facilita mucho la utilizacin de este tipo de variables. La sentencia devuelve un error si se usa sobre cualquier tipo de datos que no sean matrices o vectores. Hay dos posibles sintaxis para foreach: foreach(expresion_vector as $valor) sentencia foreach(expresion_vector as $llave => $valor) sentencia Cada una de las sintaxis recorre uno a uno los elementos que forman el array dado por expresion_vector. En cada iteracin, el valor almacenado en expresion_vector se asigna a $valor, de forma que al finalizar el bucle todos los elementos de expresion_vector quedar almacenado en $valor. La segunda sintaxis hace lo mismo, salvo que slamente asignar la clave del elemento que est recorriendo en ese momento en la variable $llave. Cuando nos referimos a la clave del elemento estamos haciendo referencia a un array multidimensional en el que los elementos almacenados estn especificados en distintos campos. Esto resulta muy til cuando almacenamos elementos en un array que tienen distintos parmetros que interesan ser referenciados de forma distinta (un buen ejeplo sera una agenda telefnica en el que podramos distinguir la clave nombre y la clave telfono). Cuando foreach comienza por primera vez a ejecutarse, el puntero interno a la matriz o vector se reinicia automticamente al primer elemento de la matriz. Esto hace que no sea necesario llamar a reset() antes de un bucle foreach. La estructura foreach trabaja con una copia de la matriz y no con ella en s, por eso el puntero de la lista no se modifica a diferencia de laestructura each(), adems los cambios en el elemento de la matriz devuelto no afectan a la matriz original. Ejemplo de uso de foreach: En este ejemplo los dos scripts hacen lo mismo, pero como vemos es ms sencillo el implementado con foreach ya que no tenemos que acordarnos de resetear el vector. Otros ejemplos ms completo de foreach: REFERENCIAS:q(C) PHP Documentation Group foreachbreak La sentencia break hace que se finalice una estructura de control, slo es aplicable en bucles for, while, o switch. Accepta un parmetro opcional, el cual determina de cuantas estructuras de control hay que escapar. Ejemplo de uso de break: Al ejecutar este script veremos que se para en los valores "5" y "10", si queremos comprobar todos los valores slo tendremos que introducir una pequea modificacin al script entre el while y el switch: while (++$i) { echo "$i
"; switch ($i) { La mayora de las veces break se utiliza junto con switch y sin el parmetro opcional. REFERENCIAS:q(C) PHP Documentation Group breakcontinue La sentencia continue se usa dentro de la estructura de un bucle para saltar el resto de la iteracin actual del bucle y continuar la ejecucin al comienzo de la siguiente iteracin. Hay que tener en cuenta que en PHP switch es considerada como una estructura de bucle por continue. continue accepta un parmetro opcional, el cual determina cuantos niveles (bluces) hay que saltar antes de continuar con la ejecucin. En bucle while que tienen un "1" dentro, es equivalente a poner TRUE y se refiere a la expresin del primer 'while', sermenor que 5, si cambiamos el "1" por un "0" lo que pasara es que no se ejecutara ninguno de los dos bucles y s los dos echo(s) que estn debajo. Realmente la estructura continue se usa muy poco en scripts normales o de programadores noveles. REFERENCIAS:q(C) PHP Documentation Group continueswitch La sentencia switch es equivalente a una serie de sentencias if en la misma expresin. En muchas ocasiones se quiere comparar la misma variable (o expresin) con nuchos valores diferentes, y ejecutar una parte de cdigo distinta dependiendo de a qu valor es igual. Para ello sirve la sentencia switch. Nota: Tener en cuenta que al contrario que otros lenguajes de programacin, continue se aplica a switch y funciona de manera similar a break. Si teneis un switch dentro de un bucle y deseais continuar con el paso siguiente en el bucle externo, usar continue 2. Los siguientes dos ejemplos son dos modos distintos de escribir la misma cosa, uno usa una serie de sentencias if, y el otro usa la sentencia switch: