CAPÍTULO
4
esarrollo de aplicaciones Este capítulo usted aprenderá a desarrollar aplicaciones que administren bases de datos MySql utilizando el lenguaje PHP y Html. Los principales temas de este capítulo son: • Conectarse al Servidor MySql. • Conectarse a Bases de Datos. • Enviar Consultas al Servidor. • Manejo de Tablas. • Manejo de Registros.
IPHPll
Desarrollo web con PHP ,,__
_
Conectarse al servidor MYSQL mysql_connect Esta función nos permite conectarnos a una base de datos MySql dentro de una aplicación PHP. Su sintaxis es: Variable=mysql_connect('Servidor', 'Usuario', 'Clave'); Variable Es una variable de PHP que va a identificar a la conexión de la base de datos. Esta variable almacena un número positivo si la conexión fue exitosa. Servidor Es el nombre del servidor MySql donde se encuentra la base de datos
a la cual se desea conectar. El nombre del servidor predeterminado es localhost. Usuario Es el nombre del usuario con el cual desea conectarse al servidor de la base de datos MySql. El usuario predeterminado es root. Clave Es la contraseña asignada al usuario con el cual desea conectarse a la base de datos MySql. La siguiente instrucción de ejemplo se conecta al servidor localhost con el usuario root cuya contraseña es: 123 y utiliza como identificador de la conexión la variable $Conexion: $Conexion=mysql_
connect('localhost', 'root',' 123');
Si alguno de los parámetros de conexión es incorrectos, se mostrará en forma automática un mensaje de error.
1
506
11
____
...,,....
_,/
Capitulo 4 Desarrollo de aplicaciones
Ejemplo:
Warning: mysqlconnecn) [fi.mction,mysql-connect]: Access denied for user 'root'@'localhost' (usingpassword; i7ES) in C:\xampp\htdocs\Conexion.php on line 2
Si queremos evitar este mensaje de error podemos escribir el símbolo @ antes del nombre de la función mysql_connect como se muestra en el siguiente ejemplo: $Conexion=@mysql_connect('localhost','root','123'); Para preguntar si la conexión ha tenido éxito utilizamos la instrucción if con el identificador de la conexión: if ($Conexion) Para preguntar si la conexión no ha tenido éxito utilizamos el símbolo ! antes del nombre del identificador. if (!$Conexion) Ejemplo Nº 401 El siguiente programa se conecta al servidor localhost con el usuario root cuya contraseña es: 123 y utiliza la identificador de la conexión la variable $Conexion:Este programa muestra un mensaje indicando si la conexión fue exitosa o no.
n so111
ilPHPil
Desarrollo web con PHP "-~--------------<? $Conexion=@mysql_ Connectt'localhost', 'root' ,' 123'); if ($Conexion)
{ echo "La conexion fue exitosa";
} else
{ echo "la conexion no ha tenido éxito";
} ?>
En la siguiente ventana se muestra el mensaje que la conexión fu exitosa:
mysql_close Esta función se utiliza para cerrar la conexión al servidor MySql. Su sintaxis es: mysql_close(Variable);
11
508
_____________
__,/
Capitulo 4 Desarrollo
de aplicaciones
Variable Es la variable utiliza en la función mysql_connect como identificador de la conexión. Ejemplo Nº 402 Este programa es similar al anterior, se diferencia porque si la conexión tuvo éxito, cierra la conexión utilizando mysql_close. <? $Conexion=@mysql_Connect('localhost' .root' ,'123'); if ($Conexion) { echo "La conexion fue exitosa"; mysq I_close($Conexion); } else { echo "la conexion no ha tenido éxito"; } ?> Si usted no utiliza la función mysql_close, la conexión se cerrá en forma automática cuando se termina de ejecutar la aplicación PHP.
mysql_error() Esta función devuelve la descripción del ultimo error producido en MySql.
mysql_error();
mysql_errno() Esta función devuelve el número del ultimo error producido en MySql.
1
509
I
!IPHP!I
Desarrollo web con PHP '-------------'-'-----mysql_errno();
Ejemplo Nº 403 Este programa es similar al anterior, se diferencia porque si la conexión no tuvo éxito se muestra el número y descripción producido. <'I $Conexion=@mysql_Connect('localhost','root','123'); if ($Conexion) { echo "La conexion fue exitosa"; mysql_close($Conexion); } else
{ echo "la conexion no ha tenido éxito <Br>": echo "Número del error: ".mysql_errno()."<BR>"; echo "Descripción delerror: ".mysql_error();
} ?> En la siguiente ventana de ejemplo se ha producido un error en la conexión al servidor MySql y se muestra el número y descripción del error:
1151011
_____________
_,/
Capitulo 4 Desarrollo de aplicaciones
En la siguiente ventana de ejemplo la conexión al servidor MySql ha tenido éxito.
La conexion fue exitosa
Ejemplo Nº 404 Este programa es similar al anterior, se diferencia porque aquí los parámetros de conexión al servidor se almacen primero en variables: <? $Servidor='localhost'; $Usuario='root'; $Clave='123'; $Conexion=@mysql_Connect($Servidor,$Usuario,$Clav e); if ($Conexion){ echo "La conexion fue exitosa"; mysql_close($Conexion);} else { echo "la conexion no ha tenido éxito <Br>": echo "Número del error: ".mysql_errno()."<BR>"; echo "Descripción del error: ", mysql_ error(); } ?>
1 511 1
UPHPll
Desarrollo web con PHP """"---------------
En la siguiente ventana de ejemplo se muestra un erro que indica el nombre del servidor desconocido:
. la. conexíon no ha. tenido éxito Número del error: 2005 Descripción del error: Unknown ).;fySQL server host 'localhots' (11001)
mysql_list_dbs() Esta función devuelve los nombres de las bases de datos disponibles de la conexión al servidor MySql. Su sintaxis es: Variable1 =mysql_list_dbs(Variable2);
Variable1 Es una variable que almacenara la lista de las base de datos disponibles.
Variable2 Es la variable utiliza en la función mysql_connect como identificador de la conexión. La siguiente instrucción de ejemplo almacena en la variable $dbs la lista de bases de datos disponibles de la conexión representada por la variable $Conexion. $dbs=mysql_list_dbs($Conexion);
u 512 11
------'----------'/
Capitulo 4 Desarrollo de aplicaciones
mysql_fetch_object() Esta funciรณn lee un objeto de una variable que contiene una lista de objetos. Su sintaxis es: Variable1 =mysql_fetch_object(Variable2); Varlable'l Es una variable que almacenarรก el objeto a leer.
Variable2 Es la variable que contiene la lista de objetos leidos de la conexiรณn. Ejemplo: La siguiente instrucciรณn lee un objeto de la variable $dbs y lo almacena en la variable $obj.
r-1--$0-b-j=-m-ys_q_l_-f-e-tc_h o_bj_e_ct-($.._d_b_s_);-----.
Para leer todos los objetos se debe utilizar la instrucciรณn anterior dentro de un bucle. Por ejemplo: while ($obj=mysql_fetch_ object($dbs)) { Instrucciones; }
Para refererir al nombre de una base de datos se utiliza la siguiente sintaxis:
llPHP!I
Desarrollo web con PHP '"""---------------Variable->Database
Variable Es la variable1 utilizada en la funciรณn mysql_fetch_object donde se almacena el objeto leido. Ejemplo: La siguiente instrucciรณn muestra el nombre de una base de datos: echo $obj->Database Ejemplo Nยบ 4048 Este programa muestra las base de datos disponibles en la conexiรณn establecida al servidor MySql.
Bases de datos Disponibles: 1 infonnation schema 2 cdcol 3 empresa 4 mysql 5 phpmyadmin 6 test 7 we b auth
u 514
1
_____________
_,/ Capitulo 4 Desarrollo de aplicaciones
<? echo "Bases de datos Disponibles:<BR>"; $n=O; $Conexion=@mysql_ Connect('localhost', 'root',' 12'3'); if ($Conexion){ .$dbs=mysql_list_dbs($Conexion); whi)e ($obj=mysql_fetch_ object($dbs)) { $n++; echo $n." ".$obj->Database ."<BR>"; } mysql_close($Conexion);} else echo "la conexion no ha tenido éxito <Br>"; ?>
Conectarse a bases de datos mysq L select_d b Esta función se utiliza para indicar la base de datos del servidor MySql con la cual deseamos trabajar en nuestra aplicación. Su sintaxis es: mysql_select_db('Base de Datos',Variable); Base de Datos Es el nombre de la base de datos con la cual deseamos trabajar en nuestra aplicación de PHP. Variable Es la variable utilizada en la función mysql_connect como identificador de la conexión.
l 515
IPHPU
Desarrollo web con PHP " .....·----------------
Si se abre la base de datos correctamente la función mysql_select_db devuelve el valor True de lo contrario devuelve False. Ejemplo, La...siguiente instrucción activa la base de datos llamada Empresa del servidor MySql cuyo identificador de conexión está almacenado en la variable $Conexión. $data=mysql_ select_ db('Empresas', $Conexion); La instrucción anterior utiliza la variable $data para almacenar el resultado · de la conexión a la base de datos. Si la conexión tiene éxito, esta variable almacenará ~I valor True. Ejemplo Nº 405 Este programa se conecta al servidor MySql y activa la base de datos Empresa y muestra un mensaje indicando si la activación de la base de datos tuvo éxito o no. <? $Servidor='localhost'; $Usuario='root'; $Clave='123'; $Conexion=@mysql_ Connect($Servidor, $Usuario ,$Clave); if ($Conexion) { $data=mysql_select_db('Empresa' ,$Conexion); if ($data) echo "la conexión a la base de datos tuvo éxito"; else echo "la conexión a la base de datos no tuvo éxito": mysql_close($Conexion);} else { echo "la conexion no ha tenido éxito <Br>"; echo "Número del error: ".mysql_errno()."<BR>"; echo "Descripción del error: ".mysql_error();} ?>
11 516 !~11 ,J
_____________
___,/ Capitulo 4 Desarrollo de aplicaciones
mysql_list_tables Esta función para leer las tablas de una base de datos. Su sintaxis es: Variable 1 =mysql)st_ tables(' Base de DatÜs', Variable2);
Variable1 Es variable donde se almacenan las tablas de la base de datos.
Base de Datos Es el nombre de la base de datos con la cual deseamos trabajar en nuestra aplicación de PHP.
Variable2 Esta variable es opcional y es la que se utiliza en la función mysql_connect como identificador de la conexión. Ejemplo: La siguiente instrucción almacena en la variable $tbs la lista de tablas de las bases de datos Empresa.
!IPHPll
Desarrollo web con PHP ""'--------------------
!
$tbs = mysql_list_tables('Empresa'); 1
Si la base de datos no tiene tablas u ocurre un error al leerlas, la variable utilizada toma el valor False. Para leer el nombre de cada una de la tablas se debe utilizar la función mysqtjetch row. La función mysql_fetch_row lee el nombre de cada tabla y la almacena en una variable. Su sintaxis es:
Variable1 = mysql_fetch_row(Variable2); Variable1 Es la variable donde desea almacenar el nombre de la tabla que desea leer. Para referirse al nombre de la tabla utilice: Variable1 [O]. Variable2 Es la variable utilizada en la función mysql_list_tables donde almacenó la lista de tablas leidas de la base de datos. Ejemplo: La siguiente instrucción lee y muestra el nombre de una tabla de la variable $tbs que contiene la lista de tablas leidas de una base de datos. El nombre de la tabla se almacena en la variable $nombre. $nombre=· mysql_fetch_row($tbs); echo "La tabla leida es: ".$nombre[O]; Para leer el nombre de todas las tablas se debe utilizar la función mysql_ fetch_row dentro de un bucle. Ejemplo:
1,J~
518
11s
______________
_,/..
Capitulo 4 Desarrollo de aplicaciones
while ($nombre = mysql_fetch_row($tbs))
{ Instrucciones; }
Ejemplo Nº 4058 Este programa se conecta al servidor MySql, activa la base de datos Empresa y muestra el nombre de todas sus tablas.
tablas de la base de datos Empresa: 1 alumnos 2 amigos 3 artículos 4 clientes 5 conceptos 6 détallefacturas 7 detallerecibos 8 personal 9·recibos 10 ventas
l 519 u
IPHPll
Desarrollo web con PHP "'-'----------------
Instrucciones
del documento Ejemplo405B.Php
<? //Almacena en variables Jos valores de conexion $Servidor='localhost'; $Usuario='root'; $Clave=' 123'; //Se conecta al servidor MySql $Conexion=@mysql_ Connect($Servidor, $Usuario, $Clave); //Pregunta si laconexión al servidor se realizó con éxito if ($Conexion) { //Se conecta a la base de datos Empresa $data=mysq l_ select_ db(' Empresa' ,$Conexion); //Pregunta si la conexión a la base de datos se realizó con éxito if ($data) { //Lee las tablas de la base de datos $tbs = mysql_list_tables('Empresa'); //Pregunta si la base de datos empresa no tiene tablas if (!$tbs) echo "La base de datos no tiene tablas"; else { //Muestra las tablas echo "tablas de la base de datos Ernpresa.<Br>"; while ($nombre= mysql_fetch_:row($tbs)) { $n++; echo $n." ".$nombre[O]."<BR>"; }
} mysql_close($Conexion);
}
uái
520 l~~J
----------..,..----__,/
Capitulo 4 Desarrollo de aplicaciones
else echo "la conexión a la base de datos no tuvo éxito";
} else { echo "la conexion no ha tenido éxito <Br>"; echo "Número del error: ".mysql_errno()."<BR>"; echo "Descripción del error: ".mysql_error();}
Enviar consultas al servidor mysql_query Esta función se utiliza para enviar consulta al servidor de base de datos MySql. Su sintaxis es: Variable1 = mysql_query("lnstrucción SQL",Variable2); Variable1 Es la variable que almacena el resultado de la consulta, por ejemplo, si la consulta consiste en la instrucción Select hacia una tabla, en esta variable se almacenarán los registros leidos. Si la consulta no devuelve ningun registro, esta variable toma el valor false. Instrucción SQL Es la instrucción SQL que desea enviarle al servidor de base de datos MySql. Aquí se puede enviar cualquiera de las instrucciones explicadas en el capítulo anterior. Variable2 Es la variable utilizada en la función mysql_connect que identifica a la conexión del servidor donde desea enviar la consulta. Este parámetro es opcional. Si no se especifica, las consultas se envian en forma automática a la conexión que se encuentra activa, esto quiere decir que puede enviar consultas al servidor utilizando tambien la siguiente sintaxis:
11 i
s21 -
i
1
Hs
IPHPU
Desarrollo web con PHP "----------------Variable1 =mysql query("lnstrucción SQL");
Lo que la función mysql_query devuelve depende del tipo de consulta que se envia al servidor, es decir, del tipo de instrucción SQL, por ejemplo: Select, Update, lnsert lnto, etc.
Manejo de tablas La instrucción más utiliza en las consultas que se envían a un servidor de base de datos es Select. Cuando se utiliza la instrucción Select para leer la información de las tablas de una base de datos se pueden utilizar las siguientes funciones: mysq l_fetch _row() mysql_fetch_array()
mysql_fetch_row Esta función permite leer una fila o registro de una consulta Select y la almacena en una variable como una matriz. Si la utilizamos dentro de un bucle, podemos leer todos los registros leido de la consulta. El primer elemento de la matriz donde se almacenan los registros leidos es el O (cero). · Su sintaxis es: Variable1 = mysql_fectch_row(Variable2); Variable1 Es la variable tipo array donde se almacenará los datos del registro leido. El primer campo tiene el indice O (cero). Para acceder al contenido de los campos se utiliza la siguiente sintaxis: Variable1 [Indice]. Variable2
______________
__,,/
Capitulo 4 Desarrollo
de aplicaciones
Es la variable1 utilizada en la función mysql_query, es decir, la variable que almacena el resultado de la consulta realizada al servidor de base de datos. Ejemplo
Nº 406
Este programa utiliza todas las funciones explicadas anteriormente para mostrar los datos del primer registro de la tabla clientes. Si el contenido de la tabla Clientes es:
sql> select ~ from Clientes;
1 1 1 1 1 1 1
--------+----------------+------+------+--------+ Codigo Nombre Edad Sexo Deuda --------+----------------+------+------+~~--~---+ 000001 Jose Castillo 32 M 120.00 1
000002 000003 000004 000005 000006
1
1 1 1 1 1
1
Julio Davi 1 a Ana Castañeda Nancy Vi 1 e 1 a Miguel Torres El ias Portilla
1
1 1 1 1 1
1
20 36 28 24 45.
1
1 1 1 1 1
1
M F F M M
1
1 1 1 1 1
1 1
80.00 1 200.00·I 50. 00 1 100.00 1 60.00 1
--------+----------------+------+------+--------+
6 rows in set (O.OC sec)
El programa de ejemplo mostrará la siguiente información:
Código: 000001 Nombre: Jose Castillo Edad: 32 Sexo: 11 Deuda: 120.00
u 523 11
IPHPll
Desarrollo web con PHP '-"-----------------
Instrucciones
del documento
Ejemplo406.php
<? //Almacena en variables los parámetros de conexión $Servidor='localhost'; $Usuario='root'; $Clave='123'; //Se conecta al servidor MySql $Conéxion=@mysq I_Con nect($Servidor, $Usuario ,$Clave); //Pregunta si la conexión al servidor ha tenido exito if ($Conexion) { //Activa la base de datos con la cual desea trabajar $data=mysql_ select_ db("Empresa", $Conexion); //Pregunta si la activación de la base de datos tuvo éxito if ($data)
{ //Envía la consulta a la base de datos activa $consulta=mysql_query('Select * From clientes'); //Pregunta si el resultado de la consulta tiene registros if ($consulta) { //Lee la primera fila del resultado de la consulta $registro=mysql_fetch_row($consulta); //Muestra los datos de la fila leida utilizando el array echo "Codigo: ".$registro[O]."<BR>"; echo "Nombre: ".$registro[1]."<BR>"; echo "Edad : ".$registro[2]."<BR>"; echo "Sexo : ".$registro[3]."<BR>"; echo "Deuda : ".$registro[4]; } else { echo "No existen registros";
1
524
1
______________
_,/ Capitulo 4 Desarrollo de aplicaciones
} } else { echo "la conexión a la base de datos no tuvo éxito"; } //Cierra la conexión mysql_close($Conexion); } else { echo "la conexion no ha tenido éxito <Br>"; echo "Número del error: ".mysql_errno()."<BR>"; echo "Descripción del error: ".mysql_error(); } Si existe algún error en la conexión o en fa base de datos se mostrará el respectivo mensaje de error:
la conexion no ha tenido éxito Número del error: l 045 Descripción del error: Access denied for nser 'root'@'localhost' (nsing password; '[ES)
· mysql_fetch_a~ray Esta función es muy similar a mysql_fetch_row con la diferencia que los
1
525
llPHPll
Desarrollo web con PHP "----------------registros leidos se pueden manejar no solo con el número de su indice si no tambien con el mismo nombre de sus campo. Su sintaxis es: Variable1 = mysql_fectch_array(Variable2);
Variable1 Es la variable tipo array donde se almacenará los datos del registro leido. Para acceder al contenido de los campos se utiliza cualquiera de las siguientes sintaxis: Variable1 [Indice]. Variable1 ["Campo"].
Variable2 Es la variable1 utilizada en la función mysql_query, es· decir, la variable que almacena el resultado de la consulta realizada al servidor de base de datos. Si usted desea puede indicar la forma cómo se debe hacer referencia a cada uno de los campo, utilizando la siguiente sintaxis. Variable1 = mysql_fectch_array(Variable2,Forma);
Forma Puede ser una de las siguientes constantes: Mysql_Assoc, Mysql_Num o Mysql_Both (predeterminado) que indican referenciar a los campos por su nombre, numero de indice o ambos respectivamente.
Ejemplo Nº 407 Este programa muestra la misma información del programa anterior, pero utilizando la función mysql_fetch_array y tablas, es decir, en este programa se utiliza Html, Php y MySql.
n 526
1
_____________
__,/
Capitulo 4 Desarrollo
de aplicaciones
Instrucciones del documento Ejemplo407.php <? //Almacena en variables los parámetros de conexión $Servidor='localhost'; $Usuario='root'; $Clave='123'; //Se conecta al servidor MySql $Conexion=@mysq I_ Con nect($Servidor, $U sua río, $Clave); //Pregunta si la conexión al servidor ha tenido exito if ($Conexion)
{ //Activa la base de datos con la cual desea trabajar $data=mysql_select_db("Empresa",$Conexion); //Pregunta si la activación de la base de datos tuvo éxito
t s21 H
lU11PHPl1 ,f
Desarrollo web con PHP
°".'--~~~~~~~~~~~~~~-
if ($data)
{ //Envia la consulta a la base de datos activa $consulta=mysql_query('Select * From clientes'); //Pregunta si el resultado de la consulta tiene registros if ($consulta) { //Lee la primera fila del resultado de la consulta $registro=mysql_fetch_array($consulta); //Inserta codigo HTML ?> <html> <header> <title> HTML, PHP y MYSQL </title> </header> <body> <center> <table border="5" width="300"> <tr> <th colspan="2"> Consulta de Clientes <tr> <td> Codigo <td> <?=$registro["Codigo"]?> <tr> <td> Nombre <td> <?=$registro["Nombre"]?> <tr> <td> Edad <td> <?=$registro["Edad"]?> <tr> <td> Sexo <td> ¡ <?=$registro["Sexo"J?>
1
528
11
---------------J/
Capitulo 4 Desarrollo de aplicaciones
<tr> <td> Deuda <td> <?=$registro["DeJJda"]?> </table> </center> </body> </html> <?
} else { echo "No existen registros";
} } else { echo "la conexión a la base de datos no tuvo éxito"; } //Cierra la conexión mysql_close($Conexion); } else { echo "la conexion no ha tenido éxito <Br>"; echo "Número del error: ".mysql_errno()."<BR>"; echo "Descripción del error: ".mysql_error(); } ?> Ejemplo Nº 408 Este programa utiliza codigo Html, Php y el servidor MySql para consultar los datos de cualquier cliente por su código.
11
529 lj
IPHP!J
Desarrollo web con PHP "------------------
Consulta de Clientes Codigo a Con..."11.!tar@.Qo_oo_3
[ Cons~I!~(]
cancelar
Instruccionesdel documento Ejemplo408.php <Html> <Head>
1153011
_,
_____________
___,/
Capitulo 4 Desarrollo de aplicaciones
<Title> Formularios
HTML con PHP y MySql
</Title> </Head> <Body> <Center> <Form Action="BuscarCliente.Php"
Method="Get">
<Table> <Tr> <Th Colspan=2>
Consulta de Clientes
<Tr> <Td> Codigo a Consultar <Td> <Input Type="Text"
Name="codigo">
<Tr Align="Center"> <Td> <Input Type="SubMit" <Td> <Input Type="Reset"
Value="Consultar"> Value="Cancelar">
</Td> </Td>
</Tr> </Table> </Form> </Center> </Body> </Html>
Instrucciones del documento BuscarCliente.php <? //Almacena en variable el codigo enviado $Codigo=$ _ GET['codigo']; //Almacena en variables los parรกmetros de conexiรณn $Servidor='localhost'; $Usuario='root'; $Clave='123'; //Se conecta al servidor MySql $Conexion =@mysql_ Connect($Servidor, $Usuario ,$Clave);
1
531
11
IPHP[I
Desarrollo web con PHP "------------------//Pregunta si la conexión al servidor ha tenido exito if ($Conexion)
{ //Activa la base de datos con la cual desea trabajar $data=mysql_select_db("Empresa",$Conexion); //Pregunta si la activación de la base de datos tuvo éxito if ($data) { //Envía la consulta a la base de datos activa $consulta=mysql_query("Select * From clientes Where Codigo="'.$Codigo.""'); //Pregunta si el resultado de la consulta tiene registros if ($consulta) { //Lee la primera fila del resultado de la consulta $registro=mysql_fetch_row($consulta); //Cierra la conexión porque los datos ya estan en la variable mysq l_close($Conexion); //Pregunta sin el registro existe if ($registro) { //Inserta codigo HTML ?> <html> <header> <title> HTML, PHP y MYSQL </title> </header> <body> <center> <table border="5" width="300"> <tr> <th colspan="2"> Consulta de Clientes <tr>
1
532
1
---------------.J/
Capitulo 4 Desarrollo de aplicaciones
<td> Codigo <td> <?=$registro[O]?> <tr> <td> Nombre <td> <?=$registro[1 ]?> <tr> <td> Edad <td> <?=$registro[2]?> <tr> <td> Sexo <td> <?=$registro[3]?> <tr> <td> Deuda <td> <?=$registro[4]?> </table> </center> </body> </html> <? } echo "El Cliente con el codigo: ".$Codigo." No existe"; } else echo "No existen registros";
} else echo "la conexión a la base de· datos no tuvo éxito";
} else { echo "la conexion no ha tenido éxito <Br>"; echo "Número del error: ".mysql_errno()."<BR>";
!IPHPll
Desarrollo web con PHP ""-'------------------echo "Descripciรณn del error: ".mysql_error(); } ?> <BR> <Center> <A HREF="p408.php"> Regresar </A> </Center>
Si el usuario ingresa el codigo de un cliente que no existe, se muestra el mensaje respectivo:
mysql_num_rows Esta funciรณn devuelve la cantidad de filas o registros que tiene el resultado de una consulta a una base de datos. Su sintaxis es:
1 Variable1 :: mysql_num_rows(Variable2);
1
Variab!e1 Es la variable donde desea almacenar la cantidad de filas del resultado de la consulta.
1153411
______________
__,,/
Capitulo 4 Desarrollo de aplicaciones
Variable2 Es la variable1 utilizada en la función mysql_query, es decir, la variable que almacena el resultado de la consulta. Ejemplo: La siguiente instrucción almacena en la variable $num la cantidad de filas del resultado de la consulta realizada a la base de datos y que está almacenada en la variable $consulta. $num=mysql_num_rows($consulta); El siguiente programa de ejemplo utiliza la siguiente tabla Amigos: Codigo
: Nol!lb1•e
: Edad
--------+----------------+-----001 Juan Jose 13 002 003 004 00S 006 00? 003 009 010
Ana Maria Ma1•ia Jose Jose Ma1•ia Carl!len Luz Jos e Migue 1 Car-Lo s Usualdo Osear Daniel LsLdor-a t1a1•ia Luisa
20 11 23 46 S? 49 SS 1 3S
Ejemplo Nº 4088 Este programa se conecta al servidor MySql y a la base de datos Empresa y muestra la cantidad de registros de la tabla Amigos.
1 535 1
IPHPll
Desarrollo web con PHP '-"----------------
Instrucciones
del documento Ejemplo408B.Php
<? //Almacena en variables los parámetros de conexión · $Servidor='localhost'; $Usuario='root'; $Clave='123'; //Se conecta al servidor MySql $Conexion=@mysql_Connect($Servidor,$Usuario,$Clave); //Pregunta si la conexión al servidor ha tenido exito if ($Conexion) { //Activa la base de datos con la cual desea trabajar $data=mysql_select_db("Empresa",$Conexion); //Pregunta si la activación de la base de datos tuvo éxito if ($data) { //Envia la consulta a la base de datos activa $consulta=mysql_query('Select * From amigos'); //Pregunta si el resultado de la c::,onsulta tiene registros if ($consulta)
{ //Lee la cantidad de registros $num=mysql_num_rows($consulta); //Muestra la cantidad de registros echo "La tabla Amigos tiene:".$num." registros"; } else echo "No existen registros"; } else echo "la conexión a la base de datos no tuvo éxito";
1
536
·
_____________
__,/
Capitulo 4 Desarrollo de aplicaciones
//Cierra la conexión mysql_ close($Conexion ); } else
{ echo "la conexion no ha tenido éxito <Br>"; echo "Número del error: ".mysql_errno()."<BR>"; echo "Descripción del error: ".mysql_error();
} ?>
mysql_num_fields Esta función devuelve Ja cantidad de campos que tiene el resultado de una consulta a una base de datos. Su sintaxis es: Variable1
= mysql_num_fields(Variable2);
Variable1 Es la variable donde desea almacenar la cantidad de campos del resultado de la consulta. Variable2 Es la variable que almacena el resultado de la consulta.
mysql_field_name Esta función devuelve el nombre de un campo del resultado de una consulta. Su sintaxis es: Variable1 = mysql_num_fields(Variable2,lndice);
-s.
--\-
jii 537 p 1i 1!
IPHPll
Desarrollo web con PHP "- .....
_
Variable1 Es la variable donde desea almacenar la cantidad de campos del resultado de la consulta. Variable2 Es la variable que almacena el resultado de la consulta. Indice Es el indice del campo del cual desea leer su nombre. El primer campo tiene el indice O (cero). · Ejemplo: Las siguientes instrucciones lee y muestran la cantidad de campos de una consulta y el nombre del primer y ultimo campo de la consulta: //Lee la cantidad de campos de la consulta $num=mysql_num_fields($consulta); echo "La consulta tiene ".$num." campos<BR>"; //Lee el nombre del primer campo $a=mysql_field_name($consulta,O); //Lee el nombe del último campo $b=mysql_:_field_name($consulta,$num - 1 ); //Mu'estra el nombre de los campos echo "El primer campo es: ".$a."<BR>"; echo "El íltimo campo es: ".$b; Ademas de la función mysql_field_name se pueden utilizar las siguientes funciones.
mysql_field_type Esta función devuelve el tipo de un campo del resultado de una consulta.
mysql_field_len Esta función devuelve la longitud de un campo del resultado de una consulta.
1i 1 538
¡¡
1
--------""----,.--..,.-----'/
Capitulo 4 Desarrollo de aplicaciones
mysql_field_flags Esta función devuelve los atributos que indican si el campo es clave primaria y si acepta valores nulos. Las funciones anteriores se pueden utilizar con la misma sintaxis de la función mysql_field_name. Ejemplo Nº 408C Este programa se conecta al servidor MySql y a la base de datos Empresa y muestra la estructura de la tabla Amigos utilizando las funciones anteriores.
Campos dela tabla Amigos Codigó string 3 not_null primary_key Nombre string 50 Edad int4
En la siguiente ventana se muestra la estructura de la tabla utilizando el comando Describe.
ysql)
describe
am~gos;
+--------+-------------+------+-----+---------+-------+ : Field : Type : Hllll : I<ey : DeEau Lt; : Extra : +--------+-------------+------+-----+---------+-------+ : Codigo :
Hombr-e
: Edad
l char(3) : va1•cl1a1•(50) 1 tinyint<4>
: HO : 'lES : 'lES
: PRI
: : HULL : NULL
: : :
+--------+-------------+------+-----+---------+-------+ r-ows in set (0.0? sec)
: ,
j§§J 539
~!
~$
IPHPll
Desarrollo web con PHP "'-...._
Instrucciones
del Documento Ejemplo408C.Php
<? //Almacena en variables los parámetros de conexión . $Servidor='localhost'; $Usuario='root'; $Clave='123'; //Se conecta al servidor MySql $Conexion=@mysq I_Connect($Servidor, $Usuario, $Clave); //Pregunta si la conexión al servidor ha tenido exito if ($Conexion) { //Activa la base de datos con la cual desea trabajar $data=mysql_ select_ db("Empresa" ,$Conexion); //Pregunta si la activación de la base de datos tuvo éxito if ($data) { //Envía la consulta a la base de datos activa $consulta=mysql_query('Select * From amigos'); //Pregunta si el resultado de la consulta tiene registros if ($consulta)
{
.
//Lee la cantidad de campos de la consulta $num=mysql_num_fields($consulta); //Muestra los campos de la tabla Amigos echo "Campos de la tabla Amigos<BR>"; for($i=O;$i<$num;$i++) { //Lee el nombre del campo $campo=mysql_field_name($consulta, $i) ; //Lee el tipo del campo $tipo=mysql_field_type($consulta, $i) ; //Lee la longitud del campo $1ong=mysql_field_len($consulta, $i) ; //Lee los ultimos atributos del campo
u 54011
_
______________
__,/
Capítulo 4 Desarrollo de aplicaciones
$ultimo=mysql_field_flags($consulta, $i) ; //Muestra los datos del campo echo $campo." ".$tipo." ".$long." ".$ultimo."<BR>"; } } else echo "No existen registros";
} else echo "la conexión a la base de datos no tuvo éxito"; //Cierra la conexión mysql_ close($Conexion); Í'
} else
{ echo "la conexion no ha tenido éxito <Br>"; echo "Número del error: ".mysql_errno()."<BR>"; echo "Descripción del error: ".mysql_error(); }
}
anejo de registros nysql>
select
* from Clientes;
--------+----------------+------+------+--------+ 1 Codigo 1 Nombre 1 Edad 1 Sexo 1 Deuda 1 --------+-------~--------+------+------+--------+ 1 000001 1 Jose Castillo 1 32 1 M 1 120.00 1 1 1 1 1 1
000002 000003 000004 000005 000006
1 Julio Davila 1 Ana Castañeda 1 Nancy Vilela 1 Miguel Torres 1 Elias Portilla
1 1 1 1 1
20 36 28 24 45
1 M 1 F 1 F 1 M 1 M
1 1 1 1 1
80.00 200.00 50.00 100.00 60;00
--------+-----~----------+------+-----~+--------+ set (0.00 sec)
1 1 1 1 1
6 rows in rysql > _
H 541 H!i H
llPHP!I
Desarrollo web con PHP "'-....
_
Como ya se explicó, cada vez que se ejecuta la función mysql_fetch_row se lee una fila del resultado de la consulta a la base de datos cuyo resultado se almacena en una variable como un array de valores, teniendo el primero valor o campo el indice O (cero). Cuando se terminan de leer las filas del resultado de la consulta, es decir, cuando ya no hay mas registros, la variable toma el valor False. Con la característica de la variable utilizada en la función mysql_fetch_row podemos crear un bucle, mientras su valor sea verdadero como se muestra en la siguiente sintaxis:
While (Variable1 =mysql_fetch_row(Variable2)) { Instrucciones; } Variable1 y Variable2 son las explicadas en la sintaxis de la función mysql_fetch_row. Ejemplo Nº 409 Este programa muestra todos los registros de la tabla clientes. Si el contenido de la tabla Clientes es:
sql> select
* from Clientes;
_
--------+----------------+------+------+-----~~-+ 1 Codi go 1 Nombre 1 Edad 1 Sexo 1 Deuda. --------+----------------+------+------+------~-+ 000001 Jose Castillo 32 M 120.00 1
1
1
1 000002 1 Julio Davi 1 a 1 1 000003 1 Ana Castañeda 1 1 000004 1 Nancy Vilela 1 1 000005 1 Miguel Torres 1 1 000006 1 Elias Portilla 1
1
20 1 M 36 1 F 28 1 F 24 1 M 45 1 M
1
1
u 542 u
1
80 .• 00 1 1 200.00 1 1 50.00 1 1 100.00 1 1 60.00 1
--------+----------------+------+------+--------+
6 rows in set (0.00 sec)
}
_____________
_,,/
Capitulo 4 Desarrollo de aplicaciones
El programa de ejemplo mostrará la siguiente información:
000002 Julio Davila 20 lvI 80.00 000003 Ana Castaoeda 36 F 200.00 000004 Nancy Vilela 28 F 50.00 000005 Miguel Torres 24 M 100.00 000006 Ellas Portilla45 :\.-f 60.00
Instrucciones del documento Ejemplo409.php <? //Almacena en variables los parámetros de conexión $Servidor='loca·lhost'; $Usuario='root'; $Clave='123'; //Se conecta al servidor MySql $Conexion=@mysq I_Con nect($Servidor,$U suario, $Clave); //Pregunta si la conexión al servidor ha tenido exito if ($Conexion)
{ //Activa la base de datos con la cual desea trabajar $data=mysql_select_db("Empresa",$Conexion); //Pregunta si la activación de la base de datos tuvo éxito if ($data)
{ //Envia la consulta a la base de datos activa $consulta=mysql_query('Select * From clientes');
h 543 H" q
liPHP!I
Desarrollo web con PHP '-----------------//Pregunta si el resultado de la consulta ti,efie registros. if ($consulta) { //Crea un bucle para leer y mostrar todos los registros de la tabla. While ($registro=mysql_fetch_row($consulta)) { //Muestra los datos de cada filaJeida utilizando el array ~;;.~"r,, echo $registro[O]." "; > · echo $registro[1]." ": echo $registro[2]." "; echo $registro[3]." "; echo $registro[4]."<BR>";
} } else
{ .echo "No existen registros"; } } else { echo "la conexión a la base de datos no tuvo éxito"; } //Cierra la conexión mysql_close($Conexion); } else { echo "la conexion no ha tenido éxito <Br>"; echo "Número del error: ".mysql_errno()."<BR>"; echo "Descripción del error: ".mysql_error();
11
544
11
-------------~/
Capítulo 4 Desarrollo de aplicaciones
Ejemplo Nº 410 Este programa muestra la misma información anterior pero utilizando tablas:
Instrucciones del documento Ejemplo410.php
<? //Almacena en variables los parámetros de conexión $Servidor='localhost'; $Usuario='root'; $Clave='123'; //Se conecta al servidor MySql $Conexion =@mysq I_ Connect($Servidor, $Usuario ,$Clave); //Pregunta si la conexión al servidor ha tenido exito if ($Conexion) {
545
!IPHP!I
Desarrollo web con PHP '\...._
_
//Activa la base de datos con la cual desea trabajar $data=mysql_select_db("Empresa" ,$Conexion); //Pregunta si la activaciĂłn de la base de datos tuvo ĂŠxito if ($data) { //Envia la consulta a la base de datos activa $cohsulta=mysql_query('Select * From clientes'); //Pregunta si el resultado de la consulta tiene registros if ($consulta) { //Inicia el codigo HTML para crear las tablas ?> <html> <header> <title> HTML, PHP y MYSQL </title> </header> <body> <center> <table border="5" width="400"> <Tr> <Th Colspan=5> Listado de Clientes <Tr Align='.'Center"> <Td> Codigo <Td> Nombre <Td> Edad <Td> Sexo <Td> Deuda <? //Crea un bucle para leer y mostrar todos los registros de la tabla vVhile ($registro=mysql_fetch_row($consulta))
{ //Muestra los datos de cada fila leida utilizando el array ?>
u 546 il
---------..,.------___,/
Capitulo 4 Desarrollo
de aplicaciones
<Tr> <T d Align="Center''><?=$reg
istro[O]?>
. <Td><?=$registro[1]?> <T d Alig n="Center"><?=$registro[2]?> <T d Align="Center"><?=$reg <Td Width="80"
istro[3]?>
Align="Right"><?=$registro[4];
} //Cierra la conexión mysql_close($Conexion); ?> </table> </center> </body> </html> <? } else echo "No existen registros"; } else echo "la conexión
a la base de datos no tuvo éxito";
} else
{ echo "la conexion no ha tenido éxito <Br>": · echo "Número del error: ".rnysql_errno()."<BR>"; echo "Descripción del error: ".mysql_error(); Ejemplo Nº 4108 Este programa permite mostrar los datos de la tabla Amigos ordenados por su nombre utilizando tablas y mostrando las filas numeradas y las pares · con un color diferente.
1
547
I
!IPHPll
Desarrollo web con PHP '""'----------------
La estructura de la tablas es la siguiente:
sql> Describe
Amigos;
--------+-------------+------+-----+---------+-------+ 1 Type 1 Null 1 Key 1 Defaul t 1 Extra 1 --------+-------------+------+-----+---------+-------+
1 Fi e 1 d
1 Codi go 1, char(3) . 1 NO 1 Nombre 1 varchar (50) 1 YES 1 Edad
1 tinyint(4)
1 YES
1 PRI 1 1 1 NULL 1
1 NULL
1 1 1
1 1 1
--------+-------------+------+-----+---------+-------+
3 rows in set
11
548
1
(0.03 sec)
_____________
_,/
Capitulo 4 Desarrollo de aplicaciones
Instrucciones del documento Ejemplo4108.Php <? //Almacena en variables los parámetros de conexión $Servidor='localhost'; $Usuario='root'; $Clave='123'; //Se conecta al servidor MySql $Conexion =@mysq I_Connect($Servidor, $Usuario, $Clave); //Pregunta si la conexión al servidor ha tenido exito if ($Conexion)
{ //Activa la base de datos con la cual desea trabajar $data=mysql_select_db("Empresa",$Conexion); //Pregunta si la activación de la base de datos tuvo éxito if ($data) { //Envia la consulta a la base de datos activa $consulta=mysql_query('Select Codigo,Nombre,Edad From Amigos Order By Nombre'); //Pregunta si el resultado de la consulta tiene registros if ($consulta) { //Inicia el codigo HTML para crear las tablas ?> <html> <header> <title> HTML, PHP y MYSQL </title> </header> <body> <center> <table border="5" width="300"> <Tr>
. n 549 u
IPHPll
Desarrollo web con PHP "'-..._
_
<Th Colspan=5> Listado de Amigos <Tr Align="Center"> <Td> Nยบ <Td> Codigo <Td> Nombre <Td> Edad <? //Crea un bucle para leer y mostrar todos los registros de fa tabla $n=O; Whife ($registro=mysqf_fetch_row($consulta)) { //Muestra los datos de cada fila leida utilizando el array $n++; //Pregunta si la fila es par lf ($n % 2 == O) { ?> <Tr BGCOLOR="Silver"> } else { ?> <Tr BGCOLOR="White"> <?
} ?> <Td Align="Centcr''><?=$n?> <T d Align ="Center''><?=$reg istro[O]?> <T d><?=$registro[1 ]?> <Td Align="Center"><?=$registro[2]; } //Cierra fa conexiรณn mysql_close($Conexion); ?>
11
550
1
---------------.J/
Capitulo 4 Desarrollo de aplicaciones
</table> </center> </body> </html> <? } else echo "No existen registros"; } else echo "la conexión a la base de datos no tuvo éxito"; } else { echo "la conexion no ha tenido éxito <Br>"; echo "Número delerror: ".mysql_errno()."<BR>"; echo "Descripción del error: '\mysql_error();
} Ejemplo Nº 411 Este programa permite ingresar las letras F o M y muestra los clientes de sexo Femenino o Masculino.
Listado de Clientes Sexo a Listar [Fi}.'f] [ UstarClientes ,
¡l
'---;=:==:==:=;-~-.J Cancelar.
11 ss1 H
IPHPll
Desarrollo web con PHP "'-----------------
Instruccionesdel documentoEjemplo411.php <Html> <Head> <Title> Formularios HTML con PHP y MySql </Title> </Head> <Body> <Center> <Form Action="ListaClientesPorSexo.Php" Method="Get"> <Table> <Tr> <Th Colspan=2> Listado de Clientes <Tr> <Td> Sexo a Listar [F/M] <Td> <Input Type="Text" Name="Sexo"> <Tr Align="Center"> <Td> <Input Type="SubMit" Value="Listar Clientes"> </Td> <Td> <Input Type="Reset" Value="Cancelar"> </Td>
1155211
-------'--------~/
Capitulo 4 Desarrollo de aplicaciones
</Tr> </Table> </Form> </Center> </Body> </Html>
Instrucciones del documento ListaClientesPorSexo.Php <? //Almacena en variable el codigo enviado $Sexo=$ _GET['Sexo']; if ($Sexo=='M') $NomSexo="Masculino"; Else $NomSexo="Femenino"; //Almacena en variables los parámetros de conexión $Servidor='localhost'; $Usuario='root'; $Clave='123'; //Se conecta al servidor MySql $Conexion=@mysql_ Connect($Servidor, $Usuario, $Clave); //Pregunta si la conexión al servidor ha tenido exito if ($Conexion) { //Activa la base de datos con la cual desea trabajar $data=mysql_ select_ db("Empresa", $Conexion); //Pregunta si la activación de la base de datos tuvo éxito if ($data) { //Envia la consulta a la base de datos activa $consulta=mysql_query("Select * From clientes Where Sexo="'.$Sexo.""'); //Pregunta si el resultado de la consulta tiene registros if ($consulta) { //Inicia el codigo HTML para crear las tablas
1 553 ll
JIPHPll
Desarrollo web con PHP '----------------?> <html> <header> <title> HTML, PHP y MYSQL </title> </header> <body> <center> <table border="5" width="400"> <Tr>. <Th Colspan=5> Listado de Clientes de Sexo <?=$NomSexo?> <Tr Align="Center"> <Td> Codigo <Td> Nombre <Td> Edad <Td> Sexo <Td> Deuda <? //Crea un bucle para leer y mostrar todos los registros de la tabla While ($registro=mysql_fetch_row($consulta)) { //Muestra los datos de cada fila leida utilizando el array ?> <Tr> <Td Align="Center"><?=$registro[O]?> <T d><?=$registro[1 ]?> <T d Alig n="Center"><?=$registro[2]?> <Td Align="Center"><?=$registro[3]?> <Td Width="80" Align="Right"><?=$registro[4]; } //Cierra la conexiรณn mysql_ close($Conexion); ?> </table> </center> </body>
1155411
______________
_,/
Capitulo 4 De~51rrollo de aplicaciones
</html> } else echo "No existen registros"; } else echo "la conexión a la base de datos no tuvo éxito"; } else{ echo "la conexion no ha tenido éxito <Br>"; echo "Número del error: ".mysql_errno()."<BR>"; echo "Descripción del error: ".mysql_error();} Ejemplo Nº 412 Este programa permite mostrar los clientes cuya deuda se encuentra en un rango determinado. El usuariotambien puede elegir si desea mostrar sólo los clientes de sexo Masculino, Femenino o Todos.
Listado ele Clientes Deuda Inicial Deuda Final
f
0
Sexo Masculino O Femenino O Todos
Listar Glie11tes • ••.
,¡
1 Cancelar
IPHPll
Desarrollo web con PHP
°"~---------------
En la siguiente ventana de ejemplo se ha indicado mostrar los clientes que deben entre 100 y 200 de ambos sexos:
Listado de Clientes Deuda Inicial Deuda Final
l~-------·----·----J j200 Sexo
O Masculino O Femenino ® Todos
!l!
1
'1
556 1 ~
j
______________
_,/
CapÃtulo 4 Desarrollo
de aplicaciones
Instrucciones del documento Ejemplo412.php <Html> <Head> <Title> Formularios HTML con PHP y MySql </Title> </Head> <Body> <Center> <Forrn Action="ListaClientesPorSexoyDeuda.Php" Method="Get"> <Table> <Tr> <Th Colspan=2> Listado de Clientes <Tr> <Td> Deuda Inicial <Td> <Input Type="Text" Name="Deuda1 "> <Tr> <Td> Deuda Final <Td> <Input Type="Text" Name="Deuda2"> <Tr>
l 557
llPHP!!
Desarrollo web con PHP "'----------------<Td Align="Center" Co1Span=2> Sexo <Tr> <Td Align="Center" Co1Span=3> <Input Type="Radio" Name="Sexo" Value="M"> Masculino <Input Type="Radio" Name="Sexo" Value="F"> Femenino <Input Type="Radio" Name="Sexo" Value="T"> Todos <Tr Align="Center''> · <Td> <Input Type="SubMit" Value="Listar Clientes"> <ffd> <Td> <Input Type="Reset" Value="Cancelar"> <ffd> <fTr> <ffable> </Form> </Center> </Body> </Html>
Instrucciones del documento ListaClientesPorSexoYDeuda.php <? //Almacena en variables los valores ingresados $Deuda1=$_GET['Deuda1']; $Deuda2=$_ GET['Deuda2']; $Sexo=$_GET['Sexo']; if ($Sexo=='M') $NómSexo="Masculino"; Elseif ($Sexo=='M') $NomSexo="F emenino"; Else $NomSexo="Todos"; //Almacena en variables los parámetros de conexión $Servidor='localhost'; $Usuario='root'; $Clave='123'; //Se conecta al servidor MySql $Conexion=@mysq I_Connect($Servidor, $Usuario, $Clave); //Pregunta si la conexión al servidor ha tenido exito
1155811
_____________
_,/
Capitulo 4 Desarrollo de aplicaciones
if ($Conexion) { //Activa la base de datos con la cual desea trabajar $data=mysql_ select_ db("Empresa", $Conexion); //Pregunta si la activación de la base de datos tuvo éxito if ($data) { //Envia la consulta a la base de datos activa if ($Sexo=='T') $consulta=mysql_query("Select * From clientes Where Deuda>=".$Deuda1 ." And Deuda<=".$Deuda2); else $consulta=mysql_query("Select * From clientes Where Deuda>=".$Deuda1 ." And Deuda<=".$Deuda2." And Sexo="'. $Sexo.""'); //Pregunta si el resultado de la consulta tiene registros if ($consulta) { //Inicia el codigo HTML para crear las tablas ?> <html> <header> <title> HTML, PHP y MYSQL </title> </header> <body> <center> <table border="S" width="400"> <Tr> <Th Colspan=S> Listado de Clientes de Sexo <?=$NomSexo?> <Tr Align="Center"> <Td> Codigo <Td> Nombre <Td> Edad <Td> Sexo <Td> Deuda
~'~1 559
1¡
¡
e
IPHPll
Desarrollo web con PHP "'----------------<? //Crea un bucle para leer y mostrar todos los registros de la tabla While·($registro=mysql_fetch_row($consulta)) { //Muestra los datos de cada fila leida utilizando el array ?> <Tr> <Td Align="Center''><?=$registro[O]?> <T d><?=$registro[1 ]?> <Td Align="Center"><?=$registro[2]?> <T d Align="Center"><?=$reg istro[3]?> <Td Width="80" Align="R_ight"><?=$registro[4]; } //Cierra la conexión mysql_ close($Conexion); ?> </table> </center> </body> </html> <? } else echo "No existen registros"; } else echo "la conexión a la base de datos no tuvo éxito"; } else { echo "la conexion no ha tenido éxito <Br>": echo "Número del error: ".mysql_errno(}."<BR>"; echo "Descripción del error: ".mysql_error();} ?>
11
560
11
_______________
__,/
Capitulo 4 Desarrollo de aplicaciones
En la siguiente ventana de ejemplo se ha indicado mostrar los clientes que deben entre 50 y 200 de sexo femenino.
Ejemplo Nº 413 Este programa permite ingresar el codigo de un cliente, mostrar sus datos y actualizarlos.
Actualización de Clientes Codigo del Cliente
'---···-::::=:====~--··-' 1 Cancelar
J
Después de ingresar el codigo del cliente y hacer clic en Actualizar los datos se muestran para poder actualizar.· El codigo se muestra de solo lectura para que no se pueda actualizar.
llPHPll
Desarrollo web con PHP "-..__
_
Código 1{}(}0006
:========~
Nombre ~Portilla
Edad Sexo
Deuda
!Js
:========~ l~~_
_¡
@~Q~~o~~=~===-~===l
Si el codigo del cliente no existe se muestra el siguiente mensaje:
Al hacer clic en el botón Guardar, los datos se actualizan y muestran el mensaje respectivo:
11562
¡¡
______________
_,/
Capitulo 4 Desarrollo de aplicaciones
Este programa esta compuesto por tres documentos Php: P413.Php, MostrarCliente.Php y ActualizarGliente.Php.
Instrucciones del documento Ejemplo413.php <Html> <Head> <Title> Formularios HTML con PHP y MySql </Title> </Head> <Body> <Center> <Form Action="MostrarCliente.Php" Method="Get"> <Table> <Tr> <Th Colspan=2> Actualización de Clientes <Tr> <Td> Codigo del Cliente <Td> <Input Type="Text" Name="codigo"> <Tr Alígn="Center">
!~11 563 iiH
!IPHP!I
Desarrollo web con PHP '-..._ <Td> <Input Type="SubMit" Value="Actualizar"> <Td> <Input Type="Reset" Value="Cancelar"> </Tr> </Table> </Form> </Center> </Body> </Html>
Instrucciones del documento MostrarCliente.php <? //Almacena en variable el codigo enviado $Codigo=$ _ GET['codigo']; //Almacena en variables los parámetros de conexión $Servidor='localhost'; $Usuario='root'; $Clave='123'; //Se conecta al servidor MySql $Conexion=@mysql_ Connect($Servidor, $Usuario ,$Clave); //Pregunta si la conexión al servidor ha tenido exito if ($Conexion)
{ //Activa la base de datos con la cual desea trabajar $data=mysql_ select_ db("Empresa" ,$Conexion); //Pregunta si la activación de la base de datos tuvo éxito if ($data) { //Envia la consulta a la base de datos activa $consulta=mysql_query("Select * From clientes Where Codigo="'.$Codigo.""'); //Pregunta si el resultado de la consulta tiene registros if ($consulta)
{ //Lee la primera fila del resultado de la consulta
í~11 564 111 !
_
_____________
_,/
Capitulo 4 Desarrollo de aplicaciones
$registro=mysql_fetch_array($consulta,MYSQL_ASSOC); //Cierra la conexiรณn porque los datos ya estan en la variable mysql_close($Conexion); //Pregunta sin el registro existe if ($registro) { //Inserta codigo HTML ?> <html> <header> <title> HTML, PHP y MYSQL </title> </header> <body> <center> <Form Action="ActualizarCliente.Php" Method="Post"> <table> <tr> <th colspan="2"> Actualizar Clientes <tr> <td> Codigo <td> <Input Type="Text" Name="Codigo" Value="<?=$registro["Codigo"]?>" ReadOnly> <tr> <td> Nombre <td> <Input Type="Text" Name="Nombre" Value="<?=$registro["Nombre"]?>"> <tr> <td> Edad <td> <Input Type="Text" Name="Edad" Value="<?=$registro["Edad"]?>"> <tr> <td> Sexo <td> <Input Type='Text" Name="Sexo"
IPHPll
Desarrollo web con PHP "'-"'----------------Value="<?=$registro["Sexo"]?>"> <tr> <td> Deuda <td> <Input Type="Text" Name="Deuda" Value="<?=$registro["Deuda"]?>"> <tr Align="Center"> <td Colspan=2> <Input Type="SubMit" Value="Guardar"> <Input Type="Reset" Value="Cancelar"> </table> </form> </center> </body> </html> <? } Else. echo "El Cliente con el codigo: ".$Codigo." No existe"; } else echo"No existen registros"; } else echo "la conexión a la base de datos no tuvo éxito"; } else { echo "la conexion no ha tenido éxito <Br>"; echo "Número del error: ".mysql_errno()."<BR>"; echo "Descripción del error: ".mysql_error();} ?> <BR> <Center> <A HREF="p413.php"> Regresar </A> </Center>
1
566
11
_____________
___,/
Capítulo 4 Desarrollo de aplicaéiones
Instrucciones del documento ActualizarCliente.php <? //Almacena en variables los datos enviados $Codigo=$ _POST[' Codigo']; $Nombre=$ _POST['Nombre']; $Edad=$ _POST['Edad']; $Sexo=$ _POST[' Sexo']; $Deuda=$ _POST['Deuda']; //Almacena en variables los parámetros de conexión $Servidor='localhost'; $Usuario='root'; $Clave='123'; //Se conecta al servidor MySql $Conexion=@mysq I_ Con nect($Servidor, $Usuario, $Clave); //Pregunta si la conexión al servidor ha tenido exito if ($Conexion)
{
//Activa la base de datos con la cual desea trabajar $data=mysql_select_db("Empresa",$Conexion); //Pregunta si la activación de la base de datos tuvo éxito if ($data) { //Envía la consulta a la base de datos activa $Cadena="Update Clientes Set Nombre="'.$Nombre."',Edad=". $Edad.", Sexo="'.$Sexo."',Deuda=".$Deuda." Where
Codigo="'.$Codigo.'""; $consulta=mysql_query($Cadena); //Pregunta si el resultado de la consulta tuvo exito if ($consulta) echo "Los datos se actualizaron correctamente"; Else echo "Los datos no se actualizaron correctamnte";
}
}
else echo "la conexión a la base de datos no tuvo éxito";
else { echo "la conexion no ha tenido éxito <Br>"; echo "Número del error: ".mysql_errno()."<BR>";
IPHPll
Desarrollo web con PHP ,,,_ echo "Descripción del error: ".mysql_error(); } ?> <BR> <Center> <A HREF="P413.php"> Regresar </A> </Center>
_ ..
rv
Ejemplo Nº 414 Este programa permite buscar a un cliente por su codigo o nombre, mostrar sus datos y eliminarlos,
Buscar Por O Codigo 0 Nombre
~~~i~-=- =~-l~~~~ =-=:=-=J i Mostrar.¡
Al hacer clic en Mostrar, se muestran los datos del cliente para poder eliminarlo. Las cajas se muestra con el atributo ReadOnly.
Codigo '·-----··-·-··-··---·---------• Nombte~~~~~~=J Edad Sexo
1~I 568 !.
u ~y
______________
_,/
CapĂtulo 4 Desarrollo de aplicaciones
Si el codigo o nombre del cliente ingresado no existe se muestra el siguiente mensaje:
DespuĂŠs de eliminar los datos del clientes se muestra el siguiente mensaje:
El cliente se eliminĂł correctamente Regresar
Este programa esta compuesto por tres documentos Php: P414.Php, MostrarDatos.Php y EliminarCliente.Php.
!IPHPll
Desarrollo web con PHP ""-....
Instrucciones del documento Ejemplo414.php <Html> <Head> <Title> Formularios HTML con PHP y MySql <mt1e> </Head> <Body> <Center> <Form Action="MostrarDatos.Php" Method="Get"> <Table> <Tr> <Th Colspan=2> Eliminaciรณn de Clientes <Tr Align="Center"> <Td Colspan=2> Buscar Por <Tr> <Td Colspan=2> <Input Type="Radio" Name="Buscar" Value=';Codigo"> Codigo <Input Type="Radio" Name="Buscar" Value="Nombre"> Nombre <Tr> <Td Colspan=2> <Input Type="Text" Name="Dato"> <Tr Align="Center"> <Td> <Input Type="SubMit" Value="Mostrar"> <Td> <Input Type="Reset" Value="Cancelar"> </Tr> </Table> </Form> </Center> </Body> </Html>
11
570
1
_
_____________
_,/
Capítulo 4. Desarrollo de aplicaciones
Instrucciones del documento MostrarDatos.php <? //Almacena en variables los datos enviados $Dato=$_ G ET[' Dato']; $Buscar=$_ GET['Buscar']; //Almacena en variables los parámetros de conexión $Servidor='localhost'; $Usuario='root'; $Clave='123'; //Se conecta al servidor MySql $Conexion =@mysq I_Connect($Servidor, $U su ario ,$Clave); //Pregunta si la conexión al servidor ha tenido exito if ($Conexion)
{ //Activa la base de datos con la cual desea trabajar $data=mysql_select_db("Empresa",$Conexion); //Pregunta si la activación de la base de datos tuvo éxito if ($data) { //Envía la consulta a la base de datos activa if($Buscar=="Codigo") $consulta=mysql_query("Select * From clientes Where Codigo="'.$Dato.""'); else $consulta=mysql_query("Select * From clientes Where Nombre Like "'.$Dato."%"'); //Pregunta si el resultado de la consulta tiene registros if ($consulta) { //Lee la primera fila del resultado de la consulta $registro=mysql_fetch_array($consulta,MYSQL_ASSOC); //Cierra la conexión porque los datos ya estan en la variable
571
!IPHPll
Desarrollo web con PHP "-------------------mysql_close($Conexion); //Pregunta sin el registro existe if ($registro)
{ //Inserta codigo HTML ?> <html> <header> <title> HTML, PHP y MYSQL </title> </header> <body> <center> <Form Action="EliminarCliente.Php" Method="Post"> <table> <tr> <th colspan="2"> Datos del Clientes <tr> <td> Codigo <Td> <lnputType="Text" Name="Codigo" Value="<?=$registro["Codigo"]?>" ReadOnly> <tr> <td> Nombre <Td> <Input Type="Text" Name="Nombre" Value="<?=$registro["Nombre"]?>" ReadOnly> <tr> <td> Edad <td> <Input Type="Text" Name="Edad" Value="<?;$registro["Edad"]?>" ReadOnly> <tr> <td> Sexo <td> <Input Type="Text" Name="Sexo" Value="<?=$registro["Sexo"]?>" ReadOnly> <tr>
u 57211
-------------~/
Capítulo 4 Desarrollo de apliceciones
<td> Deuda <td> <Input Type="Text" Name="Deuda" Value="<?=$registro["Deuda"]?>" <Tr Align="Center"> <Td Colspan=2> <Input Type="SubMit" Value="Eliminar"> <Input Type="Reset" Value="Cancelar"> </table> </form> </center> </body> </html> <?
Readónly>
} Else echo "El Cliente No existe"; } else echo "No existen registros"; } else echo "la conexión a la base de datos no tuvo éxito";
} else
{ echo "la conexion no ha tenido éxito <Br>"; echo "Número del error: ".mysql_errno()."<BR>"; echo "Descripción del error: ".mysql_error(}; } ?> <BR> <Center> <A HREF="p4 l 3.php"> Regresar </A> </Center>
1 573 1
!IPHPU
Desarrollo web con PHP "------------------
Instrucciones del documento EliminarCliente.php <? //Almacena en variable el codigo del cliente $Codigo=$_POST['Codigo']; //Almacena en variables los parámetros de conexión $Servidor='localhost'; $Usuario='root'; $Clave='123'; //Se conecta al servidor MySql $Conexion=@mysq I_Connect($Servidor, $Usuario, $Clave); //Pregunta si la conexión al servidor ha tenido exito if ($Conexion) { //Activa la base de datos con la cual desea trabajar $data=mysql_select_db("Empresa",$Conexion); //Pregunta si la activación de la base de datos tuvo éxito if ($data) { //Envia la consulta a la base.de datos activa $Cadena="Delete From Clientes Where Codigo="'.$Codigo.""'; $consulta=mysql_query($Cadena); //Pregunta si el resultado de la consulta tuvo exito if ($consulta) echo "El cliente se eliminó correctamente"; Else echo "El Cliente no se eliminó"; } else echo "la conexión a la base de datos no tuvo éxito";
} else { echo "la conexion no ha tenido éxito <Br>"; echo "Número del error: ".mysql_errno()."<BR>"; echo "Descripción del error: ".mysql_error();} ?> <BR> <Center> <A HREF="p414.php"> Regresar.</A> </Center>
1
574
---------.....,--------/
Capítulo 4 -Desarrollo
de aplicaciones
Ejemplo Nº 415 Este programa permite ingresar los datos de un nuevo cliente en un documento Html y luego grabarlos en la tabla.
Datos del Nuevo Cliente Código joo0007
1
Nombre J Liliana Carbone! Edad Sexo
'
J
l
~ 1
··-----------..,
IM
1
L----------------_j
Deuda [150
L
-=r=Gr=a=b a=_r=.] qance.19[
1
_J
n srs u
IPHP!I
Desarrollo web con PHP
°"'----------------
Instruccionesdel documento Ejemplo415.Html <html> <header> <title> HTML, PHP y MYSQL </title> </header> <body>. <center> <Form Action="GrabarCliente.Php" Method="Post"> <table> <tr> <th colspan="2"> Datos del Nuevo Cliente <tr> <td> Codigo <td> <Input Type="Text" Name="Codigo"> <tr> <td> Nombre <td> <Input Type="Text" Name="Nombre"> <tr> <td> Edad <Td> <Input Type=''Text" Name="Edad"> <tr> <td> Sexo <td> <Input Type="Text" Name="Sexo"> <tr> <td> Deuda <td> <Input Type="Text" Name="Deuda"> <tr Align="Center"> <td Colspan=2> <Input Type="SubMit" Value="Grabar"> <Input Type="Reset''. Value="Cancelar"> </table> </form> </center> </body> </html>
1157611
Instrucciones del documento GrabarCliente.Html <? //Almacena en variables los datos enviados $Codigo=$_POST['Codigo']; $Nombre=$_POST['Nombre']; $Edad=$ _POST['Edad']; $Sexo=$_POST['Sexo']; $Deuda=$_POST['Deuda']; //Almacena en variables los parámetros de conexión $Servidor='localhost'; $Usuario='root'; $Clave=' 123'; //Se conecta al servidor MySql $Conexion =@mysq I_Con nect($Servidor, $Usuario, $Clave); //Pregunta si la conexión al servidor ha tenido exito if ($Conexion) { //Activa la base de datos con la cual desea trabajar · $data=mysql_select_db("Empresa",$Conexion); //Pregunta si la activación de la base de datos tuvo éxito if ($data)
{ //Envia la consulta a la base de datos activa $Cadena="lnsert lnto Clientes (Codigo,Nombre,Edad,Sexo,Deuda) Values("'.$Codigo."',"'.$Nombre."',".$Edad.","'.$Sexo."',".$Deud a.")"; $con su lta=mysql_ q uery($Cadena); //Pregunta si el resultado de la consulta tuvo exito if ($consulta) echo "Los datos se grabaron correctamente"; Else echo "Los datos no se grabador";
577
llPHP!I
Desarrollo web con PHP '---------------} else echo "la conexión a la base de datos no tuvo éxito"; } else { echo "la conexion no ha tenido éxito <Br>"; echo "Número del error: ".mysql_errno()."<BR>"; echo "Descripción del error: ".mysql_error(); } ?> <BR> <Center> <A HREF="p415.php"> Regresar </A> </Center>
En la siguiente ventana se muestra el nuevo cliente ingresado: '
sql> Select ~ From Clientes Order By Codigo;
--------+------------------+------+------+--------+ 1 Codi go 1 Nombre 1 Edad 1 Sexo 1 Deuda · --------+------------------+------+------+--------+ 000002 Julio Davila 20 M 80.00 1 1 1 1 1
000003 000004 000005 00000?
1
1 1 1 1
Ana Castañeda Nancy Vilela Miguel Torres L i 1 i ana Carbonel
1 1
1 1 1
36 28 24 35
1 1 1 1 1
F F M M
1 1
1 1 1
200.00 50.00 100.00 350.00
--------+------------------+------+------+--------+ 5 rows in set (0.02 sec)
1 1 1 1 1 1
Ejemplo Nº 416 Este programa crea un vinculo para los programas desarrollados de mantenimiento de Clientes.
n 57811
_____________
__,/
Capítulo 4 Desarrollo
de aplicaciones
Mantenímlento de Clientes Listado Consulta Actualizacion Elíminacíon Ingreso
Instrucciones del documento <Html> <Head> <Title> Clientes <ffitle> </Head> <Body> <Center> <H1> Mantenimiento de Clientes </H1> <A HREF="P411.php""> Listado </A> <BR> <A HREF="P408.php"> Consulta </A> <BR> <A HREF="P413.php""> Actualizacion </A> <BR> <A HREF="P414.php"''> Eliminacion </A> <BR> <A HREF="P415.Html'"'> Ingreso </A> <BR> </Center> </Body> </Html>
Ejemplo Nº 417 Este programa crea un vinculo para los programas desarrollados de man-
l 579 I
llPHPll
Desarrollo web con PHP "'-----------------tenimiento de Clientes utilizando Frames anidados.
Listado
Consulta Act:ualizacion Elimínacion. Ingreso
Para desarrollar este programa se deben crear los siguientes documentos: • Encabezado.Html • Menu.Html • P417.Html Tambien se utilizan todos los documentos· de mantenimiento de clientes explicados anteriormente.
Instrucciones del documento Encabezado.Html Este documento muestra el título principal de la ventana <html> <head> <title> Clientes </title>
1158011
-------------...;/
Capitulo 4 Desarrollo de aplicaciones
</head> <body> <center> <H1 > Mantenimiento de Clientes </H1 > </center> </body> </html>
Mantenímíento de Clientes Usted tambien puede insertar cualquier imagen en esta ventana para mejorar su presentacion.
Instrucciones del documento Menu.Html Este documento muestra las opciones de mantenimiento de clientes: <Html> <Head> <Title> Clientes </title> </Head> <Body> <center> <A HREF="P411.php" TARGET="Datos"> Listado </A> <BR> <A HREF="P408.php" TARGET="Datos"> Consulta </A> <BR> <A HREF="P413.php" TARGET="Datos"> Actualizacion </A> <BR> <A HREF="P414.php" TARGET="Datos"> Eliminacion </A> <BR> <A HREF="P415.Html" TARGET="Datos"> Ingreso </A> <BR> </center> </Body> </Html>
11 sst 11
IPHPI 1
Desarrollo web con PHP '---
__._
_
listado Consulta Actualizacion Elirn.inacion Ingreso El Frame donde se muestran los programas que dan mantenimiento a los clientes se llama Datos. Instrucciones
del documento 417.Html
Este documento crea los frames y muestra el contenido de los dos documentos anteriores:
de Clientes Listado Consulta Actualizadon
EiimĂnacion Ingreso
Al hacer clic en cualquiera de las opciones se muestra la ventana respectiva en el tercer frame llamado datos. 58211
______________
_...;/
Capitulo 4 Desarrollo de aplicaciones
Ejemplo Nº 418 Este programa permite ingresar el nombre del usuario y clave para que se pueda conectar la servidor y visualizar la ventana principal.
Datos clel Usuario Nombre
C-··---···--·--···-------•·--·--·----~
Clave
[~ra~~r]
1 Cancelar J
Si no se ingresa el usuario y clave correctamente se muestra el siguiente mensaje:
Si los datos son correctos se muestra la ventana principal para el mantenimiento de clientes.
n 583 n
!IPHP!f
Desarrollo web con PHP '-----------------
Mantenfmtento de Clientes Listado Consulta Actualizacion Eliminacion ~
Instrucciones del documento¡Ejemplo418.Html <html> <header> <title> Acceso al Sistema </title> </header> <body> <center> <Form Action="Principal.Php" Method="Get"> <table> <tr> <th colspan="2"> Datos del Usuario 11584
_____________
___./
CapĂtulo 4 Desarrollo
de aplicaciones
<tr> <td> Nombre <td> <Input Type="Text"
Name="Nombre">
<tr> <td> Clave <td> <Input Type="Password"
Name="Clave">
<tr Align="Center"> <td Colspan=2> <Input Type="SubMit"
Value="Grabar">
<Input Type="Reset"
Value="Cancelar">
</table> </form> </center> </body> </html>
Instrucciones del documento Principal.Php <? //Almacena en variables el nombre y clave del usuario $Usuario=$_ GET['Nombre']; $Clave=$_ GET['Clave']; /f Almacena en variable el nombre del servidor $Servidor='localhost'; //Se conecta al servidor MySql $Conexion =@mysql_ Con nect($Servidor, $Usuario, $Clave); //Pregunta si la conexiĂłn al servidor ha tenido exito if (!$Conexion) die("EI usuario o clave son incorrectos, Acceso Denegado"); ?> <Html> <Head> <Tltle> Ventana Principal XXXXX </title> </Head>
u 58511
IPHPll
Desarrollo web con PHP "'-..._
_
<FrameSet Rows="25%,*"> <Frame src="Encabezado.html" Name="titulo"> <FrameSet Cols="25%,*"> <Frame src="Menu.html" Name="Nombres"> <Frame Name="Datos"> </FrameSet> </FrameSet> </Html> El resto de documentos son similares a los programas de ejemplo anteriores. Ejemplo Nยบ 419 Este programa consiste en varias pรกginas que permiten listar y consultar los datos de la tabla amigos. En la primera ventana se debe ingresar el nombre y la clave del usuario que desea acceder a la informaciรณn.
Datos clel Usua1io Nombre
L
Clave
(.Gra!Jar/J [Cancelar
11586
u
_I
______________
___,/
Capítulo
A·. Desarrollo de aplicaciones
Si existe algun error en los datos se muestra el siguiente mensaje:
Si el usuario ingresa correctamente su nombre y clave, semuestra la ventana principal. · · · · · ·
Listado Consulta
587
IPHPll
Desarrollo web con PHP
°'\..,_
_
La característica principal de este programa es que se utilizan sesiones explicadas en el capítulo 11 y los datos de conexión y el nombre de la base de datos se almacenan en variables de sesion para poder utilizar en las páginas de listado y consulta.
Instrucciones del documento Ejemplo419.Html - <htrnl> <header> <title> Acceso al Sistema </title> </header> <body> <center> <F orm Action="PrincipalAmigos. Php" Method="Get"> <table> <tr> <th colspan="2"> Datos del Usuario :::=tr> <td> Nombre <td> <Input Type="Text" Name="Nombre"> <tr> <td> Clave <td> <Input Type="Password" Name="Clave"> <tr Align="Center"> <td Colspan=2> <Input Type="SubMit" Value="Grabar''> <Input Type="Reset" Value="Cancelar''> </table> </form> </center> </body> </html>
ll
58811
--------------/
Capítulo 4 Desarrollo de
apltcaciones
Instrucciones del documento Prlnclpálarnlqos.Php
<? //Almacena en variables el nombre y clave del usuario $Usuario=$_ G ET[' Nombre']; $Clave=$_ GET['Clave']; //Almacena en variable el nombre del servidor $Servidor='localhost'; //Se conecta al servidor MySql $Conexion:::@mysq I_ Connect($Servidor, $Usuario, $Clave); //Pregunta si la conexión al servidor ha tenido exito if (!$Conexion) die("EI usuario o clave son incorrectos, Acceso Denegado"); else
{ //Crear una sesion session_start(); //Almacena en variables de sesion los valores de conexion $_ S ESS ION ["Servidor"]=$Servidor; $_ S ESS ION ["Usuario"]=$Usuario; $_SESSION["Clave"]=$Clave; $_SESSION["Base"]="Empresa";
} ?> <Html> <Head> <Title> Ventana Principal </title> </Head> <FrameSet Rows="25%,*"> <Frame src="EncabezadoAmigos.html" Name="titulo"> <FrameSet Cols="25%,*"> <Frame src="Menuamigos.html" Name="Nombres"> <Frarne Name="Datos"> </FrameSet> </FrameSet> </Html>
1
589
Í IPHPÍI
Desarrollo web con PHP '-...._
_
Instrucciones del documento EncabezadoAmigos.Html <html> <head> <title> Amigos </title> </head> <body> <center> <H1> Mantenimiento de Amigos </H1> </center> </body> </html>
Instrucciones del documento MenuAmigos.Html <Htrnl> <Head> <Title> Clientes </title> </Head> <Body> <center> <A HREF="ListaAmigos.php" TARGET="Datos"> Listado </A> <BR> <A HREF="Consultaamigos.Html" TARGET="Datos"> Consulta </A> <BR> </center> </Body> </Html>
Instrucciones del documento ListaAmigos.Php <? //Inicia la sesion session_start(); //Almacena en variables los valores de la sesion $Servidor=$_SESSION[ «Servidor»];
1159011
-------------~/ $Usuario=$_SESSION[
Capitulo 4 Desarrollo
de aplicaciones
«Usuario»];
$Clave=$_ SESSION[ «Clave»]; $Base=$_SESSION[«Base»]; //Se conecta al servidor
MySql usando el contenido
de las variables
$Conexion=@mysql_ Connect($Servidor, susuano, $Clave); //Se conecta a la base de datc:is $Data=mysql_select_db($Base,$Conexion); lf ({!$Data) Or (!$Conexion)) { //Si existe algún error se redirecciona la página header('Location: lnforme.php'); //Detiene la ejecución del programa Exit; } //Envia la consulta a la base de datos activa $consulta=mysql_query("Select * From Amigos"); //Inicia el codigo HTML para crear las tablas ?> <html> <header> <title>·HTML, PHP y MYSQL </title> </header> <body> <center> <Table border="5" width="400"> <tr> <th Co1Span=3> Listado de Amigos <tr Align="Center"> <td> Codigo <td> Nombre <td> Edad <? //Crea unbucle para leer y mostrar todos los registros de la tabla
!E~ ~
u
591 fi
f'
IPHPll
Desarrollo web con PHP "-....._ Amigos While ($registro=mysql_fetch_row($consulta)) { //Muestra los datos de cada fila leida utilizando el array ?> <tr> <td Align="Center"><?=$registro[OJ?> <td><?=$reg istro[1 J?> <td Align="Center"><?;,,,$registro[2]; }
Listado
<;;on~
Instrucciones del documento ConsultaAmigos.Html <Html> <Head> <Title> Formularios HTML con PHP y MySql
1
592
11
_
_____________
__,/
Capítulo 4 Desarrollo de aplicaciones
</Title> </Head> <Body> <Center> <Form Action="BuscarAmigo.Php" Method="Get"> <Table> <Tr> <Th Colspan=2> Consulta de Amigos <Tr> <Td> Codigo a Consultar <Td> <Input Type="Text" Name="codigo"> <Tr Align="Center"> <Td> <Input Type="SubMit" Value="Consultar"> <Td> <Input Type="Reset" Value="Cancelar"> </Tr> </Table> </Form> </Center> </Body> </Html> Consulta <le Amigos Codigo a Consultar
I )(~onsu,lt%.J
~-----~
Instrucciones del documento BuscarAmigo.Ph p
<? //Almacena en variable el codigo enviado $Codigo=$ _ GET['codigo']; //Inicia la sesion · session_start();
l 59311
llPHP!I
Desarrollo web con PHP '-....._
?> <html> <header> <title> HTML, PHP y MYSQL </title> </header> <body> <center> <table border="5" width="300">
1159411
--'---------
)
<td> <?=$registro[O]?> <tr> <td> Nombre <td> <?=$registro[1]?> <tr> <td> Edad <td> <?=$registro[2]?> </table> </center> </body> </hĂ?ml> <?
} Else echo "El Amigo con el codigo: ".$Codigo." No existe"; } else echo "No existen registros"; ?> <BR> <Center> <A HREF="ConsultaAmigos.Html"> </Center> PĂĄginas de consulta de amigos:
Regresar </A>
n 595,
Consulta de Amigos ¡¡--------·---··--·~¡ Código a Consultar·[!__ i
l
ó:insuitar
l
L eencetor 1
l\'l~lntenhnientode Amigos
11 596 l1¡