Vous êtes sur la page 1sur 31

PHP

Avanzado
Ramiro Estigarribia Canese
Arreglos:
Vectores y matrices
Es una coleccin de valores.
Pueden ser unidimensionales (vectores),
bidimensionales (matrices) y multidimensionales.

Se utiliza [ ] para acceder a los elementos del vector.

Vectores
Se utilizan directamente, sin declarar:
$nombre[0]=Juan;$nombre[1]=Pedro;

Si ahora hacemos: $nombre[1]=Luis;
El vector tendr 3 datos.

Tambin podemos obviar el subndice:
$nombre[]=Juan;$nombre[]=Pedro;
$nombre[]=Luis;
Automticamente comienza a numerarse desde cero.


Ejemplo con un Vector
<?php
$nombre[0]=Juan;$nombre[1]=
Pedro;
$nombre[1]=Luis;
for($i=0;$i<count($nombres);$i++)
{
echo $nombres[$i];
echo "<br>"; } ?>

Subir Archivos
Una actividad en los sitios es subir archivos.

Se necesita en muchas ocasiones, por ejemplo para
subir fotos, documentos, programas, etc.

Se requieren dos pginas, una de ellas, un formulario
donde seleccionamos el archivo a enviar y otra
pgina donde se graba el archivo en el servidor.
Subir Imagen <img >
Archivo uno.php:
<form action=dos.php method=post enctype=multipart/form-
data>
Seleccione el archivo:<input type=file name=foto><br><input
type=submit value=Enviar></form>

Archivo dos.php:
<?phpcopy($_FILES['foto']['tmp_name'],$_FILES['foto']['name']);
$nom=$_FILES['foto']['name'];print "<img src=\"$nom\">";?>
Subir Imagen <img >
Base de datos
Uno de los empleos principales de PHP
es el acceso a una base de datos.

Las operaciones se hacen empleando el lenguaje SQL.

PHP implementa distintas funciones segn
la base de datos a emplear.
Existen funciones para trabajar con:
MySQL
Microsoft SQL Server
Oracle
PostgreSQL
SYBASE
Firebird
Informix
InterBase
Ingres
SQLite

Base de datos
Base de datos
$conexion=mysql_connect("localhost","root","");

La funcin mysql_connect se conecta a la Base de
Datos.
El primer parmetro es la direccin donde se
encuentra la base de datos.
El segundo parmetro es el nombre de usuario de la
base de datos ("root" en nuestro caso, que es el
usuario por defecto que crea MySql para el
administrador) y por ltimo la clave.



Listado (seleccin de
registros de una tabla)
Luego de crear la Base de Datos, veremos
como seleccionar datos.

El comando SQL que nos permite recuperar datos de
tablas es select.
Indicamos los campos a seleccionar y luego de la
palabra from indicamos el nombre de la tabla.

select * from Usuarios


Listado (seleccin de
registros de una tabla)
Archivo: Listar_Usuarios.php
<?php$conexion=mysql_connect("localhost","root","");mysql
_select_db("Columbia",$conexion);$registros=mysql_quer
y("select * from Usuarios",$conexion);while
($datos=mysql_fetch_array($registros))
{
print "$datos[Usuario] $datos[Clave]
$datos[Departamento] $datos[Nivel] <hr>";
}
?>

Listar datos de las tablas.
Listar_Funcionarios.php
Documento
Nombre
Nacimiento
Cargo
Salario
Sexo

Listar_Carreras.php
Carrera
Nombre
Duracion
Listar_Profesores.php
Documento
Nombre
Titulo
Horas
Salario

Listar_Pagos.php
Documento
Fecha
Mes
Ano

INSERT
(Alta de registros)
Se utiliza para aadir datos a una tabla.Indicamos el
nombre de la tabla a insertar y luego los campos
entre parntesis y comillas:

insert into Usuarios values ('pedro','123','director','1')

Necesitamos 2 pginas, una ser el formulario de
carga de datos y la siguiente ser la que efecte la
insercin en la tabla.

INSERT
(Alta de registros)
Se selecciona una base de datos:
mysql_select_db("Columbia",$conexion);

A esta funcin le indicamos como parmetros el nombre
de la base de datos la variable de conexin.

El paso ms importante es el comando SQL insert:
mysql_query("insert into Usuarios values
('$_REQUEST[usuario]', '$_REQUEST[clave]',
'$_REQUEST[departamento]', $_REQUEST[nivel])",
$conexion);

INSERT
(Alta de registros)
Formulario de insercin: Fomulario_Usuarios.php

<form action=Insertar_Usuarios.php>
Usuario:<input type=text name=Usuario><br>
Clave:<input type=password name=Clave><br>
Departamento:<input type=text
name=Departamento><br>
Nivel:<input type=number name=Nivel><br><input
type=submit value=Registrar></form>



INSERT
(Alta de registros)
Insercin en la base: Insertar_Usuarios.php
<?php//Conectarse a la base: direccin usuario y
clave$conexion=mysql_connect("localhost","root","");//Elegir la
base de
datosmysql_select_db("Columbia",$conexion);mysql_query("i
nsert into Usuarios values ('$_REQUEST[Usuario]',
'$_REQUEST[Clave]', '$_REQUEST[Departamento]',
$_REQUEST[Nivel])", $conexion);print "Guardado
correctamente";
?>


Crear formularios para las
tablas.
Formulario_Carreras.php
Insertar_Carreras.php
Carrera
Nombre
Duracion

Fomulario_Funcionarios.php
insertar_Funcionarios.php
Documento
Nombre
Nacimiento
Cargo
Salario
Sexo


Formulario_Profesores.php
Insertar_Profesores.php
Documento
Nombre
Titulo
Horas
Salario
Formulario_Pagos.php
Insertar_Pagos.php
Documento
Fecha
Mes
Ano

Delete
(Borrar registros)
Se utiliza para eliminar registros de una tabla.
delete from usuarios

Si no queremos eliminar todos los registros, debemos
indicar cul.
delete from Usuarios where usuario='Marcelo';

Necesitamos 2 pginas, una ser el listado al cual
agregaremos un formulario y la siguiente ser la que
efecte la eliminacin en la tabla.

Delete
(Borrar registros)
Al Archivo:Listar_Usuarios.php le aadimos el formulario al final.
<?php$conexion=mysql_connect("localhost","root","");mysql_se
lect_db("Columbia",$conexion);$registros=mysql_query("select
* from Usuarios",$conexion);while
($datos=mysql_fetch_array($registros))
{
print "$datos[Usuario] $datos[Clave] $datos[Departamento]
$datos[Nivel] <hr>";
}
?>
<form action=Eliminar_Usuarios.php>
Ingrese Usuario:<input type=text name=Usuario><input
type=submit value=Eliminar></form>

Delete
(Borrar registros)
Archivo: Eliminar_Usuarios.php
<?php//Conectarse a la base: direccin usuario y
clave$conexion=mysql_connect("localhost","root","");//El
egir la base de
datosmysql_select_db("Columbia",$conexion);mysql_qu
ery("delete from Usuarios where
Usuario='$_REQUEST[Usuario]'", $conexion);print
"Eliminado correctamente";
?>



Agregar el formulario los
Listados, y crear Eliminar_:
Listar_Alumnos.php
Listar_Usuarios.php
Listar_Profesores.php
Listar_Funcionarios.php
Listar_Carreras.php
Listar_Pagos


Eliminar_Alumnos.php
Eliminar_Usuarios.php
Eliminar_Profesores.php
Eliminar_Funcionarios.php
Eliminar_Carreras.php
Eliminar_Pagos


Include (importar cdigo)
Permite crear libreras de funciones para importar en
varios proyectos.

La idea es agrupar funciones comunes a muchas
pginas, para no tener que tipearlas en cada
archivo.

Ejemplo:
<?php
include "menu.php";
print "Hola, este es el contenido.";include "final.php";
?>
Crear un Men de
opciones
El objetivo es crear un men para acceder a todas
las partes del sitio.

La implementacin de un men permite que el
sistema sea ms modular y facilita su
mantenimiento.
Crear un Men de
opciones
Crear un Men de
opciones:
menu.php
<link href=estilo.css rel=Stylesheet><table border=1
width=100%><tr><td><a href=Listar_Usuarios.php>Listar
Usuarios</a><br><a href=Listar_Alumnos.php>Listar
Alumnos</a><br><a href=Listar_Funcionarios.php>Listar
Funcionarios</a><br></td><td><a
href=listar_carreras.php>Listar Carreras</a><br><a
href=Listar_Pagos.php>Listar Pagos</a><br><a
href=listar_Profesores.php>Listar
Profesores</a><br></td></tr></table><hr>



Agregar el Men
Archivo:
Listar_Usuarios.php
<?php
include
"menu.php";$conexion=mysql_connect("localhost","root","");mysq
l_select_db("Columbia",$conexion);$registros=mysql_query("sele
ct * from Usuarios",$conexion);while
($datos=mysql_fetch_array($registros))
{print "$datos[Usuario] $datos[Clave] $datos[Departamento]
$datos[Nivel]<hr>";
}
?>
<form action=Eliminar_Usuarios.php><input type=text
name=Usuario><input type=submit value=Eliminar></form>

Aadir el men a las
pginas:
Listar_Alumnos.php
Listar_Usuarios.php
Listar_Profesores.php
Listar_Funcionarios.php
Listar_Carreras.php
Listar_Pagos


Aadir un enlace para
insertar a cada listado
<a href=Insertar_Alumnos.php>
Insertar Alumnos</a>
<a href=Insertar_Usuarios.php>
Insertar Usuarios</a>
<a href=Insertar_Profesores.php>
Insertar Profesores</a>
<a href=Insertar_Funcionarios.php>
Insertar Funcionarios</a>
<a href=Insertar_Carreras.php>
Insertar Carreras</a>
<a href=Insertar_Pagos.php> Insertar
Pagos</a>




Listar_Alumnos.php
Listar_Usuarios.php
Listar_Profesores.php
Listar_Funcionarios.php
Listar_Carreras.php
Listar_Pagos


Al final de cada listado,
incluir los formularios
<?php
include Formuario_Alumnos.php;
?>

<?php
include Formuario_Usuarios.php;
?>
<?php
include Formuario_Profesores.php;
?>






Listar_Alumnos.php

Listar_Usuarios.php

Listar_Profesores.php
Listar Carreras,
Listar_Pagos
Preguntas
1. Qu es un vector, y para que se utiliza?
2. Cuntas pginas se requieren para subir archivos, y
qu funcin cumple cada una de ellas?
3. Cite 3 Bases de Datos compatibles con PHP.
4. Escriba el comando SQL para listar la tabla Alumnos:
5. Para qu se utiliza el comando INSERT?