Guia Base Datos Php
-
Upload
luis-eduardo-aponte -
Category
Documents
-
view
215 -
download
2
description
Transcript of Guia Base Datos Php
-
Prof. & Lic. Luis E. Aponte I. Gua Base de Datos -PHP Pgina 1
Ejemplo de Base de Datos en PHP
1. Crear una BD con el Nombre de Estudiantes
2. Crear una tabla llamada: alumnos. La estructura de la misma es:
CREATE TABLE alumnos (
nombre varchar(40) default NULL,
email varchar(50) default NULL,
codigocurso int(11) default NULL auto_increment,
PRIMARY KEY (`codigo`)
)
Observaciones.
La tabla almacenar datos de alumnos que desarrollarn cursos de
programacin en PHP, ASP y JSP.
El cdigo del alumno es de tipo numrico (int) y al indicar que es
auto_increment se generar automticamente por el gestor de base
de datos.
Los campos nombre y mail son de tipo varchar (podemos almacenar
cualquier carcter) y por ltmo el campo codigocurso representa el
curso a tomar por el alumno (1=PHP, 2=ASP y 3=JSP)
El campo clave de esta tabla es el cdigo de alumno (es decir no
podemos tener dos alumnos con el mismo cdigo, no as el nombre
del alumno que puede eventualmente repetirse).
Insertar Datos en la Tablas con SQL.
-
Prof. & Lic. Luis E. Aponte I. Gua Base de Datos -PHP Pgina 2
Para aadir datos en la tabla se debe emplear el comando SQL llamado
insert. Se necesita dos pginas para este proceso, una ser el formulario de carga
de datos y la siguiente ser la que efecte la insercin en la tabla.
Formulario de Carga de Datos.
Problema
Ingreso de Alumnos
Ingrese nombre:
Ingrese Email:
Seleccione el curso:
PHP
ASP
JSP
Formulario de Registro de Datos en Tablas (PHP)
-
Prof. & Lic. Luis E. Aponte I. Gua Base de Datos -PHP Pgina 3
Registro
-
Prof. & Lic. Luis E. Aponte I. Gua Base de Datos -PHP Pgina 4
Se selecciona una base de datos (ya que el gestor de base de datos puede
administrar varias bases de datos):
mysql_select_db("Estudiantes",$conexion) or die("Problemas en la
seleccion de la base de datos"); A esta funcin le indicamos como primer
parmetro el nombre de la base de datos con la que trabajamos y como
segundo parmetro la referencia que retorn la funcin mysql_connect.
El paso ms importante es la codificacin del comando SQL
insert:mysql_query("insert into alumnos(nombre,email,codigocurso) values
('$_REQUEST[nombre]','$_REQUEST[email]',$_REQUEST[codigocurso])",
$conexion) or die("Problemas en el select".mysql_error());
La sintaxis del comando insert es bastante sencilla, indicamos el nombre de
la tabla y los campos de la tabla a cargar. Luego se debe indicar en el
mismo orden los valores a cargar en cada campo (dichos valores los
rescatamos del formulario anterior).
Los campos de tipo varchar SQL requieren que encerremos entre comillas
simples, esto sucede para el nombre y el mail; en cambio, para el
codigocurso esto no debe ser as.
Los subndices de los vectores asociativos no deben ir entre simples
comillas ya que se encuentran dentro de un string, sino se producir un
error.
En caso que MySql detecte un error, retorna false esta funcin, por lo que
se ejecuta la instruccin posterior al or, es decir la funcin die que mostrar
el error generado por MySql llamando a la funcin mysql_error().
Por ltimo cerramos la conexin con la base de datos y mostramos un
mensaje indicando que la carga se efectu en forma correcta.
Listado (Seleccin de Registros de una Tabla)
-
Prof. & Lic. Luis E. Aponte I. Gua Base de Datos -PHP Pgina 5
?php
$conexion=mysql_connect("localhost","root","123")or die("Problemas en la
conexion");
mysql_select_db("phpfacil",$conexion) or die ("Problemas en la seleccin
de la base de datos");
$registros=mysql_query("select codigo,nombre, email, codigocurso from
alumnos",$conexion) or die("Problemas en el select:".mysql_error());
while ($reg=mysql_fetch_array($registros))
{
echo "Codigo:".$reg['codigo']."";
echo "Nombre:".$reg['nombre']."";
echo "Mail:".$reg['email']."";
echo "Curso:";
switch ($reg['codigocurso']) {
case 1:echo "PHP";
break;
case 2:echo "ASP";
break;
case 3:echo "JSP";
-
Prof. & Lic. Luis E. Aponte I. Gua Base de Datos -PHP Pgina 6
break;
}
echo "";
echo "";
}
mysql_close($conexion);
?>
Consulta (seleccin de registros de una tabla)
?php
$conexion=mysql_connect("localhost","root","123") or die("Problemas en la
conexion");
mysql_select_db("phpfacil",$conexion) or die("Problemas en la seleccin de la
base de datos");
$registros=mysql_query("select codigo,nombre, codigocurso from alumnos where
email='$_REQUEST[email]'",$conexion) or die("Problemas en el
select:".mysql_error());
if ($reg=mysql_fetch_array($registros))
{
echo "Nombre:".$reg['nombre']."";
echo "Curso:";
switch ($reg['codigocurso']) {
case 1:echo "PHP";
break;
case 2:echo "ASP";
-
Prof. & Lic. Luis E. Aponte I. Gua Base de Datos -PHP Pgina 7
break;
case 3:echo "JSP";
break;
}
}
else
{
echo "No existe un alumno con ese mail.";
}
mysql_close($conexion);
?>
DELETE (Baja de un registro en una tabla)
El objetivo de este punto es el borrado de un registro de una tabla. Para
ello, implementaremos un programa que solicite ingresar el mail de un alumno y
posteriormente efecte su borrado.
Archivo html eliminar.html
Problema
Ingrese el mail del alumno a borrar:
-
Prof. & Lic. Luis E. Aponte I. Gua Base de Datos -PHP Pgina 8
Archivo eliminar.php
?php
$conexion=mysql_connect("localhost","root","123") or die("Problemas en la
conexion");
mysql_select_db("phpfacil",$conexion) or die("Problemas en la seleccin de la
base de datos");
$registros=mysql_query("select codigo from alumnos where
email='$_REQUEST[mail]'",$conexion) or die("Problemas en el
select:".mysql_error());
if ($reg=mysql_fetch_array($registros))
{
mysql_query("delete from alumnos where email='$_REQUEST[mail]'",$conexion)
or
die("Problemas en el select:".mysql_error());
echo "Se efectu el borrado del alumno con dicho email.";
}
else
{
echo "No existe un alumno con ese mail.";
}
mysql_close($conexion);
?>
DELETE (Baja de todos los registros de una tabla)
Para borrar todos los registros de una tabla debemos llamar al comando
delete de SQL sin disponer la clusula where:
-
Prof. & Lic. Luis E. Aponte I. Gua Base de Datos -PHP Pgina 9
Problema
UPDATE (Modificacin de un registro de una tabla)
De las actividades con tablas esta es la ms larga. Se puede resolver
implementando tres pginas, la primera un formulario de consulta del mail de un
alumno, la segunda otro formulario que nos permita cargar su mail modificado y la
ltima registrar el cambio en la tabla.
El formulario de consulta del mail del alumno es similar a problemas anteriores:
Problema
-
Prof. & Lic. Luis E. Aponte I. Gua Base de Datos -PHP Pgina 10
Ingrese el mail del alumno:
La segunda pgina es la ms interesante y con conceptos nuevos:
Problema
-
Prof. & Lic. Luis E. Aponte I. Gua Base de Datos -PHP Pgina 11