Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Implantacion de Aplicaciones Web (IAW) - Apuntes y Ejercicios.
Implantacion de Aplicaciones Web (IAW) - Apuntes y Ejercicios.
DE
APLICACIONES
WEB
(IAW)
Apuntes
y
Ejercicios
<?php
<?php
$precio=3.95;
$dia=2;
$tasa=0.21;
$mes=9;
$iva=$precio*$tasa;
$anio=1987;
$total=$precio+$iva;
$nombre='Jon';
print "\n";
$dominio='@elorrieta,com';
?>
$email=$nombre.$dominio;
print 'El iva asciende a '.$iva; /*print "El iva asciende a $iva \n";*/
print "<br> \n";
printf ('El total asciende a %.2f', $total);
print "<br> \n";
printf ('Total %.2f iva %.2f', $total, $iva);
print "<br> \n";
print $email;
print "\n";
print "\n";
?>
?>
Inicio
$primero $_GET['n1']
$segundo $_GET['n2']
NO
$primero
<
$segundo
El orden correcto es
$segundo, $primero
SI
El orden correcto es
$primero, $segundo
FIN
$cont 1
Sentencias;
$cont
<=
10
NO
SI
$cont
$cont ++
FIN
Contenido fichero 12_while1.php:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
<title> Estructura while </title>
</head>
<body>
<h2> Estructura While </h2>
<?php
print"<pre>";;
$cont=1;
while($cont<=9)
{
print ("$cont"." - ");
$cont++;
}
print ("$cont");
print "<br>Se ha acabado";
print"</pre>";
?>
</body>
</html>
Ejemplo: Escribir los nmeros del 1 hasta un numero aleatorio entre 1 y 100.
Inicio
$tope rand(1,100)
$cont 1
$cont
<=
$tope
NO
SI
$cont
$cont ++
FIN
Contenido fichero 12_while2.php:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
<title> Estructura while </title>
</head>
<body>
<h2> Estructura While </h2>
<?php
print"<pre>";
$tope=rand(1,100);
$cont=1;
while($cont<$tope)
{
print ("$cont"." - ");
$cont++;
}
print "$cont";
print "<br><br>Se ha acabado";
print"</pre>";
?>
</body>
</html>
While (1 a n veces)
Mismo ejercicio que el anterior pero con do while
do
{
Contenido fichero 13_do_while1.php:
Sentencias;
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
}while (condicin);
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
<title> Estructura do while </title>
</head>
<body>
<h2> Estructura do while </h2>
<?php
print"<pre>";
$tope=rand(1,100);
$ini=1;
print "El numero aleatorio es : $tope\n";
do
{
printf ("%02d","$ini");
if ($ini%10==0)
{
print ("\n");
}
else
{
print (" - ");
}
$ini++;
}while($ini<$tope);
printf ("%02d","$ini");
print "\n Se acabo";
print"</pre>";
?>
</body>
</html>
For
estructura de un bucle for es:
for (expr1; expr2; expr3) sentencia
La primera expresin se ejecuta al principio del bucle, la expresin 2 se evala en cada pasada, si es verdadera
el bucle continua si es falsa finaliza la ejecucin del bucle, por cada pasada se ejecuta la expresin 3.
Ejemplo de uso del for.
Empezando por 1 mostrar en pantalla todos los nmeros hasta uno definido aleatoriamente.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
<title> Estructura for </title>
</head>
<body>
<?php
$num=rand(1,100);
print "<pre>\n";
print "El numero aleatorio es $num\n";
for($ini=1;$ini<=$num-1;$ini++)
{
printf("%02d",$ini);
if ($ini%10==0)
print("\n");
else
print(" - ");
}
printf("%02d",$num);
print ("\nSe acabó");
print "\n\t</pre>";
?>
</body>
</html>
Funciones de cadenas
number_format()
Chr()
str_rot13()
md5()
Encriptar en md5
usort()
htmlentities($_GET[])
strip_tags($_GET[])
Funciones
Bsicamente la idea de las funciones es definir una porcin de cdigo que utilizaremos
mas de una vez en el programa.
-> Si en vez de funciones usamos copy-paste y hay que cambiar algo, se nos puede
olvidar una de las copias.
-> Una ventaja adicional es que puedes usar la misma funcin en varios programas.
-> Lo razonable es guardar las funciones en ficheros aparte y cargarlas en distintos
documentos que las vayan a usar.
En PHP definimos funciones con la palabra clave function.
Ejemplo:
function saludo()//Esta funcion se define aqui y lo que hace es imprimir Hola en color azul
{
print "<p style=\"color:blue\"> Hola </p>";
}
saludo(); // aqui se ejecuta la funcion invocandola
En PHP podemos cambiar la definicin de una variable. incluso su "tipo". Sin embargo, si cambiamos la
definicin de la funcin y repetimos el nombre da error, solo se puede definir la funcin una vez con un nico
nombre.
Paso de parmetros a una funcin.
<?php
function cabecera($seccion)
{
print<<<CABECERA
<div id="cabecera">
<h1> Mi Empresa </h1>
<h2> $seccion </h2>
</div>
CABECERA;
}
cabecera("seccion"); //paso 'seccion' como parametro a la funcion y lo escribira en lugar de $seccion
print "\t<p> Contenido pagina </p>\n";
pie();
?>
Valores por defecto
Podemos hacer que los parmetros tomen valores por defecto simplemente poniendo detrs del parmetro un
igual y el valor por defecto.
function saludo($mensaje=Hola,$color="teal")
Llamada a la funcin indicando los valores
saludo ("Hola","#00ff00");//aqui usa los valores que hemos puesto
saludo ("Hola");//aqui como no se define color usa el puesto por defecto
saludo2 ("","blue");//Como $mensaje esta vacio no lo muestra
saludo2 ();//aqui usa los dos valores por defecto
Funcin que no devuelve nada
print_r escribe en pantalla pero no devuelve lo que esperbamos, que es una cadena con el array bien escrito.
Arrays
Un array almacena valores a partir de la posicin 0 en adelante.
El formato es: $nombrearray=array(10,20,30,70); que guardara los valores 10 para la posicin 0, 20 para la
posicin 1, 30 para la posicin 2 y 70 para la posicin 3, un ejemplo grfico:
<?php
$nombrearray=array(10,20,30,70);//array que contiene los valores 10, 20, 30 y 70
print "<pre>".print_r($nombrearray,true)."<pre>";
?>
El resultado es:
Array
(
[0] => 10
[1] => 20
[2] => 30
[3] => 70
)
Se pueden aadir valores al array con $nombrearray[]=123 y aade a la siguiente posicion vacia (en este
caso posicin 4) el valor 123.
<?php
$nombrearray=array(10,20,30,70);//array que contiene los valores 10, 20, 30 y 70
$nombrearray[]=123;
print "<pre>".print_r($nombrearray ,true)."<pre>";
?>
El resultado es:
Array
(
[0] => 10
[1] => 20
[2] => 30
[3] => 70
[4] => 123
)
El resultado es:
Array
(
[0] => 10
[1] => 20
[2] => 30
[3] => 70
[8] => 456
)
Los arrays se recorren con for, el siguiente ejemplo mostrara el contenido de $datos1
<?php
$datos1=array(10,20,30,70,123);
print "<ul>";
for($i=0;$i<count($datos1);$i++)
{
print "<li>$i->$datos1[$i]</li>";
}
print "</ul>";
?>
El resultado es:
0 => 10
1 => 20
2 => 30
3 => 70
4 => 123
array_values devuelve todos los valores no vacos de un array compactndolo e indexandolo numricamente
<?php
$datos2=array(10,20,"pepe",70);
$datos2[8]=456;
$datos2=array_values($datos2);
print "<pre>".print_r($datos2,true)."</pre>";
?>
El resultado es:
Array
(
[0] => 10
[1] => 20
[2] => pepe
[3] => 70
[8] => 456
)
Ordenar arrays por sus valores (cuando son numricos) con sort ($num)
Ordenar arrays por sus valores con asort ($mes) o sus claves con ksort ($mes)
A la izquierda el resultado de un programa php con foreach que en base a un array crea una tabla con los
meses y das de cada mes, en el centro con el uso de asort se ordenan los meses por cantidad de idas y a la
izquierda con el uso de ksort de ordenan por nombre de mes.
nombre
Alberdi, Kepa
............
email
kepa@gamil.com
............
IN2AR3_25
IN2AR3_25
nombre
email
Alberdi, Kepa kepa@gmail.com
............
............
Y as es como se muestra:
if($_POST['pais']==$_POST['capital'])
{
//si coinciden que quiere decir que es la capital del pais por el que se pregunta, comfirmo el acierto
print "\t<p class=\"bien\">Muy bien, la capital de $paises[$pais] es $capitales[$capital]</p>\n";
}
else
{
//si no coincide indico que se ha fallado
print "\t\t<p class=\"mal\"> Lo siento, has fallado, la capital de $paises[$pais] <span
class=\"resaltado\">no es $capitales[$capital] </span>es $capitales[$pais]</p>\n";
//Escribo la tabla con todos los paises y capitales a 4 columnas
print "\t\t<table border=\"2\">\n";
print "\t\t<caption class=\"resaltado\">Relación de Paises y Capitales de
Europa</caption>\n";
//genero las cabeceras y aplico estilos
print "\t\t<tr class=\"resalte1\" > <th>Pais</th><th>Capital</th> </tr>\n";
//Recorremos la tabla de 1 en 1
for($i=0;$i<count($paises);$i++)
{
print "\t\t\t<tr>\n";
if($i+$j==$_POST[pais])
{
//Resalto el pais preguntado y fallado
print "\t\t\t\t<td class=\"resalte2\">".$paises[$i+$j]."</td>\n";
}
else
{
print "\t\t\t\t<td>".$paises[$i+$j]."</td>\n";
}
if($i+$j==$_POST[capital])
{
//Resalto la capital fallada
print "\t\t\t\t<td class=\"resalte2\">".$capitales[$i+$j]."</td>\n";
}
else
{
print "\t\t\t\t<td>".$capitales[$i+$j]."</td>\n";
}
print "\t\t\t</tr>\n";
}
print "\t\t</table>\n";
}
//Para volver de nuevo al formulario que pregunta por la capital de un pais
print <<<FORMULARIO
<form action="21_1Ejercicio_tipo_examen.php" method="POST">
<p><input type="submit" value="Más adivinanzas"></p>
</form>
FORMULARIO;
?>
</body>
</html>
Y este el resultado:
En la parte final hay otro botn para volver de nuevo para adivinar otra capital:
Finalmente una representacin grfica de los arrays para que se entienda un poco mejor el ejercicio.
Inicialmente el array $paises_y_capitales tiene como Key el Pais y como value la Capital:
Paises_y_capitales
Tirana
Berlin
Andorra la
Bella
Erevan
Viena
Values
Albania
Alemania
Andorra
Armenia
Austria
Keys
con array_keys asigno a $paises los pases con un indice, [0]='Albania' , [1]='Alemania' .....
$paises=array_keys($paises_y_capitales);
array_keys($paises_y_capitales)
Albania
Alemania
Andorra
Armenia
Austria
$paises[$i]
indice $i
con array_values asigno a $capitales las capitales con un indice, [0]='Tirana' , [1]='Berlin' .....
$capitales=array_values($paises_y_capitales);
array_values($paises_y_capitales)
Tirana
Berlin
Andorra la
Bella
Erevan
Viena
$capitales[$i]
indice $i
De tal manera que ahora tengo dos arrays, uno que contiene por un lado los pases y por otro las capitales y
tienen el mismo numero de indice que los relaciona, as para un indice 1 tenemos Alemania y Berlin.
En el desplegable donde se escoge la capital que corresponda con el Pais preguntado, queremos que estn
ordenadas alfabticamente, podemos hacerlo con sort (sort($capitales), pero si nos fijamos como queda el
array podemos ver que se ha cambiado el numero de indice ya que ordena el contenido pero tambin le
asigna el valor de indice a partir del 0, Tirana tiene un indice de 0 y Albania un indice de 0, ya no coincide.
sort($capitales)
Andorra la
Bella
Berlin
Erevan
Tirana
Viena
Le asigna un
nuevo indice
Pero para solucionar el problema tenemos asort (asort($capitales)) que ordena el contenido pero
manteniendo su indice.
asort($capitales)
Andorra la
Bella
Berlin
Erevan
Tirana
Viena
Mantiene el
mismo indice
$primero $_GET['n1']
$segundo $_GET['n2']
$_GET
NO
$_GET['op']
==
suma
SI
NO
$suma $primero + $segundo
$_GET['op']
==
resta
SI
$suma
$resta
FIN
Visual (html y resultado php):
$_GET
NO
Isset
$_GET['op1']
SI
NO
Isset
$_GET['op2']
SI
FIN
Visual (html y resultado php):
url que aparece al devolver el resultado (se visualiza el contenido de las variables, los datos):
$cont 1
Sentencias;
$cont
<=
10
NO
SI
$cont
$cont ++
FIN
Contenido fichero 12_while1.php:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
<title> Estructura while </title>
</head>
<body>
<h2> Estructura While </h2>
<?php
print"<pre>";;
$cont=1;
while($cont<=9)
{
print ("$cont"." - ");
$cont++;
}
print ("$cont");
print "<br>Se ha acabado";
print"</pre>";
?>
</body>
</html>
Ejemplo: Escribir los nmeros del 1 hasta un numero aleatorio entre 1 y 100.
Inicio
$tope rand(1,100)
$cont 1
$cont
<=
$tope
NO
SI
$cont
$cont ++
FIN
Contenido fichero 12_while2.php:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
<title> Estructura while </title>
</head>
<body>
<h2> Estructura While </h2>
<?php
print"<pre>";
$tope=rand(1,100);
$cont=1;
while($cont<$tope)
{
print ("$cont"." - ");
$cont++;
}
print "$cont";
print "<br><br>Se ha acabado";
print"</pre>";
?>
</body>
</html>
While (1 a n veces)
Mismo ejercicio que el anterior pero con do while
do
Ejemplo. Listado de nmeros de 10 en 10, indicando el primer y ultimo numero, pero empezando por el mas
bajo independientemente de cual se ponga primero.
Contenido fichero 13_listar2.html:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
<title> Listado numeros con do while </title>
</head>
<body>
<h2> Listado de Numeros </h2>
<form action="13_listar2.php" method="GET">
<p>Teclea numero de inicio:
<input type="text" name="n1" size="4"></p>
<p>Teclea numero final:
<input type="text" name="n2" size="4"></p>
<p><input type="submit" value="Listar"></p>
</form>
</body>
</html>
Contenido fichero 13_listar2.php:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
<title> Listado de Numeros con do while </title>
</head>
<body>
<h2> Listado de Numeros </h2>
<?php
print"<pre>";
$primero=$_GET['n1'];
$ultimo=$_GET['n2'];
$tope=rand(1,100);
$ini=1;
print "El numero inicial es : $primero\n";
print "El numero final es : $ultimo\n";
print "\n";
if ($primero<$ultimo)
{
do
{
printf ("%03d","$primero");
if ($primero%10==0)
{
print ("\n");
}
else
{
print (" - ");
}
$primero++;
}while($primero<$ultimo);
printf ("%03d","$ultimo");
}
else
{
do
{
printf ("%03d","$primero");
if ($primero%10==0)
{
print ("\n");
}
else
{
print (" - ");
}
$primero--;
}while($primero>$ultimo);
printf ("%03d","$primero");
}
print "\n";
print "\n Se acabo";
print"\n</pre>\n";
?>
</body>
</html>
Mismo que el anterior pero con otra forma de hacer la comparacin.
NO
$_num1 $_GET[n1]
$_num2 $_GET[n2]
$_GET['n1']
>
$_GET['n2']
SI
$_num1 $_GET[n2]
$_num2 $_GET[n1]
Comando for.
Listado de numeros desde 1 hasta un numero aleatorio, presentados de 10 en 10.
Contenido fichero 14_for1.php:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
<title> Estructura for </title>
</head>
<body>
<?php
$num=rand(1,100);
print "<pre>\n";
print "El numero aleatorio es $num\n";
for($ini=1;$ini<=$num-1;$ini++)
{
printf("%02d",$ini);
if ($ini%10==0)
print("\n");
else
print(" - ");
}
printf("%02d",$num);
print ("\nSe acabó");
print "\n\t</pre>";
?>
</body>
</html>
Ejemplo del uso de funciones, para construir el encabezado y pie de una pagina web, paso de parmetros,
estilos y ubicacin de funciones en fichero aparte.
Se trata de que cargar automticamente el encabezado y el pie de una pagina web haciendo la llamada a las
funciones correspondientes, ademas el nombre de la seccin que varia de una pagina a otra se pasa como
parmetro y se ha incluido algo de estilo css
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
<title> Cabecera y pie mediante funcion </title>
<style type="text/css">
<?php
@require("17_3cabecera_y_pie.php");
estilo();
?>
</style>
</head>
<body>
<?php
//Cargar las funciones
//@include("17_3cabecera_y_pie.php");
print "<p>Funciones cargadas</p>";
cabecera("Esta es la Seccion");
?>
<!-- Aqui va el contenido que podria ser html-->
<?php
pie();
?>
</body>
</html>
Fichero con las funciones:
<?php
function cabecera($seccion)
{
print<<<CABECERA
<div id="cabecera">
<h1> Mi Empresa </h1>
<h2> $seccion </h2>
</div>
CABECERA;
}
function pie()
{
print<<<PIE
<div id="pie">
<p> Telefono: 944321287 </p>
<p> Direccion: bala bla bla </p>
</div>
PIE;
}
function estilo()
{
print<<<ESTILO
#cabecera
{
background-color: #E69D9D;
}
#cabecera h1
{
text-transform: capitalize;
font-size: 120%;
font-family:
Comic Sans MS;
}
ESTILO;
}
?>
Resultado de la ejecucin:
El resultado es:
El programa es:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
<title> Arrays asociativo </title>
</head>
<body>
<?php
$mes['enero']=31;
$mes['febrero']=29;
$mes['marzo']=31;
$mes['abril']=30;
$mes['mayo']=31;
$mes['junio']=30;
$mes['julio']=31;
$mes['agosto']=31;
$mes['septiembre']=30;
$mes['octubre']=31;
$mes['noviembre']=30;
$mes['diciembre']=31;
print "<h3>Meses ordenados por dias</h3>";
print "<table border=\"2\">";//le damos un grosor a las lineas de la tabla de 2 pixel
/* Ponemos primero las cabeceras de la tabla */
print "<tr>
<th>Mes</th>
<th>Dias</th>
</tr>";
/* con una funcion foreach recorremos los arrays escogiendo para cada uno la clave y valor asignado */
asort($mes);//con asort se ordena por valores
foreach($mes as $clave => $valor)
/* $clave es lo que esta entre [] (enero, febrero, etc.) y $valor es lo que contiene o su valor (31, 30, etc.)*/
/* se les has llamado $clave y $valor pero se le puede dar otro nombre */
{
/* imprimo las columnas con los datos */
print "<tr>
<td>$clave</td>
<td>$valor</td>
</tr>";
}
print "</table>\n";
print "<h3>Meses ordenados por mes</h3>";
print "<table border=\"2\">";//le damos un grosor a las lineas de la tabla de 2 pixel
/* Ponemos primero las cabaceras de la tabla */
print "<tr>
<th>Mes</th>
<th>Dias</th>
</tr>";
/* con una funcion foreach recorremos los arrays escogiendo para cada uno la clave y valor asignado */
ksort($mes);//con ksort se ordena por claves
foreach($mes as $clave => $valor)
/* $clave es lo que esta entre [] (enero, febrero, etc.) y $valor es lo que contiene o su valor (31, 30, etc.)*/
/* se les has llamado $clave y $valor pero se le puede dar otro nombre */
{
/* imprimo las columnas con los datos */
print "<tr>
<td>$clave</td>
<td>$valor</td>
</tr>";
}
print "</table>\n";
?>
</body>
</html>
$students[]="Apellido13, Nombre13";
$students[]="Apellido14, Nombre14";
$students[]="Apellido15, Nombre15";
$students[]="Apellido16, Nombre16";
$students[]="Apellido17, Nombre17";
$students[]="Apellido18, Nombre18";
$students[]="Apellido19, Nombre19";
$students[]="Apellido20, Nombre20";
$students[]="Apellido21, Nombre21";
$students[]="Apellido22, Nombre22";
$students[]="Apellido23, Nombre23";
$students[]="Apellido24, Nombre24";
$students[]="Apellido25, Nombre25";
$students[]="Apellido06, Nombre06";
$user[]="IN2AR3_01";
$user[]="IN2AR3_02";
$user[]="IN2AR3_03";
$user[]="IN2AR3_04";
$user[]="IN2AR3_05";
$user[]="IN2AR3_26";
$user[]="IN2AR3_07";
$user[]="IN2AR3_08";
$user[]="IN2AR3_09";
$user[]="IN2AR3_10";
$user[]="IN2AR3_11";
$user[]="IN2AR3_12";
$user[]="IN2AR3_13";
$user[]="IN2AR3_14";
$user[]="IN2AR3_15";
$user[]="IN2AR3_16";
$user[]="IN2AR3_17";
$user[]="IN2AR3_18";
$user[]="IN2AR3_19";
$user[]="IN2AR3_20";
$user[]="IN2AR3_21";
$user[]="IN2AR3_22";
$user[]="IN2AR3_23";
$user[]="IN2AR3_24";
$user[]="IN2AR3_25";
$user[]="IN2AR3_06";
$email[]="Nombre01.Apellido01@elorrieta-errekamari.com";
$email[]="Nombre02.Apellido02@elorrieta-errekamari.com";
$email[]="Nombre03.Apellido03@elorrieta-errekamari.com";
$email[]="Nombre04.Apellido04@elorrieta-errekamari.com";
$email[]="Nombre05.Apellido05@elorrieta-errekamari.com";
$email[]="Nombre26.Apellido26@elorrieta-errekamari.com";
$email[]="Nombre07.Apellido07@elorrieta-errekamari.com";
$email[]="Nombre08.Apellido08@elorrieta-errekamari.com";
$email[]="Nombre09.Apellido09@elorrieta-errekamari.com";
$email[]="Nombre10.Apellido10@elorrieta-errekamari.com";
$email[]="Nombre11.Apellido11@elorrieta-errekamari.com";
$email[]="Nombre12.Apellido12@elorrieta-errekamari.com";
$email[]="Nombre13.Apellido13@elorrieta-errekamari.com";
$email[]="Nombre14.Apellido14@elorrieta-errekamari.com";
$email[]="Nombre15.Apellido15@elorrieta-errekamari.com";
$email[]="Nombre16.Apellido16@elorrieta-errekamari.com";
$email[]="Nombre17.Apellido17@elorrieta-errekamari.com";
$email[]="Nombre18.Apellido18@elorrieta-errekamari.com";
$email[]="Nombre19.Apellido19@elorrieta-errekamari.com";
$email[]="Nombre20.Apellido20@elorrieta-errekamari.com";
$email[]="Nombre21.Apellido21@elorrieta-errekamari.com";
$email[]="Nombre22.Apellido22@elorrieta-errekamari.com";
$email[]="Nombre23.Apellido23@elorrieta-errekamari.com";
$email[]="Nombre24.Apellido24@elorrieta-errekamari.com";
$email[]="Nombre25.Apellido25@elorrieta-errekamari.com";
$email[]="Nombre06.Apellido06@elorrieta-errekamari.com";
?>
El resultado es el siguiente:
El resultado del subprograma al que llama el programa principal a pinchar en Info es el siguiente:
Contenido fichero 19_5Info_alumnos.php (Subprograma que presenta los datos del usuario seleccionado).
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
<title>
<?php
/*Pongo en el titulo el nombre del estudiante del que pido informacion*/
/*para ello cargo en fichero 19_5Array_alumnos.php del que saco los datos*/
require_once("19_5Array_alumnos.php");
$cod=$_GET['codigo'];
print "Informacion sobre: ".htmlentities($students[$cod]);
?>
</title>
</head>
<body>
<?php
/*imprimo en pantalla la informacion del estudiante seleccionado en el menu*/
/*Aqui no pongo un require para cargar 19_5Array_alumnos.php porque ya esta puesto arriba*/
print "<p>Alumno: $students[$cod]</p>";
print "<p>Usuario: $user[$cod]</p>";
print "<p>Email: $email[$cod]</p>";
?>
</body>
</html>
Tenemos un alumno que no esta en orden, asi que con ayuda de asort lo presento en orden.
Contenido fichero 19_5Menu_alumnos2.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
<title> Menu desplegable Arrays </title>
</head>
<body>
<h3>Seleccion alumno de 2º ASIR de un desplegable</h3>
<?php
/*llamo al otro php para que me presente los datos del alumno seleccioando*/
print '<form action="19_5Info_alumnos.php"><p>
<select name="codigo">';
/*Carga una vez los arrays especificados en el archivo 19_5Array_alumnos.php*/
require_once("19_5Array_alumnos.php");
/*ordeno el array por nombtre porque hay un sudiante que esta al final pero que es el numero 06*/
asort($students);
/*funcion que me presenta todos los estudiantes en el menu desplegable, en este caso con foreach
para que el alumno que estaba al final de la lista salga en su posicion por orden*/
foreach($students as $indice => $nombre)
{
print "\n\t<option value=\"$indice\">".htmlentities($nombre)."</option>";
}
print "\n".'</select>
<input type="submit" value="Info"></p>
</form>';
?>
</body> </html>
Y este es el resultado del desplegable (ahora el alumno06 que estaba al final se ha ordenado debajo del
alumno05):
Si tenemos un alumno que ademas esta acentuado y queremos ordenarlo utilizamos otro parametro, setlocale
y SORT_LOCALE_STRING.
Contenido fichero 19_5Menu_alumnos3.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
<title> Menu desplegable Arrays </title>
</head>
<body>
<h3>Seleccion alumno de 2º ASIR de un desplegable</h3>
<?php
/*llamo al otro php para que me presente los datos del alumno seleccioando*/
print '<form action="19_5Info_alumnos.php"><p>
<select name="codigo">';
/*Carga una vez los arrays especificados en el archivo 19_5Array_alumnos.php*/
require_once("19_5Array_alumnos.php");
/*setlocale establece la informacion de la configuracion regional*/
setlocale(LC_ALL, "sp-SP"/*Windows*/,"es_ES"/*Todos los demas*/);
/*asort ordena el array por nombtre porque hay un sudiante que esta al final pero es el numero 06
ademas con SORT_LOCALE_STRING le estoy diciendo que no tenga en cuenta acentuaciones y
caracteres especiales
sobre las letras para que tambien ordene un mombre que estuviera acentuado*/
asort($students, SORT_LOCALE_STRING);
/*funcion que me presenta todos los estudiantes en el menu desplegable, en este caso con foreach
para que el alumno que estaba al final de la lista salga en su posicion por orden*/
foreach($students as $indice => $nombre)
{
print "\n\t<option value=\"$indice\">".htmlentities($nombre)."</option>";
}
print "\n".'</select>
<input type="submit" value="Info"></p>
</form>';
?>
</body>
</html>