11
Prof. & Lic. Luis E. Aponte I. Guía Base de Datos -PHP Página 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 desarrollarán cursos de programación en PHP, ASP y JSP. El código del alumno es de tipo numérico (int) y al indicar que es auto_increment se generará automáticamente por el gestor de base de datos. Los campos nombre y mail son de tipo varchar (podemos almacenar cualquier carácter) 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 código de alumno (es decir no podemos tener dos alumnos con el mismo código, no así el nombre del alumno que puede eventualmente repetirse). Insertar Datos en la Tablas con SQL.

Guia Base Datos Php

Embed Size (px)

DESCRIPTION

BASE DE DATOS EN PHP

Citation preview

  • 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