0% encontró este documento útil (0 votos)
12 vistas41 páginas

Feresin Dinamicas Completo

Cargado por

Laura Bergara
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
12 vistas41 páginas

Feresin Dinamicas Completo

Cargado por

Laura Bergara
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 41

DESARROLLO WEB DINAMICO- 6to año - INFORMATICA

ESCUELA DE EDUCACION TECNICA Nº2


MODULO DE APOYO – ALUMNOS

HTML
Fuente: Programación Web avanzada. Autor: Marcelo H. Ruiz Editorial:
MP Ediciones.

(HiperText Markup Language) – Lenguaje de etiquetas e


hipertexto(permite el uso de hipervínculos). Las páginas HTML tienen
una extensión .html o htm.
Las etiquetas de HTML son de apertura o de cierre.<>. Las de cierre
tienen una barra invertida. <\>. Ej <BODY> O <\BODY>.
Las etiquetas tienen atributos y esos atributos tienen valores.
Ej. <ELEMENTO forma=”redondo” color=”amarillo” altura=”20”> En el
ejemplo Elemento sería el nombre de la etiqueta, forma, color y altura
son atributos y redondo, amarillo y 20 son valores.
Los comentarios se ingresan con <!—y -->
Etiquetas: Una página HTML comienza y termina con las respectivas
etiquetas de comienzo y de cierre <HTML><\HTML>. Luego se divide en
dos partes: la cabecera, entre las etiquetas <HEAD> y <\HEAD> y el
cuerpo entre <BODY><\BODY>
(HTNL lang =”es” sirve para especificar el atributo del idioma).
Dentro de la cabecera se encuentran tres etiquetas:
<TITLE> Allí se define el título que aparece en la barra de título
del navegador. Si no se lo coloca aparece la dirección de la página.
<META> Tiene usos múltiples. Puede utilizarse para definir la
descripción, el autor y las palabras claves de la página. Estos datos son
indexados por los buscadores (Altavista, Google, etc.)
<LINK> permite vincular un archivo externo a la página. Por
ejemplo se puede vincular a un archivo de hoja de estilos y se la vincula
a través del atributo href.
Formato de texto:
<P> es la etiqueta de párrafo. Tiene la propiedad align mediante la
cual se puede especificar la alineación del párrafo: left(izquierda); center
(centro); right (derecha) o justify(justificar). Ejemplo: <P align=”center”>
<HR> Inserta una línea horizontal
<BR> Inserta un salto de línea

<FORM> Inicia un formulario HTML


Necesita atributos o propiedades para saber cómo manejar los datos del
formulario.
Action: define a qué página se enviarán los datos para procesarlos o
qué se hará con los datos una vez que se pulse sobre el botón Enviar.
Method: define la forma en que se envían los resultados. Hay dos
posibilidades:
- Get: se envían por la URL del navegador
- Post: se envían a través de las cabeceras http y son invisibles
para el usuario.
Name: Permite asignarle un nombre al formulario.

1
DESARROLLO WEB DINAMICO- 6to año - INFORMATICA
ESCUELA DE EDUCACION TECNICA Nº2
MODULO DE APOYO – ALUMNOS

Ejemplo de declaración de formularios:

<html>
<head>
<title>Este es un Ejemplo de Formularios en HTML</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-
8859-1">
</head>
<body>
<form id="formulario" action="pasardatos.php" method="post"
enctype="text/plain">

<!--Elementos del formulario-->


<p> NOMBRE : <Input type="text" name="txtNombre" value="Ingrese su
nombre aquí" >
<p> E-MAIL : <Input type="text" name="txtemail" value="Ingrese su
correo aquí">
</form>
</body>
</html>

Los campos de texto permiten que el usuario ingrese datos de una línea
como su nombre, dirección de correo electrónico, teléfono, etc. Se
inserta con la etiqueta <INPUT> con el atributo type =”text”. No tiene
etiqueta de cierre. Otra propiedad muy importante es name.

PHP

PHP fue desarrollado en 1994 por Rasmun Lerdorf. En 1997 surgió


PHP3 y pasó a ser un proyecto de código abierto lo que significa que
cualquiera puede acceder a su código fuente y modificarlo.
Gracias a su variedad de clases y funciones PHP se considera un
lenguaje de propósito general pero su uso está destinado especialmente
al desarrollo de sitios web dinámicos. Un sitio es dinámico cuando para
introducir información en él no es necesario modificar todo el contenido
de una página determinada y subirla a Internet. El dinamismo lo da la
posibilidad de ingresar datos desde cualquier parte del mundo a una
base de datos que queda visible en forma inmediata.
PHP permite acceder (entre otras cosas) a multitud de bases de datos.
(Ej. My SQLite), permite generar documentos en forma dinámica (PDF,
XLS, XML por ejemplo) y usar diferentes protocolos de Internet como
(LDAP, IMAP, POP3, FTP, TELNET, o JABBER, entre otros).
PHP es un acrónimo recursivo (utiliza su propio acrónimo como parte
de su acrónimo) (PHP/Hypertext/Preprocessor)
PHP es un lenguaje libre:
a) libertad de usarlo;
b) libertad para modificar PHP accediendo a su código fuente;

2
DESARROLLO WEB DINAMICO- 6to año - INFORMATICA
ESCUELA DE EDUCACION TECNICA Nº2
MODULO DE APOYO – ALUMNOS

c) libertad para distribuir aplicaciones desarrolladas en PHP.


PHP puede ser embebido en HTML (Hipertext Markup language) para
generar contenido web académico.

Módulos: PHP es un lenguaje modular: en muchos sitios podremos


encontrar clases escritas para casi cualquier propósito que se nos
ocurra. Para utilizarlos se debe incluir una referencia al código en el
script.

Lenguajes de cliente o Lenguajes de servidor


Se consideran lenguajes de cliente a aquellos que si bien reciben del
servidor el archivo que contiene la página, este archivo es interpretado
por el navegador web del cliente.
Se consideran lenguajes de servidor aquellos que interpretan el archivo
del sitio web en el mismo servidor antes de ser derivado al cliente.
En HTML se le manda un pedido al servidor web, el servidor busca el
archivo que contiene la página y se lo envía al cliente que lo interpreta a
través del navegador.
En cambio, cuando la página es PHP en el momento que se le manda el
pedido al servidor web, el servidor descubre que posee código en PHP y
llama al intérprete de PHP para ejecutarla. Se ejecuta el código en el
servidor y se la traduce a HTML. Recién en ese momento se le envían
los resultados al navegador.

Soporte para múltiples servidores web


PHP se puede ejecutar bajo una gran variedad de sevidores web, entre
otros APACHE, IIS (Internet Information Server), PWS (Personal Web
Server), AOL Server

Soporte para múltiples bases de datos


DBASE/INFORMIX/INTERBASE/MYSQL/ORACLE

Capítulo 1: Variables, Operadores y Sentencias de control

Podemos crear un archivo que contenga código PHP en cualquier


editor mientras le agreguemos la extensión PHP.
Delimitadores: En la primer línea del script se indica <?php que indica
que comienza un script en PHP y en la última línea?> para indicar el
fin.
Todas las líneas que se encuentren entre estos delimitadores deben
terminar en; salvo en las sentencias de control (if, while,etc.)
Para introducir comentarios cuando son de una sola línea se introduce
//. Si el comentario es de mas de una línea se usan los delimitadores /*
y */.
Para que el servidor muestre un texto determinado podemos usar echo
o printf como en C.

3
DESARROLLO WEB DINAMICO- 6to año - INFORMATICA
ESCUELA DE EDUCACION TECNICA Nº2
MODULO DE APOYO – ALUMNOS

Variables:

No es necesario declarar las variables previamente en PHP. Cuando le


asignamos un valor a una variable, automáticamente reconoce el tipo.
Las variables se identifican porque sus nombres comienzan con el signo
$. PHP distingue entre mayúsculas y minúsculas. No es lo mismo $num
que $Num. Sin embargo no se distingue entre mayúsculas y
minúsculas a la hora de usar funciones o sentencias del lenguaje.

Los tipos de datos posibles que puede almacenar una variable son los
siguientes :
Integer Números enteros positivos y negativos
Double Números decimales o de coma flotante
String Cadenas de texto
Boolean Valores True o False
Array Tipo especial de colección de valores
Object Tipo especial de dato complejo

Convertir tipos
PHP es un lenguaje que realiza la conversión de tipos en función de los
operandos y del operador. De esta forma si intentamos sumar la cadena
'10' y el número 20 la acción que realizaría sería convertir la primera
variable a numérica y de esa forma podría sumar 10+20=30.
Aparte de que PHP en algunos casos realiza la conversión existen dos
funciones especiales del propio lenguaje las cuales nos permiten saber
el tipo de variable que estamos usando y también pueden convertir el
tipo de variable:
gettype() Recibe el tipo de variable que es
settype ($variable,'tipo variable') Transforma el tipo de variable del
modo actual a el modo que le introduzcamos.

Variables características de PHP

Array de argumentos pasados en la ejecución


argv
del script.
Número de parametros pasados al script en su
$_SERVER['argc']
ejecución.
$_SERVER['PHP_SELF'] Nombre del script que se está ejecutando
Array asociativo de pares (clave,valor) pasados
$_COOKIE
a través de cookies
Array asociativo de pares (clave,valor) pasados
$_GET
a través de GET
Array asociativo de pares (clave,valor) pasados
$_POST
a través de POST
$_FILES Array asociativo que contiene información de

4
DESARROLLO WEB DINAMICO- 6to año - INFORMATICA
ESCUELA DE EDUCACION TECNICA Nº2
MODULO DE APOYO – ALUMNOS

los ficheros recibidos mediante POST


Array asociativo de pares (clave,valor) del
$_ENV
entorno
Array asociativo de pares (clave,valor) del
$_SERVER
servidor
$_SESSION Array asociativo de pares (clave,valor) de sesion

Ambitos de las variables:

El ámbito de la variable es el contexto en el cual la variable tiene


validez. Una variable definida para una función solo puede usarse
dentro de ella, incluso puede tener el mismo nombre que una variable
global.
También se pueden declarar variables globales dentro de una función
de la siguiente manera:
Global $numero;
No hay límite sobre el número de variables globales que deseamos
utilizar dentro de una función. Otra forma para acceder a las variables
globales es usando la matriz $GLOBALS
Ej. Promedio=($GLOBALS[a]+ $GLOBALS[b]/2)

Constantes:

No llevan el signo $ adelante. Se pueden asignar una sola vez y para


ello se usa la función define.
Ejemplo: define (“nom”, ”hola que tal”);
Printf (nom);

Operadores Aritméticos:
$a + $b Suma
$a - $b Resta
$a * $b Multiplicación
$a / $b División
$a %$b Resto de la división.
$a++ incrementa en 1 a $a
$a—resta 1 a $a

Operadores de cadenas:

El único operador de cadenas que existe es el de concatenación, el .


Ejemplo:
$a=”Escuela”;
$b= $a . “de educación técnica”; //Ahora $b contiene “Escuela de
educación técnica”

5
DESARROLLO WEB DINAMICO- 6to año - INFORMATICA
ESCUELA DE EDUCACION TECNICA Nº2
MODULO DE APOYO – ALUMNOS

Operadores de comparación:

$a < $b $a es menor que $b


$a > $b $a es mayor que $b
$a <=$b $a es menor o igual que $b
$a >=$b $a es mayor o igual que $b
$a == $b $a es igual a $b
$a != $b $a es distinto a $b

Operadores Lógicos:
$a AND $b verdadero si ambos son verdadero
$a && $b verdadero si ambos son verdadero
$a OR $b verdadero si alguno de los dos es verdadero
$a !! $b verdadero si alguno de los dos es verdadero
$a XOR $b verdadero si solo alguno de los dos es verdadero
!$ a verdadero si $a es falso y a la inversa.

Operadores de asignación:

$a = $b asigna a $a el contenido de $b
$a += $b le suma $b a $a
$a -= $b le resta $b a $a
$a *=$b multiplica $a por $b y lo asigna a $a
$a /=$b divide $a por $b y lo asigna a $a
$a.=$b Añade la cadena $b a la cadena $a.

Sentencias de control:

Las sentencias de control permiten ejecutar bloques de código


dependiendo de ciertas condiciones. Para PHP el 0 es equivalente a falso
y calquier otro número es verdadero.

IF… ELSE
La sentencia If…else permite ejecutar un bloque de instrucciones si la
condición es verdadera y otro bloque de instrucciones si la condición es
falsa. Se debe tener en cuenta que la condición evaluada debe estar
encerrada entre paréntesis.

If (condición) {
Esto se ejecuta si la condición es verdadera};
Else {
Esto se ejecuta si la condición es falsa};

IF…ELSEIF…ELSE
La sentencia If…elseif…else permite ejecutar varias condiciones en
cascada.

6
DESARROLLO WEB DINAMICO- 6to año - INFORMATICA
ESCUELA DE EDUCACION TECNICA Nº2
MODULO DE APOYO – ALUMNOS

<? Php
if ($nombre=””)
echo “tu no tienes nombre”;
elseif ($nombre=”EVA”) OR ($nombre=”Eva”)
echo “tu nombre es Eva”;
else echo “tu nombre es ” . $nombre;

SWICH…CASE…DEFAULT
La sentencia swich evalúa y compara cada expresión de la sentencia
case con la expresión que evaluamos, si llegamos al final de la lista de
case y no encuentra una condición verdadera, ejecuta el código de
bloque que haya en DEFAULT. Si encontramos una condición verdadera
debemos ejecutar un BREAK para que la sentencia SWITCH no siga
buscando en la lista de Case.

Ejemplo:
<?
Switch ($dia)
Case “lunes”:
echo “hoy es lunes”;
break;
case “martes”:
echo “hoy es martes”;
break;
case “miércoles”:
echo “hoy es miercoles”;
break;
case “jueves”:
echo “hoy es jueves”;
break;
case “viernes”
echo “hoy es viernes”;
break;
default:
echo “esa cadena no corresponde a ningun dia de la semana”;
¿>

WHILE
La sentencia while ejecuta un bloque de código mientras se cumpla
una determinada condición.

<?
$num=1;
while ($num<5)
echo $num;
$num++
?>

7
DESARROLLO WEB DINAMICO- 6to año - INFORMATICA
ESCUELA DE EDUCACION TECNICA Nº2
MODULO DE APOYO – ALUMNOS

Un bucle while se puede romper utilizando una sentencia break

<?
$num=1
while ($num<5)
echo $num
if ($num==3)
echo “Aquí salimos”;
break;
$num++
¿>

DO WHILE
Esta sentencia funciona igual que la sentencia while solo que la
condición se evalúa al final y por lo tanto el bloque de código se ejecuta
siempre una vez.

Ejemplo

<?php
$num = 1;
do {
echo $num;
if ($num == 3){
echo "Aquí salimos \n";
break
}
$num++
} while ($num < 5);
?>

FOR

El bucle FOR no es estrictamente necesario, cualquier bucle FOR puede


ser sustituido fácilmente por otro WHILE. Sin embargo, el bucle FOR
resulta muy útil cuando debemos ejecutar un bloque de código a
condición de que una variable se encuentre entre un valor mínimo y
otro máximo. El bucle FOR también se puede romper mediante la
sentencia BREAK.

8
DESARROLLO WEB DINAMICO- 6to año - INFORMATICA
ESCUELA DE EDUCACION TECNICA Nº2
MODULO DE APOYO – ALUMNOS

<?php
for ($num = 1; Snum <=5; $num++){
echo $num;
if ($num == 3){
echo "Aquí nos salimos \n";
break
}
}
?>

Formularios con PHP

Los formularios no forman parte de PHP sino de HTML.

Todo formulario comienza con la etiqueta <FORM


ACTION="lo_que_sea.php" METHOD="post/get">

XML (eXtensive Markup Language)

Es un metalenguaje basado en reglas simples y estrictas. Se utiliza


para almacenar e intercambiar información entre aplicaciones.
Fue creado con el objeto de superar las limitaciones de otro lenguaje
de marcado HTML.
-En HTML las etiquetas definen formatos; en XML definen la estructura
de los datos contenidos.
-En HTML las etiquetas son limitadas en número y en consecuencia el
lenguaje es acotado.
-En XML las etiquetas no son predefinidas como en HTML aquí las crea
el programador
- En HTML la sintaxis puede no someterse a reglas estrictas puesto que
los navegadores interpretan lo que se quiso especificar. Un caso clásico
es el de las etiquetas de cierre.
La estructura de la información XML posibilita, recupera e identifica
la información en forma inequívoca.
XML es un estándar abierto, no hay una empresa comercial propietaria
y tampoco un único entorno de desarrollo. Solo se necesita un editor de
textos que ofrezca la posibilidad de salvar documentos en formato de
texto plano.
Mediante las extensiones disponibles en PHP se pueden desarrollar
aplicaciones que se encarguen de leer y de manipular documentos XML.
Las regiones de un documento pueden delimitarse a través de
etiquetas para identificar y separar las partes unas de otras.

9
DESARROLLO WEB DINAMICO- 6to año - INFORMATICA
ESCUELA DE EDUCACION TECNICA Nº2
MODULO DE APOYO – ALUMNOS

Un parseador o analizador XML es una pieza de código que intenta


leer un documento, recorrerlo e interpretar su contenido.
Elementos y atributos: La estructura de un documento XML
convencional está basada en marcas (tags, etiquetas). Cada etiqueta se
delimita por los caracteres menor que (<) y mayor que (>). Para cada
etiqueta existen las marcas de inicio (<nombre>) y de fin (<\nombre>).
En XML las marcas se denominan elementos.
Un documento bien formado cumple con las siguientes reglas:
- Declaración de inicio: la línea que contenga la versión XML (<?xml
version=”1.0”>), en caso de ser incluida, deberá figurar en primer
lugar los documentos XML sin dejar lugares en blanco antes de
esta declaración.
- Inicio y fin: Cada elemento debe tener una apertura y un cierre
El número de etiquetas de apertura debe coincidir con el número
de etiquetas de cierre.
- Nombres: los nombres de los elementos no pueden contener
espacios.
- Anidamiento permitido: Se pueden anidar elementos pero deben
cerrarse en orden, los elementos no pueden solaparse.
Ejemplo: <?xml version=”1.0”?>
<a> xxx<b>yyy

Trabajo Práctico – Parte teórica

1) ¿Qué es PHP?
2) ¿Cuál es la metodología de funcionamiento?
3) ¿Cuánto cuesta PHP?
4) ¿Cómo se incluye PHP en una página HTML?
5) Si consideramos los lenguajes PHP y HTML ¿Cuál de ellos es
considerado cliente y cuál servidor? ¿Por qué?
6) ¿Qué es XML?
7) ¿Se puede enviar un e-mail a través de una página en PHP?

Trabajo Práctico – Parte práctica

10
Pasos para ejecutar el
Trabajo Practico 1
HTML y PHP
Al abrir el archivo p.html en el
navegador se vera asi:
Podrán ingresar valores en los cuadros
de texto y elegir algunos de los botones
que sugieren operaciones
Pero si
clickean
algún botón y
no lo están
haciendo
desde Apache
verán algo asi
(el código sin
interpretar)
En el panel de control del XAMPP
deberán habilitar la aplicacion Apache y
deberá aparecer el nombre en verde
Luego desde el navegador deberán tipear
“localhost” en la barra de búsqueda
Entonces les
mostrara el
contenido que
hay dentro de la
carpeta
“htdocs”. En la
carpeta “TP3”
deberían estar
guardados los
dos archivos
que queremos
ejecutar
Si ejecutamos
alguna
operación desde
aquí el
resultado
deberá ser
parecido al
siguiente:
FIN
TRABAJOS PRACTICOS EN PHP
ESCUELA DE EDUCACION TECNICA Nº2

TRABAJO PRACTICO 1

Crear los dos archivos que les muestro a continuación usando


algún editor de texto puro. Podria ser “Sublime Text” que facilita los
tags y diferentes elementos asignándoles colores. Los archivos deben
estar guardados en la carpeta “htdocs” una ves que tengan instalado el
“xamp” para poder ejecutarlo y que pueda ser interpretado el código
PHP.

En este archivo llamado “p.html” tener en cuenta la etiqueta


<form>. En ella esta el atributo action que indica el archivo php que se
va a invocar y el atributo method que en este caso se le asigno “get”.
Tambien tener en cuenta que a todos los botones (input
type=”submit”) se les asigno el mismo atributo name=”c”, mientras que
el atributo value es distinto en cada uno. Esto es para después ser
utilizado desde php.

1
TRABAJOS PRACTICOS EN PHP
ESCUELA DE EDUCACION TECNICA Nº2

En este archivo llamado “p.php” estamos utilizando 3 variables


llamadas $c, $n1 y $n2, a las que les asignamos los valores recopilados
en el formulario del archivo anterior. Luego se muestran un par de
mensajes por pantalla usando la sentencia echo. Y finalmente, usando
la sentencia Switch – case se realiza la operación elegida y se muestra
el resultado de la misma.

2
TRABAJOS PRACTICOS EN PHP
ESCUELA DE EDUCACION TECNICA Nº2

Lo que pretendo es que copien el código, lo ejecuten en el


navegador y armen un archivo donde me muestren las capturas de
pantalla con los resultados de las 4 operaciones.
Pueden mejorar el código agregando una decisión dentro de la
división que no permita hacer la operación si intentamos dividir por 0,
ya que así como está el código produce un error.

3
TRABAJOS PRACTICOS EN PHP
ESCUELA DE EDUCACION TECNICA Nº2

TRABAJO PRACTICO 2

Reproducir en html el formulario que se muestra en la imagen


(esta ves no les doy el código).

Tener en cuenta que hay muchos componentes select (12 en


total), y todos tienen los mismos 4 países en las opciones desplegables.
Sería conveniente que (para poder trabajarlos luego en php) los name de
cada select sean diferentes (por ej: equi1, equi2, equi3, etc…), pero los
value que sean los mismos para cada país (los podemos numerar:
value="1" a value="4").
Luego deberemos pensar un código en php que sume los puntos
que obtiene cada país. Tener en cuenta que son 6 partidos, pueden
pensar el código para un partido y luego copiarlo y pegarlo, modificando
solo lo necesario.
Para calcular los puntos tener en cuenta que un partido ganado
suma 3, empatado suma 1 y perdido suma 0.

1
TRABAJOS PRACTICOS EN PHP
ESCUELA DE EDUCACION TECNICA Nº2

TRABAJO PRACTICO 3

En este ejercicio vuelvo a darles código para tipear y entender


cómo funcionan los componentes date para insertar fechas. En
ocasiones debemos hacer cálculos con fechas, calcular una edad
partiendo de una fecha de nacimiento, por ejemplo. Debemos tener en
cuenta que para evitar errores de ingreso de datos, es conveniente usar
un almanaque (así nadie puede ingresar 33/02/2020 como fecha).
También ya en PHP, podemos usar funciones que permiten
calcular la diferencia entre dos fechas, ya sea cantidad de años, meses y
días. Tengan en cuenta que cuando pasamos de un formulario a PHP,
una fecha leída es una cadena de caracteres y hay que convertirla a
formato fecha.
Hay una función que lee la hora del sistema, pero la hora que lee
es la del servidor. Yo quise leer la hora de mi máquina y no lo logre.
Quizás ustedes encuentren la función q lo hace….

• Tipeen el código, pruébenlo, modifiquen lo que se les ocurra


así pueden deducir como funciona.
• Armen un Word con las capturas de pantalla de la
ejecución. Investiguen que sucede si ponen una fecha más
lejana y luego una más cercana, una pasada y una futura,
inviértanlas. Comenten que sucede.
• Si encontraron como leer la hora de la PC cliente me
mandan lo que logren hacer.

1
TRABAJOS PRACTICOS EN PHP
ESCUELA DE EDUCACION TECNICA Nº2

Código en HTML

2
TRABAJOS PRACTICOS EN PHP
ESCUELA DE EDUCACION TECNICA Nº2

Código en PHP

3
TRABAJOS PRACTICOS EN PHP
ESCUELA DE EDUCACION TECNICA Nº2

Pantallas ejemplo en el Navegador

4
TRABAJOS PRACTICOS EN PHP
ESCUELA DE EDUCACION TECNICA Nº2

TRABAJO PRACTICO 4

En este ejercicio voy a proponerles que diseñen un formulario


donde las personas que quieren participar de una competencia de
atletismo (por ejemplo: “La Milla” que suelen correr en Educación
Física) deban cargar los siguientes datos:

• Apellido y Nombre
• DNI
• Genero (F o M)
• Fecha de Nacimiento
• Fecha de la Competencia

Al enviar los datos del formulario, en el código php deberán


calcular la edad del participante (la diferencia entre las dos fechas
ingresadas) y asignarlo a la categoría que corresponda de la siguiente
lista:

• M1: Masculino menor de 15


• M2: Masculino entre 15 y 17
• M3: Masculino mayor de 18
• F1: Femenino menos de 15
• F2: Femenino entre 15 y 17
• F3: Femenino mayor de18

Mostrar un mensaje final completo donde muestre:

Competidor: María Diaz


Edad: 16
Categoría asignada: F2 (Femenino entre 15 y 17)

1
BASE DE DATOS EN XAMP

Podemos ingresar a mysql desde varios lugares (ejecutarlo desde modo comandos
de DOS “cmd” o desde la ventana de XAMP a través del botón SHELL). Una ves en el
prompt de Dos o de Linux debemos buscar la carpeta donde se encuentra y ejecutarlo:

C:\xampp\mysql\bin> mysql -u root -p //Es importante acceder con root

Enter password:

El prompt se modificará y podremos usar algunos comandos de creación y manejo


de base de datos. Debemos acceder con el usuario root para poder crear y actualizar luego
las bases de datos y tablas.

mysql> SHOW DATABASES; //muestra las bases de datos existentes

mysql> CREATE DATABASE mundialito; //crea una base de datos nueva

mysql> USE mundialito; //para usar la base de datos q


creamos

mysql> CREATE TABLE paises (

-> codigo int,

-> pais varchar(15),

-> grupo varchar(1)

-> );

mysql> SHOW TABLES; //muestra las tablas creadas

mysql> SELECT * FROM paises; //muestra todos los registros de una


tabla

mysql> INSERT INTO paises


-> VALUES (1, 'Argentina', 'D');//inserta un registro

mysql> UPDATE paises

-> SET grupo = 'A'

-> WHERE pais = 'Argentina'; //cambia el contenido del campo


grupo

mysql> DELETE FROM paises

-> WHERE codigo = 1; //borra un registro de la tabla

mysql> DELETE FROM personas; //elimina todos los registros de la tabla

mysql> DESC paises; //muestra la estructura de la tabla

mysql> DROP TABLE paises; //elimina la tabla y la estructura

mysql> DROP DATABASE mundialito; //elimina la base de datos

Ejercicio: Usando los comandos anteriores crear la Base de Datos “Muidialito” y la


Tabla “Paises”. Ingresar al menos 10 registros a la tabla. Hacer consultas. Hacer
modificaciones. Adjuntar capturas de pantalla de cada paso.

Esto es a modo repaso para luego explicar como realizar algo similar desde dentro
de HTML. Eso lo haremos en el próximo TP.
TRABAJOS PRACTICOS EN PHP
ESCUELA DE EDUCACION TECNICA Nº2

SQL insertado en PHP

Si queremos acceder a una base de datos desde una página web


debemos tener creadas previamente las tablas en mysql. Luego, desde
una pagina web, podremos insertar datos recopilados en un formulario o
calculados en php, usando sentencias de mysql insertadas dentro de un
archivo con código php. A continuación veremos cómo se hace.

Vamos a continuar usando como punto de partida el formulario


creado en el TP4, donde insertábamos datos de participantes de una
competencia, y calculábamos la edad y la categoría de cada uno.

La tabla donde almacenaremos los datos, que podría llamarse


“COMPETIDORES”, deberá tener los siguientes campos:

Codigo
Apell_Nombre
DNI
Genero
Fecha_Nacim
Fecha_Comp
Edad
Categoria
Tiempo

Lo primero que deberemos hacer es crear la base de datos (que


podría llamarse “MILLA”) y la tabla (que podría llamarse
“COMPETIDORES”).

Luego, en el archivo php donde recopilamos los campos del


formulario y calculamos algunos datos, deberemos agregar las siguientes
líneas:

$host='localhost';
$usuario='root';
$conexion=mysqli_connect($host,$usuario,'', 'MILLA');
if($conexion)
echo "se ha conectado al servidor";
else
echo "no se pudo conectar";

1
TRABAJOS PRACTICOS EN PHP
ESCUELA DE EDUCACION TECNICA Nº2

La función que realiza la conexión con la base de datos es


“mysqli_connect” y tiene 4 parametros: el host con el que se conecta, el
usuario que se conecta, la contraseña del usuario y el nombre de a base
de datos. Noten que los parámetros pueden ser variables con contenido
o datos directamente escritos entre comillas. La contraseña del usuario
root figura como cadena vacía (‘’).

La sentencia IF verifica si la conexión fue exitosa o no, dependiendo


de el valor que devuelva y que puede ser V o F.

Si la conexión fue exitosa podremos proceder a insertar datos en la


tabla de la siguiente manera:

$alta="insert into COMPETIDORES values (default,


'$apel_nombre', '$dni', '$genero', '$fecha_nac',
'$fecha_com', $edad, '$categoria', '00:00:00');";

$resultado=mysqli_query($conexion, $alta);

La función que realiza la inserción de datos en la tabla es


“mysqli_query” y tiene 2 parametros: la variable “$conexion” que realiza
la conexión a la base de datos y la variable “$alta” que contiene el código
en SQL que realiza la inserción de datos (el primer campo que se inserta
y dice “default” funciona si el campo está definido como autoincrement
en la tabla, y le asigna automáticamente el valor siguiente a cada
registro).

Finalmente habrá que desconectarse del host usando las


siguientes líneas:

if(mysqli_close($conexion))
echo "<br>","salida exitosa";
else
echo "<br>","error al desconectarse";

Una vez ingresados algunos datos podremos realizar una consulta


de los registros que contiene la tabla de una forma similar al ingreso de
datos:

2
TRABAJOS PRACTICOS EN PHP
ESCUELA DE EDUCACION TECNICA Nº2

$sql= "select * from COMPETIDORES order by Categoria;";


$consulta= mysqli_query($conexion, $sql);
while ($registro= mysqli_fetch_array ($consulta,
MYSQLI_NUM))
{
echo $registro[0], " ";
echo $registro[1], " ";
echo $registro[2], " ";
echo $registro[3], " ";
echo $registro[4], " ";
echo $registro[5], " ";
echo $registro[6], " ";
echo $registro[7], " ";
echo $registro[8], "<br>";
}

El resultado es un arreglo de registros y para mostrarlos por


pantalla debemos usar una estructura WHILE, ya que no sabemos con
anticipación cuántos registros se pueden encontrar. Cada registro posee
9 posiciones (una por cada campo) y los mostramos enumerando cada
uno y usando la función “mysqli_fetch_array”.

EJERCICIO

Partiendo de lo realizado en el TP4, diseñar un sitio que permita


que se ingresen competidores para la carrera de la milla y los almacene
en una base de datos (calculando su edad y su categoría). El tiempo se
grabará en “00:00:00” para ser modificado luego por el tiempo que les
lleve completar la prueba. También se agregará una consulta de los
inscriptos ordenados por categoría.

3
MERCADITO – Código Completo

CREACION DE LAS TABLAS

- 1-
INDEX.HTML
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1">
</head>
<body>
<br> MERCADITO</br>
<br></br>
<br> ELIJA UNA OPCION</br>
<br></br>
<br><a href= "Ingresar rubro.html"> Ingresar Rubros
</a></br>
<br><a href= "Ingresar productos.php"> Ingresar
Productos </a></br>
<br><a href= "Consultar.html"> Consultar Productos
</a></br>
</body>
</html>

INGRESAR RUBRO.HTML
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1">
</head>
<body>
<form action="rubros.php" name="for" method="get">
<label for="name">RUBRO:</label>
<input type="text" name="rubro" />
<button type="submit">Enviar</button>
</form>
</body>
</html>

RUBROS.PHP
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
</head>
<body>
<?php

$rubro= $_GET['rubro'];
$host='localhost';
$usuario='root';
- 2-
$conexion=mysqli_connect($host,$usuario,'', 'mercadito');
if($conexion)

echo "se ha conectado al servidor";


else
echo "no se pudo conectar";

$alta="insert into rubros values (default, '$rubro');";


$resultado=mysqli_query($conexion, $alta);

if(mysqli_close($conexion))
echo "<br>","salida exitosa";
else
echo "<br>","error al desconectarse";
?>
</body>
</html>

INGRESAR PRODUCTOS.PHP
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1">
</head>
<body>
<form action="productos.php" name="for"
method="get">
<label for="name">CODIGO:</label>
<input type="text" name="codigo" /><br>
<label for="name">DESCRIPCION DEL PRODUCTO:</label>
<input type="text" name="descripcion" /><br>
<label for="name">PRECIO:</label>
<input type="text" name="precio" /><br>
<?php
$conexion=mysqli_connect('localhost','root','',
'mercadito');
$consulta="select * from rubros;";
$resultado=mysqli_query($conexion, $consulta);
echo '<label for="name">RUBRO:</label>';
echo '<select name="ru">';
while ($row = mysqli_fetch_assoc($resultado))
{
ECHO '<option value= "'.$row['codigo'].'">';
ECHO ' '.$row['rubro'];
echo '</option>';
}
echo '</select>';
?>
<br>
<button type="submit">Enviar</button>
- 3-
</form>
</body>
</html>

PRODUCTOS.PHP
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
</head>
<body>
<?php

$codigo= $_GET['codigo'];
$descripcion= $_GET['descripcion'];
$precio= $_GET['precio'];
$rubro= $_GET['ru'];

$host='localhost';
$usuario='root';

$conexion=mysqli_connect($host,$usuario,'', 'mercadito');
if($conexion)

echo "se ha conectado al servidor";


else
echo "no se pudo conectar";

$alta="insert into productos values ($codigo, '$descripcion',


$precio, $rubro);";
$resultado=mysqli_query($conexion, $alta);
if ($resultado)
echo "<br>","Alta de producto exitosa";
else
echo "<br>","error al agregar producto";
if(mysqli_close($conexion))
echo "<br>","salida exitosa";
else
echo "<br>","error al desconectarse";
?>
</body>
</html>

- 4-
CODIGO DE CONSULTAS
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
</head>
<body>
<?php

$host='localhost';
$usuario='root';

$conexion=mysqli_connect($host,$usuario,'', 'mercadito');

//CONSULTA RUBROS
echo "<br>","<br>", "RUBROS", "<br>";
$sqlrubros= "select * from rubros;";
$cons1= mysqli_query($conexion, $sqlrubros);
while ($registro= mysqli_fetch_array ($cons1, MYSQLI_NUM))
{
echo $registro[0], " ";
echo $registro[1], "<br>";
}

//CONSULTA PRODUCTOS
echo "<br>", "PRODUCTOS ORDENADOS POR PRECIO", "<br>";
$sqlproductos= "select productos.*, rubros.rubro from productos
inner join rubros on rubros.codigo = productos.rubro order by
productos.precio;";
$cons2= mysqli_query($conexion, $sqlproductos);
while ($registro= mysqli_fetch_array ($cons2, MYSQLI_ASSOC))
{
echo $registro['codigo'], " ";
echo $registro['descripcion'], " $ ";
echo $registro['precio'], " ";
echo $registro['rubro'], "<br>";
}

mysqli_close($conexion);
?>
</body>
</html>

- 5-
CODIGO DE CONSULTAS CON TABLA PARA
PRESENTACION
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
</head>
<body>
<?php

$host='localhost';
$usuario='root';
$conexion=mysqli_connect($host,$usuario,'', 'mercadito');

//CONSULTA RUBROS
echo "<table border='0'>";
echo "<tr>","</tr>";
echo "<tr>", "RUBROS","</tr>";
echo "</table>";

$sqlrubros= "select * from rubros;";


$cons1= mysqli_query($conexion, $sqlrubros);
echo "<table border='1'>";
echo "<tr>";
echo "<td>","CODIGO","</td>";
echo "<td>","RUBRO","</td>";
echo "</tr>";

while ($registro= mysqli_fetch_array ($cons1, MYSQLI_NUM))


{
echo "<tr>";
echo "<td>";
echo $registro[0], " ";
echo "</td>";
echo "<td>";
echo $registro[1], " ";
echo "</td>";
echo "</tr>";
}
echo "</table>";

//CONSULTA PRODUCTOS
echo "<table border='0'>";
echo "<tr>","</tr>";
echo "<tr>", "PRODUCTOS ORDENADOS POR PRECIO", "</tr>",
"<br>";
echo "</table>";

$sqlproductos= "select productos.*, rubros.rubro from productos


inner join rubros on rubros.codigo = productos.rubro order by
productos.precio;";
$cons2= mysqli_query($conexion, $sqlproductos);
echo "<table border='1'>";
echo "<tr>";
- 6-
echo "<td>","CODIGO","</td>";
echo "<td>","DESCRIPCION","</td>";
echo "<td>","PRECIO","</td>";
echo "<td>","RUBRO","</td>";
echo "</tr>";

while ($registro= mysqli_fetch_array ($cons2, MYSQLI_ASSOC))


{
echo "<tr>";
echo "<td>";
echo $registro['codigo'], " ";
echo "</td>";
echo "<td>";
echo $registro['descripcion'], " ";
echo "</td>";
echo "<td>";
echo " $ ", $registro['precio'], " ";
echo "</td>";
echo "<td>";
echo $registro['rubro'], "<br>";
echo "</td>";
echo "</tr>";
}
echo "</table>";

mysqli_close($conexion);
?>
</body>
</html>

- 7-
TRABAJOS PRACTICOS EN PHP
ESCUELA DE EDUCACION TECNICA Nº2

Tablas Relacionadas – Ingreso de Datos

Lo que vamos a realizar en este ejercicio es declarar dos tablas


relacionadas (los campos que les describo más abajo), usando como ejemplo
el código del TP anterior (TP 7). Además de crear las tablas, deben adjuntar el
código de creación de las mismas. Las tablas se relacionan a través de los
campos “Cod_Compe” de la tabla competencias y “Competencia” de la tabla
Competidores. Tener en cuenta que en la tabla Competidores solo
almacenaremos el código, la descripción estará en la tabla Competencias.

Las tablas que deben crear son:

COMPETENCIAS

*Cod_Compe
Descripcion
Fecha_Compe

COMPETIDORES

*Codigo
Apell_Nombre
DNI
Genero
Fecha_Nacim
Edad
Competencia
Categoria
Tiempo

Luego Hay que crear los formularios, para ingresar competencias y para
ingresar competidores y los archivos PHP para introducir los datos en las
tablas. También deben tomar como modelo el archivo del ejercicio anterior.
En el formulario Competidores deben realizar una consulta, y del resultado,
extraer los latos para que el usuario elija una competencia de las que ya están
cargadas en la tabla Competencias.

Solo eso quiero que hagan. No el sitio completo, sino creación de las
tablas y la carga de datos de ambas.

También podría gustarte