Sei sulla pagina 1di 31

1 I.U.T.

REGION LOS ANDES CATEDRA DE ELECTIVA III : PROGRAMACION EN LA WEB REFERENCIA RAPIDA DE PHP

INTRODUCCION PHP es un lenguaje soportado por HTML, la sintaxis es heredada de C, Java y Perl; esta orientado para los constructores de pginas web, permitiendoles crear pginas dinmicamente generadas. La forma de trabajo utilizada en el presente curso es totalmente prctica, es decir ir haciendo pginas en la misma medida que se va exponiendo cada punto. Por lo tanto debe tener un servidor web instalado para realizar los ejercicios (AppServer por ejemplo). Adems, si bien no es absolutamente necesario, sera conveniente que tuviera conocimientos de HTML. El presente curso le permitir desarrollar web interactivas sencillas, de usted depender ahondar en el tema. Se sugiere bajar ell Manual del Usuario de PHP de la direccin www.php.net para ello. CONCEPTOS BASICOS PHP es la abreviacin de Personal Home Page, nombre que le dio su creador Rasmus Lerdorf a finales de 1994. PHP es un lenguaje de programacin clsico o convencional, es decir posee variables, sentencias condicionales, repetitivas, funciones etc., no es un lenguaje de etiquetas o marcas como HTML,XML o WML. Como caracterstica muy particular PHP se ejecuta en el servidor por lo cual nos permite el acceso a los recursos que posee el servidor. PHP es ejecutado en el servidor y el resultado enviado al navegador, siendo as el resultado una pagina HTML. PHP soporta accesos a las bases de datos en: Adabas D, dBase, Empress, FiclePro, Informix, InterBase, Solid, Sybase, Velocis, Unix dbm, mSQL, MySQL, Oracle y PosgreSQL.

EJEMPLO <!--CURSO DE PHP --> <html> <head> <title>Ejemplo de PHP</title> </head> <body> <?php echo "Hola Mundo, esto es un script PHP";?> </body> </html>

ESTRUCTURA Para insertar PHP en HTML se coloca el cdigo PHP entre tags. <? ... ?> Las instrucciones van separadas por ; en caso de ser la ltima instruccin no es necesario el punto y coma. Los comentarios se encierran igual que en C: /* el comentario aqu */ Tambien puede ser // esto es un comentario

TIPOS DE DATOS El intrprete PHP asigna el tipo de una variable segn el uso que se est haciendo de ella. Para asignar un tipo fijo a una variable se utiliza la funcin settype(). Los tipos son: Enteros Flotantes String Arrays Objetos Juggling

VARIABLES mbito de una Varible El mbito de una variable en PHP es exactamente igual que en C o en Perl tomando siempre en cuenta los ficheros incluidos al principio de cada programa. De hecho ls variables pueden ser locales solo existen dentro de las funciones y globales que se usan fuera de las funciones y se acceden a ellas con la instruccin global nombre_variable. Variables variables PHP permite un mecanismo para mantener variables con un nombre no fijo. Por ejemplo: $a = "hola"; $$a = mundo";

El ejemplo anterior, define dos variables, una denominada $a que contiene el valor "hola" y otra que se llama $hola que contiene el valor "mundo" Agregue a la pgina el cdigo anterior y la siguiente lnea: echo $a ${$a};

3 Estas lneas producirn la salida hola mundo. Lo mismo suceder si la lnea que se introduce es echo $a $hola; CONSTANTES Las constantes en PHP se definen con la funcin define() y adems no pueden ser redefinidas con otro valor. Adems, existen una serie de variables predefinidas denominadas: _FILE_: Fichero que se est procesando. _LINE_: Lnea del fichero que se est procesando _PHP_VERSION: Versin de PHP. PHP_OS: Sistema operativo del cliente. TRUE: Verdadero. FALSE: Falso. E_ERROR: Error sin recuperacin. E_ERROR: Error sin recuperacin. E_WARNING: Error recuperable. E_PARSE: Error no recuperable (sintaxis). E_NOTICE: Puede Tratarse de un error o no. Normalmente permite continuar la ejecucin. A continuacin copie el siguiente cdigo en la pgina y vuelva a probar: define("CONSTANTE", Seguimos aprendiendo."); echo CONSTANTE; EXPRESIONES En PHP una expresin es cualquier cosa que pueda contener un valor. Las expresiones ms simples son las variables y las constantes, otras ms complicadas son las funciones ya que estas contienen un valor al ser invocadas. OPERADORES Los operadores abreviados, los incrementos, etc, son exactamente iguales a los utilizados en C. Incluso existen otros operadores adicionales como el operador "." que concatena valores de variables, o el operador "===" denominado operador de identidad que devolver verdadero si las expresiones a ambos lados del operador contienen el mismo valor y a la vez son del mismo tipo. Por ltimo, el operador "@" sirve para el control de errores. Tenemos entonces: suma +, resta - , producto * , divisin / , mdulo %, suma 1 ++, resta 1 --. Los operadores de comparacin no son la excepcin y siguen la regla de C. Igual ==, diferente !=, menor que <, mayor que >, menor o igual <=, mayor o igual >=. Lleg el momento de poner en prctica lo aprendido, valindose del comando echo y de la declaracin de variables agregue el cdigo necesario para aplicar estos operadores a los valores 7 y 5 .

4 Tome por ejemplo como variables a,b, c y asgnele a dos de ellas el mismo valor.

Los operadores lgicos tampoco difieren de los usados en C o Java. Y lgico: && o and ; O lgico: || u or; No lgico: !.. La aplicacin o ejemplo de estos operadores lo dejamos para cuando se realicen ejemplos con los diferentes estructuras de control en PHP.

ESTRUCTURAS DE CONTROL A continuacin un resumen de las opciones que ofrece PHP para las estructuras de control. Estructura Alternativa If, if else, if elseif if: endif; while while: endwhile; for for: endfor; Do while foreach(array as $value) foreach(array as $key=>$value) Switch switch: endswitch; continue -

Estructura break Require() (Necesita estar dentro de tags PHP) include() (Necesita estar dentro de tags PHP)

Alternativa -

if (condicion) { sentencias a ejecutar cuando la condicin sea verdadera; } else { sentencias a ejecutar cuando la condicin sea falsa; }

EJEMPLO $var1=3; $var2=6; if ($var1<$var2) { echo $var1; echo " es menor que "; echo $var2; } else { echo "$var1, no es menor que, $var2<br>"; };

Otra sentencia de desicin o condicional es la sentencia switch ... Case. Inserte el cdigo siguiente y compruebe el funcionamiento de la sentencia. $posicion=1; switch($posicion){ case 1: //primera opcion echo el valor de la variable es: ; echo $posicion; break; case 2: //segunda opcion echo el valor de la variable es: ; echo $posicion; break; default: // si no es opcion vlida echo el valor de la variable es: ; echo distinto de 1 y 2; }

BUCLES Empezaremos con un ejemplo de la sentencia while. $i=1; while (i<3) { echo i tiene el valor de ,$i,<br>; $i++; } FOR Para variar sigue la sintaxis de c

6 for (valor inicial;condicion;incremento)

Inserte ahora el cdigo for ($i=0;$i<3;$i++) { echo esta es la iteracin ,$i+1,<br>; }

SALIDA Entre otros tenemos %s para cadena de caracteres, %d para enteros o sin decimales; %f nmero con decimales; %c para un carcter ASCII. El siguiente ejemplo mustra la gran potencialidad del printf. printf(<table border=1 cellpadding=20>); for($i=0;$i<5;$i++) { printf(<tr><td>%10.d</td></tr>,$i); } printf(</table>);

ARRAY Los Arrays en PHP se pueden utlizar tanto como Arrays indexados o como Arrays asociativos. Las funciones que se utilizan para crear Arrays de este tipo son list() o array() . En el caso de que no se especifique el indice en un array, el elemento que se asigna se aade al final. Los arrays pueden ser ordenados utilizando las siguientes funciones: asort(), arsort(), ksort(), rsort(), sort(), uasort(), usort() y uksort() .

Las tablas (o array en ingls), son muy importantes en PHP, ya que generalmente, las funciones que devuelven varios valores, como las funciones ligadas a las bases de datos, lo hacen en forma de tabla. En PHP disponemos de dos tipos de tablas. El primero sera el clsico, utilizando ndices y el segundo son las tablas asociativas, en las cules a cada elemento se le asigna un valor (key) para acceder a l. El cdigo que se presenta a continuacin aclara el primero de los tipos. Inserte el cdigo y compruebe la potencialidad del comando printf y del uso de arreglos.

EJEMPLO <?php $ciudad[] = "Pars"; $ciudad[] = "Roma"; $ciudad[] = "Sevilla"; $ciudad[] = "Londres"; print ("yo vivo en " . $ciudad[2] . "<BR>\n"); ?> <?php $ciudad= array("Pars", "Roma", "Sevilla", "Londres"); //contar el nmero de elementos $numelentos = count($ciudad); for ($i=0; $i < $numelentos; $i++) { print ("La ciudad $i es $ciudad[$i] <BR>\n"); } ?> MANEJO DE CADENAS echo 'funcin que entrega cantidad de caracteres en una cadena<font color="#0000FF"> <em>strlen</em></font> <br> '; $str1='hola mundo'; echo "la cadena a probar es ",$str1,"<br>"; echo strlen($str1),"<br>"; echo 'funcin que divide una cadena en varias usando un caracter separador<font color="#0000FF"> <em>split </em> </font> <br> '; $separar=split(" ",$str1);

printf ("el resultado al separar es: <br>"); for($i=0;$separar[$i];$i++) echo $separar[$i],"<br>"; echo 'si lo que se quiere es una subcadena de una cadena se usa <font color="#0000FF"> <em>substr</em></font><br> '; echo substr($str1,0,4),"<br>"; Hay otras pero por el momento estas le darn la idea de lo mucho que se puede hacer con ellas. Tambien es posible el manejo de funciones creadas por el usuario, tal como lo muestra el cdigo a continuacin. FUNCIONES DE USUARIO function promedio($x,$y) {

8 $prom=($x+$y)/2; return $prom; } printf ("El promedio de 10 y 13 es %d <br>", promedio(10,13)); printf ("El promedio de 10 y 13 es %.2f ", promedio(10,13));

Para declarar una funcin debemos utilizar la instruccin functin seguido del nombre que le vamos a dar, y despus entre parntesis la lista de argumentos separados por comas, aunque tambin habr funciones que no recojan ningn argumento. Existe una manera de terminar la ejecucin de la funcin aunque an haya cdigo por ejecutar, mediante el uso de la instruccin return terminamos la ejecucin del cdigo de una funcin y devolvemos un valor. Podemos tener varios return en nuestra funcin.

PAGINAS INTERACTIVAS Lo que hace a PHP interesante en las pginas WEB es que permite la interactividad. Para introducirnos en su uso debemos cerrar el proyecto que estamos ejecutando y comenzar uno nuevo. Cuando se disea la pgina que contiene el formulario en el cual el usuario introduce la informacin a procesar se debe indicar la pgina php que procesar el formulario, indicando tambin el mtodo por el que se pasar la informacin. Llamaremos captura.html a la pgina del formulario y procesa.php a la que procesar la informacin. EJEMPLO El cdigo para la pgina de captura es: <!-- Manual Bsico de PHP de JAGA --> <html> <head> <title>Ejemplo de PHP</title> </head> <body> <h1>Procesando formularios</h1> Introduzca un valor:<FORM ACTION="procesa.php" method="get"> <input type="text" name=valor"><br> <input type="submit" VALUE="Enviar"> </FORM></body> </html>

El cdigo para la pgina procesa es: <!-- Manual Bsico de PHP de JAGA --> <html> <head> <title>Ejemplo de PHP</title>

9 </head> <body> <h1>Procesando formularios</h1> El valor introducido es: <?php echo $valor ?> </body> </html> CONECCION A BASE DE DATOS

EJEMPLO function coneccion() { if(!($link=mysql_connect("localhost","",""))) { echo "error de coneccion a la base de datos"; exit(); } if(!mysql_select_db("contactos",$link)) { echo "error de seleccion de la base de datos"; exit(); } return $link; } $link=coneccion(); echo "Coneccin exitosa <br>"; mysql_close($link); // cerrada la conexin ?> /body> </html> Como resultado usted ver el mensaje coneccion exitosa. Con la instruccin mysql_connect se crea el vnculo entre la pagina php y la base de datos. Cuando no se necesita mas el vnculo con la base de datos debe ser liberado, para ello se usa la instruccin mysql_close. Ahora bien, solo nos conectamos, es necesario introducir datos dentro de la base de datos para ello se crearan dos pginas nuevas con los nombres captura1.html y procesa1.php, en la primera se usar un formulario y en el FORM ACTION se debe indicar que se va a procesar una pagina php en la segunda estar el cdigo php que procesar la informacin capturada por la anterior; adems incluirmos en ambas la pgina de coneccin como una librera. El cdigo a introducir ser el mostrado en las siguientes diapositivas.

EJEMPLO DE INSERCION EN BASE DE DATOS En estos ejemplos se presenta solo el cdigo php asi:

10 para Captura1.html <h1>Ejemplo de php y MySQL</h1> <FORM ACTION="procesa1.php"> <table><tr><td>Apellido:</td> <td><input type="text" NAME="apellido" SIZE ="20" maxlength="30"></td> </tr> <tr><td>Nombre:</td> <td><input type="text" name="nombre" size="20" maxlength="30"></td> </tr> <tr><td>Cumpleao[ao-mes-dia]:</td> <td><input type="text" name="fecha" size="10" maxlength="10"></td> </tr> <tr><td>e-mail:</td> <td><input type="text" name="email" size="20" maxlength="30"></td> </tr> </table> <input type="submit" name="accion" value="Grabar"> </FORM>

Ahora el cdigo de procesa1.php es: <?php include("conectar.php"); $link=coneccion(); mysql_query("insert into amigos(apellidos,nombres,cumpleano,email,status) values ('$apellido','$nombre','$fecha','$email','1')",$link); mysql_close($link); // header("location: captura1.php"); ?>

11

EJEMPLO DE ACTUALIZACION DE DATOS EN PHP


Secuencia de Envio Nuevo.htm -> Formularios de Consulta o Insercin de Datos Inserta1.php -> Insercin de los datos enviados por el Formulario anterior

<html> <head> </head> <body bgcolor="#FFFFFF" text="#000000"> <!------------- FORMULARIO DE CAPTURA DE DATOS -------- ACTION="nuevo2.php" ---> <FORM NAME="miformulario" METHOD='POST' ACTION="nuevo2.php" > <h4> NUEVO REGISTRO </h4> <TABLE width="456" BORDER=1 align="center"> <TR> <TD> CODIGO: </TD> <TD> <INPUT TYPE="TEXT" NAME="codigo" SIZE=20 MAXLENGTH=20> </TD> </TR> <TR> <TD> NOMBRE: </TD> <TD> <INPUT TYPE="TEXT" NAME="nombre" SIZE=30 MAXLENGTH=30> </TD> </TR> <TR> <TD> EMAIL: </TD> <TD> <INPUT TYPE="TEXT" NAME="email" SIZE=40 MAXLENGTH=40> </TD> </TR>

12
<TR> <TD> TELEFONO: </TD> <TD> <INPUT TYPE="TEXT" NAME="telefono" onblur="valida1(miformulario)" SIZE=15 MAXLENGTH=15> </TD> </TR> <TR> <TD><input type="submit" name="Submit" value="GUARDAR" ></TD> <TD><input type="reset" name="reset" value="BORRAR"></TD> </TR> </TABLE> <a href='modifica.htm' target="_self"> INICIO </a> </FORM> <br> <br> <br> <!--------------------------------------------------------> <FORM NAME="MIFORMU2" METHOD='POST' ACTION="listado1.php" > <h4> BUSQUEDA POR CODIGO </h4> <TABLE width="456" BORDER=1 align="center"> <TR> <TD> CODIGO: </TD> <TD> <INPUT TYPE="TEXT" NAME="codbusca" SIZE=20 MAXLENGTH=20> </TD> </TR>

<TR> <TD><input type="submit" name="Submit" value="BUSCAR"></TD> <TD><input type="reset" name="reset" value="BORRAR"></TD> </TR> </TABLE> </FORM> </body> </html>

PROGRAMA DE INSERCION DE DATOS EN MYSQL <html> <head> </head> <body bgcolor="#FFFFFF" text="#000000"> <FONT><H1> INSERCION DE USUARIOS </H1> </FONT> <!------- CODIGO DE INSERCION ---------> <?php // CONEXION CON LA BASE DE DATOS $conex = mysql_connect("localhost","root","") or die(" NO SE PUDO CONECTAR "); mysql_select_db("demo1"); $consul= "INSERT INTO USUARIOS (codigo,nombre,email,telefono) VALUES ( '$codigo','$nombre','$email','$telefono' )"; $resultado = mysql_query($consul,$conex); echo "<table border=1>"; echo "<TR><TD> EL REGISTRO HA SIDO INSERTADO CON EXITO ! </TD></TR> ";

13
echo "<TR></TABLE>"; mysql_close($conex); ?> <!-------------------------------------> <TD> <a href='nuevo.htm' target="_self"> REGRESAR </a> </TD> </body> </html>

PROGRAMA DE CONSULTA DE DATOS PARA B.D. MYSQL

<html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000">

<!------------- FORMULARIO DE CAPTURA DE DATOS -----------> <FONT> <H1> FORMULARIO DE USUARIOS </H1> </FONT> <FORM NAME="MIFORMULARIO" > <TABLE BORDER=1 width="456"> <!----------------- ACCESO A DATOS ---------------> <?php $codigo = " "; $nombre = " "; $email = " "; $telefono= " "; // conexion con la b.d. $conexion =mysql_connect("localhost","root","") or die ("NO SE PUDO CONECTAR "); mysql_select_db("demo1"); $consulta = "SELECT * FROM USUARIOS WHERE codigo = '$codbusca' or '$codbusca' = ''";

14
$resultado= mysql_query($consulta , $conexion); $filas = mysql_num_rows($resultado); while ( $arr_asoc = mysql_fetch_array($resultado) ) { $codigo = $arr_asoc['codigo']; $nombre = $arr_asoc['nombre']; $email = $arr_asoc['email']; $telefono= $arr_asoc['telefono']; // FORMULARIO DE ACTUALIZACION echo "<TR>"; echo "<TD>", $codigo ,"</TD>"; echo "<TD>", $nombre ,"</TD>"; echo "<TD>", $email ,"</TD>"; echo "<TD>", $telefono,"</TD>"; echo "</TR>"; } mysql_free_result($resultado); mysql_close($conexion); ?> <!------------------------------------------------> </TABLE> <a href='nuevo.htm' target="_self"> REGRESAR </a> </FORM> <!--------------------------------------------------------> </body> </html> PROGRAMA DE MODIFICACION DE TABLAS PARA MYSQL SECUENCIA DE ENVIO MODIFICA.HTM -> PIDE EL CAMPO CLAVE DEL REGISTRO A CONSULTAR MODIFICA1.PHP -> BUSCA EL CAMPO CLAVE Y CREA EL FORMULARIO DE EDICION DEL REGISTRO MODIFICA2.PHP -> GUARDA LOS CAMBIOS HECHOS EN EL FORMULARIO MODIFICA1.PHP

MODIFICA.HTM

15

<html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> <!--------------------------------------------------------> <FONT> <H1> MODIFICACION DE USUARIOS </H1> </FONT> <FORM NAME="MIFORMULARIO" METHOD='POST' ACTION="modifica2.php" > <TABLE BORDER=1 width="456"> <TR> <TD> CODIGO: </TD> <TD> <INPUT TYPE="TEXT" NAME="codbusca" SIZE=20 MAXLENGTH=20> </TD> </TR> <TR> <TD><input type="submit" name="Submit" value="CONSULTAR"></TD> <TD><input type="reset" name="reset" value="BORRAR"></TD> </TR> </TABLE> </FORM> <!--------------------------------------------------------> </body> </html> MODIFICA1.PHP

<html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000">

<!------------- FORMULARIO DE CAPTURA DE DATOS -----------> <FONT> <H1> FORMULARIO DE USUARIOS </H1> </FONT> <FORM NAME="MIFORMULARIO" METHOD='POST' ACTION="modifica3.php" > <TABLE BORDER=1 width="456">

16
<!----------------- ACCESO A DATOS ---------------> <?php $codigo = " "; $nombre = " "; $email = " "; $telefono= " "; // conexion con la b.d. $conexion =mysql_connect("localhost","root","") or die ("NO SE PUDO CONECTAR "); mysql_select_db("demo1"); $consulta = "SELECT * FROM USUARIOS WHERE codigo = '$codbusca'"; $resultado= mysql_query($consulta , $conexion); $filas = mysql_num_rows($resultado); if ( $arr_asoc = mysql_fetch_array($resultado) ) { $codigo = $arr_asoc['codigo']; $nombre = $arr_asoc['nombre']; $email = $arr_asoc['email']; $telefono= $arr_asoc['telefono']; // FORMULARIO DE ACTUALIZACION echo "<TR><TD> CODIGO: </TD>"; echo "<TD><INPUT TYPE='TEXT' NAME='codigo' VALUE='$codigo' SIZE=20 MAXLENGTH=20></TD>"; echo "</TR>"; echo "<TR><TD> NOMBRE: </TD>"; echo "<TD> <INPUT TYPE='TEXT' NAME='nombre' VALUE='$nombre' SIZE=30 MAXLENGTH=30> </TD>"; echo "</TR>"; echo "<TR><TD> EMAIL: </TD>"; echo "<TD> <INPUT TYPE='TEXT' NAME='email' VALUE='$email' SIZE=40 MAXLENGTH=40> </TD>"; echo "</TR>"; echo "<TR><TD> TELEFONO: </TD>"; echo "<TD> <INPUT TYPE='TEXT' NAME='telefono' VALUE='$telefono' SIZE=15 MAXLENGTH=15> </TD>"; echo "</TR>"; echo "<TR>"; echo "<TD><input type='submit' name='Submit1' value='GUARDAR'></TD>"; echo "<TD><input type='reset' name='reset1' value='BORRAR'></TD>"; echo "<TD> <a href=",'elimina.php?codigo=',$codigo,"> ELIMINAR </a> <TD>"; echo "</TR>"; } else { echo "<TR> <TD> EL REGISTRO NO FUE ENCONTRADO ! </TD>"; echo "</TR>"; } mysql_free_result($resultado); mysql_close($conexion); ?> <!------------------------------------------------> </TABLE> <a href='modifica.htm' target="_self"> REGRESAR </a> </FORM> <!--------------------------------------------------------> </body>

17
</html>

MODIFICA3.PHP <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body text="#000000"> <!------------- FORMULARIO DE CAPTURA DE DATOS -----------> <FONT> <H1> MODIFICACION DE USUARIOS </H1> </FONT> <FORM NAME="MIFORMULARIO3"> <TABLE BORDER=1 width="456"> <!----------------- ACCESO A DATOS ---------------> <?php // conexion con la b.d. $consulta = "UPDATE usuarios "; $consulta .= "set codigo='$codigo' , "; $consulta .= "nombre='$nombre' , "; $consulta .= "email ='$email' , "; $consulta .= "telefono= '$telefono' "; $consulta .= "WHERE codigo = '$codigo'"; $conexion =mysql_connect("localhost","root","") or die ("NO SE PUDO CONECTAR "); mysql_select_db("demo1"); $resultado= mysql_query($consulta , $conexion); echo "<TR><TD> EL REGISTRO HA SIDO MODIFICADO CON EXITO ! </TD></TR> "; mysql_close($conexion); ?> <!------------------------------------------------> <a href="modifica.htm" target="_self">REGRESAR</a> </TABLE> </FORM> <!--------------------------------------------------------> </body> </html>

PROGRAMA DE ELIMINACION DE REGISTROS ( ELIMINA.PHP) <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body text="#000000"> <!------------- FORMULARIO DE CAPTURA DE DATOS -----------> <FONT> <H1> MODIFICACION DE USUARIOS </H1> </FONT> <FORM NAME="MIFORMULARIO3"> <TABLE BORDER=1 width="456"> <!----------------- ACCESO A DATOS --------------->

18
<?php // conexion con la b.d. $conexion =mysql_connect("localhost","root","") or die ("NO SE PUDO CONECTAR "); mysql_select_db("demo1"); if ( empty($codigo) ){ echo " EL CODIGO ESTA VACIO ! "; } else { $consulta = "DELETE FROM USUARIOS WHERE codigo = '$codigo'"; $resultado= mysql_query($consulta , $conexion); echo "<TR><TD> EL REGISTRO HA SIDO ELIMINADO CON EXITO ! </TD></TR> "; echo "<TR>"; echo "<TD> <a href='modifica.htm'> REGRESAR </a> </TD>"; echo "</TR>"; } mysql_close($conexion); ?> <!------------------------------------------------> </TABLE> </FORM> <!--------------------------------------------------------> </body> </html>

EDICION DE DATOS POR MEDIO DE TABLAS El Ejemplo presentado a continuacin es uno de los ms comunes y prcticos en la edicin de datos de una tabla pues permite una rpida consulta de todos los registros que se encuentran en ella y una actulizacin de la tabla con solo unos cuantos clic del Mouse.

<html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000">

19

<!------------- FORMULARIO DE CAPTURA DE DATOS -----------> <FONT> <H1> EDITANDO TABLA DE USUARIOS </H1> </FONT> <FORM NAME="MIFORMULARIO" > <a href='nuevo.htm' target="_self"> NUEVO </a> <BR> <TABLE BORDER=1 width="512"> <!----------------- ACCESO A DATOS ---------------> <?php $codigo = " "; $nombre = " "; $email = " "; $telefono= " "; // conexion con la b.d. $conexion =mysql_connect("localhost","root","") or die ("NO SE PUDO CONECTAR "); mysql_select_db("demo1"); $consulta = "SELECT * FROM USUARIOS WHERE codigo = '$codbusca' or '$codbusca' = ''"; $resultado= mysql_query($consulta , $conexion); $filas = mysql_num_rows($resultado); while ( $arr_asoc = mysql_fetch_array($resultado) ) { $codigo = $arr_asoc['codigo']; $nombre = $arr_asoc['nombre']; $email = $arr_asoc['email']; $telefono= $arr_asoc['telefono']; // FORMULARIO DE ACTUALIZACION echo "<TR>"; echo "<TD>", $codigo ,"</TD>"; echo "<TD>", $nombre ,"</TD>"; echo "<TD>", $email ,"</TD>"; echo "<TD> $telefono </TD>"; echo "<TD> <A HREF='modifica2.PHP?codbusca=$codigo'> EDITAR </A> </TD>"; echo "<TD> <A HREF='elimina.PHP?codigo=$codigo' > ELIMINAR </A> </TD>"; echo "</TR>"; } mysql_free_result($resultado); mysql_close($conexion); ?> <!------------------------------------------------> </TABLE> <a href='nuevo.htm' target="_self"> REGRESAR </a> </FORM> <!--------------------------------------------------------> </body> </html>

INSERCION DE DATOS UTILIZANDO CONEXION ODBC A continuacin veremos las funciones de actualizacin de bases de datos utilizando funciones de Conexin para Objetos ODBC, la Lgica de Programacin y Formularios de entradas ser la misma utilizada en los ejemplos anteriores <html>

20
<head> </head> <body bgcolor="#FFFFFF" text="#000000"> <FONT><H1> INSERCION DE USUARIOS </H1> </FONT> <!------- CODIGO DE INSERCION ---------> <?php // CONEXION CON LA BASE DE DATOS $conex = odbc_connect("demo1","root",""); $consul= "INSERT INTO USUARIOS (codigo,nombre,email,telefono) VALUES ( '$codigo','$nombre','$email','$telefono' )"; // echo $consul; // VALIDANDO LOS CAMPOS if ( !empty($codigo) && !empty($nombre) ) { $resultado=odbc_do($conex,$consul); if ( $resultado ) { echo "<table border=1>"; echo "<TR><TD> EL REGISTRO HA SIDO INSERTADO CON EXITO ! </TD></TR> "; echo "<TR></TABLE>"; } } else echo "<b> Debe introducir un Nombre o Codigo que sea valido </b> "; ?> <!-------------------------------------> <TD> <a href='nuevo.htm' target="_self"> REGRESAR </a> </TD> </body> </html>

PROGRAMA DE CONSULTA DE DATOS PARA CONEXIN ODBC <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> <FONT COLOR='BLACK'><h1> LISTADO DE USUARIOS</h1> </FONT> <table border=1 width=90%> <tr> <td align='center'> <font color='blue'>CODIGO</FONT></TD> <td align='center'> <font color='blue'>NOMBRE</FONT></TD> <td align='center'> <font color='blue'>EMAIL</FONT></TD> </TR> <?php // conexion con la b.d. $conexion =odbc_connect("demo1","root",""); $consulta = "SELECT codigo,nombre,email FROM USUARIOS"; $resultado= odbc_do($conexion,$consulta); $numfilas=0;

21
// recorrido del cursor $resultado while( odbc_fetch_row($resultado) ) // mientras haya datos { $numfilas++; echo "<tr>"; echo "<td align='center'>"; echo odbc_result($resultado,1); // 1er campo del cursor echo "</td>"; echo "<td align='center'>"; echo odbc_result($resultado,2); // 2do campo del cursor echo "</td>"; echo "<td align='center'>"; echo odbc_result($resultado,3); // 3er campo del cursor echo "</td>"; echo "</tr>"; } echo "<tr>"; echo "<td align='center'><b> TOTAL DE USUARIOS : $numfilas </b></td></tr> "; odbc_free_result($resultado); odbc_close($conexion); ?> </table> <a href='modifica.htm' target="_self"> INICIO </a> </body> </html>

PROGRAMA DE ELIMINACION DE DATOS CON ODBC <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body text="#000000"> <!------------- FORMULARIO DE CAPTURA DE DATOS -----------> <FONT> <H1> MODIFICACION DE USUARIOS </H1> </FONT> <FORM NAME="MIFORMULARIO3"> <TABLE BORDER=1 width="456"> <!----------------- ACCESO A DATOS ---------------> <?php // conexion con la b.d. $conexion =odbc_connect("demo1","root",""); $consulta = "DELETE FROM usuarios "; $consulta .= "WHERE codigo = '$codigo' "; $resultado= odbc_do($conexion,$consulta); odbc_close($conexion); echo "<TR><TD> EL REGISTRO HA SIDO ELIMINADO CON EXITO ! </TD></TR> "; echo "<TR>"; echo "<TD> <a href='modifica.htm'> REGRESAR </a> </TD>"; echo "</TR>"; ?> <!------------------------------------------------>

22
</TABLE> </FORM> <!--------------------------------------------------------> </body> </html>

VISUALIZANDO ARCHIVOS DEL SITIO WEB El Siguiente programa permite visualizar el directorio del sitio web <HTML> <HEAD><TITLE>Administrador de Directorios</TITLE></HEAD> <BODY> <?php // Abrimos un manejador del directorio $manejador = opendir("."); echo "<TABLE BORDER='1'> <TR><TD><H4> ARCHIVOS DEL DIRECTORIO <H4></TD></TR>"; // rewinddir($manejador); // Procesamos todos los elementos del directorio que son ficheros while ($elemento = readdir($manejador)) { $largo = strlen($elemento); $extension = substr($elemento, $largo-3 ); if (!is_dir($elemento) && ( $extension == $ext || empty($ext) ) ) { echo "<tr><td> <A HREF='$directorio/$elemento'>", $elemento,"</a> </td></tr>"; } } closedir($manejador); echo "</TABLE></CENTER>"; ?> </BODY> </HTML>

TRABAJO CON ARCHIVOS TEXTO Los siguientes programas en php permiten insertar los datos de un formulario visualizarlos en un formato tipo tabla. Secuencia de Envio : Formulario1.htm -> Formulario de Captura de Datos Incluirtxt.php -> Crea el Archivo e inserta cada dato al final del archivo Listatxt.php -> Lista los datos del archivo en un archivo .txt y

23

Formulario.htm <html> <head> DEMO DE INCLUSION DE DATOS DE FORMULARIOS EN PHP - ARCHIVO TEXTO </head> <body> <form method="POST" action="inctxt.php"> CEDULA : <INPUT TYPE="TEXT" NAME="ced" size=12> <BR> NOMBRE : <INPUT TYPE="TEXT" NAME="nom" size=30> <BR> <INPUT TYPE="submit" value="GUARDAR"> <INPUT TYPE="reset" value="LIMPIAR"> <A HREF="inctxt2.php">LISTADO</A> </form> </body> </html>

24
Incluirtxt.php <html> <head> </head> <body> INCLUSION DE ALUMNOS <TABLE BORDER="2" ALIGN="center"> <TR><TD>CODIGO</TD><TD>NOMBRE</TD></TR> <?PHP define ( 'ARCHI' , 'ARCHIVO.TXT' ); // VALIDANDO CAMPOS A GUARDAR if ( $ced == '' || $nom == '' ) { echo "<H4> DEJO DATOS VACIOS </H4>"; } else { // se abre el archivo para guardar los datos $fichero = fopen ( ARCHI , 'a' ); // guardando datos una linea por campo fputs( $fichero , "$ced\n"); fputs( $fichero , "$nom\n"); fclose($fichero); echo "<tr><td> "; echo $ced , "</td>"; echo "<td>",$nom,"</td></tr>"; } ?> </TABLE> <form> <p align="center"> <a href="inctxt.htm">volver</a> </p> </form> </body> </html> Listatxt.php <html> <head> </head> <body> LISTADO DE ALUMNOS <TABLE BORDER="2" ALIGN="center"> <TR><TD>CODIGO</TD><TD>NOMBRE</TD></TR> <?PHP // abriendo el archivo para mostrar datos define( ARCHI , 'ARCHIVO.TXT'); $fichero = fopen( ARCHI , 'r' ); while ( !feof( $fichero) ) { echo "<tr>"; // se leen los 2 campos del registro

25
for ( $i=0;$i<2;$i++) { echo "<TD ALIGN = 'LEFT'>"; echo fgets($fichero , 4096); echo "</td>"; } echo "</tr>"; } fclose( $fichero); ?> </TABLE> <form> <p align="center"> <A HREF="INCTXT.HTM"> VOLVER </A> </p> </form> </body> </html>

26
FORMULARIO PARA ACTUALIZAR ARCHIVOS UTILIZANDO PAGINAS RECURSIVAS

<html> <head> </head> <body >

<!------- FORMULARIO DE BUSQUEDA -------------------------------------> <FORM NAME="MIFORMU1" METHOD='POST' ACTION="ACTUALIZACLI.php" > <h1> ACTUALIZACION DE USUARIOS</h1> <TABLE width="456" BORDER=1 align="center"> <TR> <TD> CODIGO: </TD> <TD> <INPUT TYPE="TEXT" NAME="codbusca" SIZE=20 MAXLENGTH=20> </TD> </TR>

<TR> <TD><input type="submit" name="Submit" value="BUSCAR"></TD> <TD><input type="reset" name="reset" value="BORRAR"></TD> </TR> </TABLE> </FORM>

<!------------- FORMULARIO DE CAPTURA DE DATOS -------- ACTION="nuevo2.php" ---> <FORM NAME="MIFORMU2" METHOD='POST' ACTION="ACTUALIZACLI.php" > <?PHP

// CONEXIO A LA BASE DE DATOS $conexion =mysql_connect("localhost","root","") or die ("NO SE PUDO CONECTAR ");

// SI LA OPCION ENVIADA ES GUARDAR if ( isset ($submit1) ) { $codbusca = $codigo; $conexion =mysql_connect("localhost","root","") or die ("NO SE PUDO CONECTAR ");

27
mysql_select_db("demo1"); $consulta = "SELECT * FROM USUARIOS where CODIGO = '$codigo' "; $resultado= mysql_query($consulta , $conexion); $filas = mysql_num_rows($resultado); if ( $arr_asoc = mysql_fetch_array($resultado) ) // MODIFICANDO EL REGISTRO { $consulta = "UPDATE usuarios "; $consulta .= "set codigo='$codigo' , "; $consulta .= "nombre='$nombre' , "; $consulta .= "email ='$email' , "; $consulta .= "telefono= '$telefono' "; $consulta .= "WHERE codigo = '$codigo'"; $resultado= mysql_query($consulta , $conexion); echo "REGISTRO MODIFICADO <BR>"; mysql_close($conexion); } else // INCLUYENDO EL REGISTRO { $consulta = "INSERT INTO USUARIOS (codigo,nombre,email,telefono) VALUES ( '$codigo','$nombre','$email','$telefono' )"; $resultado = mysql_query($consulta,$conexion); mysql_close($conexion); echo "REGISTRO INCLUIDO <BR>"; } } // SI LA OPCION ENVIADA ES ELIMINAR if ( isset ($submit2) ) { $codbusca = $codigo; $conexion =mysql_connect("localhost","root","") or die ("NO SE PUDO CONECTAR "); mysql_select_db("demo1"); $consulta = "DELETE FROM USUARIOS WHERE codigo = '$codigo'"; $resultado= mysql_query($consulta , $conexion); mysql_close($conexion); $codbusca = " "; // limpia la variable auxiliar echo "REGISTRO ELIMINADO <BR>"; } // INICIALIZANDO VARIABLES $codigo = " "; $nombre = " "; $email = " "; $telefono= " ";

if ( !empty($codbusca) ) // RECIBE EL CODIGO A BUSCAR { // asigna el codigo de busqueda al campo clave $codigo = $codbusca; // conexion con la b.d. $conexion =mysql_connect("localhost","root","") or die ("NO SE PUDO CONECTAR "); mysql_select_db("demo1"); $consulta = "SELECT * FROM USUARIOS where CODIGO = '$codigo' "; $resultado= mysql_query($consulta , $conexion); $filas = mysql_num_rows($resultado); if ( $arr_asoc = mysql_fetch_array($resultado) ) // codigo encontrado { $nombre = $arr_asoc['nombre']; $email = $arr_asoc['email']; $telefono= $arr_asoc['telefono']; } else echo " NUEVO REGISTRO <BR>"; } // FORMULARIO DE ACTUALIZACION echo "<table align='center' border ='1' >"; echo "<TR><TD> CODIGO: </TD>";

28
echo "<TD><INPUT TYPE='TEXT' NAME='codigo' VALUE='$codigo' SIZE=20 MAXLENGTH=20></TD>"; echo "</TR>"; echo "<TR><TD> NOMBRE: </TD>"; echo "<TD> <INPUT TYPE='TEXT' NAME='nombre' VALUE='$nombre' SIZE=30 MAXLENGTH=30> </TD>"; echo "</TR>"; echo "<TR><TD> EMAIL : </TD>"; echo "<TD> <INPUT TYPE='TEXT' NAME='email' VALUE='$email' SIZE=35 MAXLENGTH=35> </TD>"; echo "</TR>"; echo "<TR><TD> TELEFONO: </TD>"; echo "<TD> <INPUT TYPE='TEXT' NAME='telefono' VALUE='$telefono' SIZE=15 MAXLENGTH=15> </TD>"; echo "</TR>"; echo "<TR>"; echo "<TD><input type='submit' name='submit1' value='GUARDAR'></TD>"; echo "<TD><input type='submit' name='submit2' value='ELIMINAR'></TD>"; echo "</TR>"; echo "</table>"; mysql_close($conexion); ?> <a href='editar1.php' target="_self"> EXAMINAR </a> </FORM> <br> <br> <br> </body> </html>

29

<html> <head> </head> <body onLoad="document.miformu2.codigo.focus()"> <!------------- PROGRAMA INICIAL DE PHP ---> <?PHP $nuevo = 0; // VARIABLE BANDERA 0= NUEVO 1= EXISTE $cadena = ""; // CADENA CON EL MENSAJE DE LA OPERACION QUE FUE REALIZADA if ( !isset($codigo) ) // SI NO TIENE VALOR $CODIGO LO INICIALIZA { $codigo = ""; $nuevo = 0; }

// CONECTANDO A LA BASE DE DATOS $conexion =mysql_connect("localhost","root","") or die ("NO SE PUDO CONECTAR "); mysql_select_db("demo1");

// SI LA OPCION ANTERIOR FUE CONSULTAR if ( isset($btconsultar) ) { $consulta = "SELECT * FROM USUARIOS where CODIGO = '$codigo' "; $resultado= mysql_query($consulta , $conexion); $filas = mysql_num_rows($resultado); if ( $arr_asoc = mysql_fetch_array($resultado) ) // codigo encontrado { $nuevo = 1; $nombre = $arr_asoc['nombre']; $email = $arr_asoc['email']; $telefono= $arr_asoc['telefono'];

30
} else { $cadena = " NUEVO REGISTRO : $resultado<BR>"; $nuevo = 0; } } // SI LA OPCION ENVIADA FUE NUEVO if ( isset($btnuevo) ) { $codigo=""; $nuevo = 0; } // SI ESTA VACIO EL CODIGO O NO EXISTE if ( empty($codigo) || $nuevo == 0 ) { $nombre = ""; $email = ""; $telefono = ""; }

// SI LA OPCION ENVIADA FUE GUARDAR if ( isset ($btguardar) ) { $consulta = "SELECT * FROM USUARIOS where CODIGO = '$codigo' "; $resultado= mysql_query($consulta , $conexion); $filas = mysql_num_rows($resultado); if ( $arr_asoc = mysql_fetch_array($resultado) ) // MODIFICANDO EL REGISTRO { $consulta = "UPDATE usuarios "; $consulta .= "set codigo='$codigo' , "; $consulta .= "nombre='$nombre' , "; $consulta .= "email ='$email' , "; $consulta .= "telefono= '$telefono' "; $consulta .= "WHERE codigo = '$codigo'"; $resultado= mysql_query($consulta , $conexion); $cadena = " REGISTRO MODIFICADO : $resultado<BR>"; } else // INCLUYENDO EL REGISTRO { $consulta = "INSERT INTO USUARIOS (codigo,nombre,email,telefono) VALUES ( '$codigo','$nombre','$email','$telefono' )"; $resultado = mysql_query($consulta,$conexion); $cadena = " NUEVO REGISTRO : $resultado<BR>"; } } // SI LA OPCION ENVIADA ES ELIMINAR if ( isset ($bteliminar) ) { $consulta = "DELETE FROM USUARIOS WHERE codigo = '$codigo'"; $resultado= mysql_query($consulta , $conexion);

31
$cadena = " REGISTRO ELIMINADO : $resultado<BR>"; } mysql_close($conexion); ?>

<!------------- PROGRAMA INICIAL DE PHP ---> <FORM NAME='miformu2' METHOD='POST' ACTION='ACT_TABLA.php'> <h1 align="center"> ACTUALIZACION DE USUARIOS </h1> <table align='center' border ='1' bgcolor='#FFFFCC' > <TR><TD> CODIGO: </TD> <TD><INPUT TYPE='TEXT' NAME='codigo' <?php echo "VALUE='$codigo'"; ?> SIZE=20 MAXLENGTH=20></TD> </TR> <TR><TD> NOMBRE: </TD> <TD> <INPUT TYPE='TEXT' NAME='nombre' <?php echo "VALUE='$nombre'"; ?> SIZE=30 MAXLENGTH=30> </TD> </TR> <TR><TD> EMAIL : </TD> <TD> <INPUT TYPE='TEXT' NAME='email' <?php echo "VALUE='$email'"; ?> SIZE=35 MAXLENGTH=35> </TD> </TR> <TR><TD> TELEFONO: </TD> <TD> <INPUT TYPE='TEXT' NAME='telefono' <?php echo "VALUE='$telefono'"; ?> SIZE=15 MAXLENGTH=15> </TD> </TR> <TR> <TD><input type='submit' name='btconsultar' value='CONSULTAR'></TD> <TD><input type='submit' name='btnuevo' value='NUEVO'></TD> <TD><input type='submit' name='btguardar' value='GUARDAR'></TD> <TD><input type='submit' name='bteliminar' value='ELIMINAR'></TD> </TR> </table> <a href='EDI_TABLA.php' target="_self"> EXAMINAR </a> </FORM> <br> <br> <br> <?PHP // MUESTRA EL MENSAJE DEL RESULTADO DE LAS ACCIONES echo " $cadena "; ?> </body> </html>

Potrebbero piacerti anche