2. ¿Qué es PHP?
PHP (acrónimo de PHP: Hypertext Preprocessor) es un lenguaje de
código abierto muy popular especialmente adecuado para desarrollo web y
que puede ser incrustado en HTML.
BASES DE DATOS MySQL DESDE PHP
Para trabajar con DB desde php se realizan los siguientes pasos:
- La aplicación hace una consulta (u otro tipo de
operación).
- La base de datos proporciona la información solicitada.
- La aplicación "recoge" la información que el motor de
base de datos proporciona.
- La aplicación maneja la información presentada.
- La aplicación presenta un resultado en nuestra pantalla.
1.- CONEXIÓN A BASES DE DATOS MySQL.
Para establece la conexión con una BD MySQL desde php utilizamos:
mysql_connect(“Nombre_host”, “usuario”, “password”);
Los parámetros son opcionales. En caso de que se establezca la
conexión la función devuelve un identificador del enlace con la BD.
$conexion=mysql_connect(“Nombre_host”, “usuario”, “password”);
Para seleccionar una BD con la que vamos a trabajar:
2
3. mysql_select_db(“Nombre_BD”);
Para cerrar la conexión:
mysql_close($conexion);
Ejemplo: Crear un fichero conexion.inc.php para la conexión con su
servidor y su BD.
<?
$mysql_host = “localhost”;
$mysql_database = “prueba”;
$mysql_user = “root”;
$mysql_password = “root”;
$conexion = mysql_connect($mysql_host,$mysql_user,
$mysql_password) or die(“No se ha
podido realizar la conexión”);
mysql_select_db($mysql_database) or die(“No se ha podido
seleccionar la BD”);
?>
Para poder almacenar, modificar o borrar los datos a una base de
datos MySQL con PHP tenemos que tener conceptos básicos de comandos
MySQL
Debemos saber usar el select, delete, update, insert,etc.
Porque en PHP para utilizar esos comandos y se ejecuten en PHP hay
que poner mysql_query delante de la sentencia y entre paréntesis.
Ejemplo
Queremos hacer una búsqueda de todos los datos de una tabla
llamada empleados
<?
$Datos=mysql_query(select*from empleados);
Echo $datos;
3
4. >
En este ejemplo lo que hacemos es una búsqueda que se
almacenara en la variable $datos y luego se mostrara en pantalla el
resultado almacenado para ello hemos usado echo que muestra en
pantalla lo que se ha escrito
A continuación veremos un ejemplo que hemos hecho de un
proyecto de una empresa que se ingresaran los datos médiate un
formulario a la base de datos que hemos creado y además se mostrará,
modificaran y borraran los datos.
Para ello hemos utilizado el XAMPP y un formulario que hemos
explicado con anterioridad.
Primer paso
Crear una base de datos MSQL en el XAMPP
Como nuestro proyecto es sobre una academia y los datos que se van
a ingresar son de supuestos alumnos lo primero es hacer una base de datos
que se almacene los datos que vamos a solicitar en nuestro formulario para
ello entramos al XAMPP.
En la barra de búsqueda ponemos localhost
4
5. Y en la TOOLS phpMyAdmin damos un clic y entramos
Una vez dentro seleccionamos Bases de datos y en crear bases de
datos le ponemos un nombre, en este caso le pondremos idat que es el
nombre de nuestra empresa que hemos creado en el proyecto y le damos a
crear
5
6. Una vez creada nuestra base de datos entramos en Idat (la bases que
hemos creado) y creamos una tabla donde se ingresaran todos los datos que
solicitaremos en nuestro formulario.
El nombre que le hemos puesto a la tabla es alumnos , nuestra tabla
tendrá 14 columnas(los datos que pediremos en el formulario).
Le damos a crear y comenzaremos a poner el nombre de cada columna
y el tipo de contenido que tendrán y su longitud.
6
7. Una vez ya creada nuestra base de datos procederemos a crear
nuestra página PHP.
Crea nuestra página PHP.
Lo primero que hemos hecho es el formulario que anteriormente
hemos creado y validado con java lo hemos guardado con extensión PHP y lo
hemos metido en la carpeta htdocs que se encuentra dentro de la carpeta
XAMPP para que cuando pongamos localhost/formulario.php lo podamos
visualizar (en este caso hemos creado un dominio que anteriormente hemos
explicado con lo cual en vez de escribir localhost hemos escrito idat).
7
8. Ahora lo que haremos será crear un página PHP que le pondremos el
nombre de libreria donde crearemos distintas funciones para que podamos
lograr lo que nos hemos propuesto que es ingresar modificar y borrar datos
de nuestra base de datos. Con lo cual cuando solo tendremos que llamar a la
función para que ejecute lo que deseamos realizar.
Ingresar datos en nuestra base de datos.
Para ello creamos una el librería .php tenemos que activar nuestra
base creada para ello escribimos mysql_pconnect que es conectarse
permanentemente a nuestra base de Datos y entre paréntesis tenemos que
poner localhost , el nombre del usuario en este caso root(administrador) y
la clave como no le hemos puesto clave se pone ””. Luego tenemos que indicar
que tabla queremos usar para ello se usa el comando mysql_select_db y
entre paréntesis se pone el nombre de la tabla que en nuestro caso es idat.
<html>
<body>
<?php
mysql_pconnect("localhost","root", "");
mysql_select_db("idat");
>
<body>
<html>
Como vemos hemos usado etiquetas htm para el formato pero la parte
PHP se pone entre las etiquetas <? > y se guarda con extensión PHP .
Esta parte es muy importante porque si no lo indicamos no podremos
acceder a la base que hemos creado anteriormente.
Ahora crearemos una función para que lo que ingresemos en el
formulario se guarde en nuestra base de datos.
Hemos primero creado un array donde se guardara los datos que
ingresemos en nuestro formulario. Existe una variable por defecto que
guarda la información que se utiliza como array que es $_POST ahí es donde
guardaremos cada dato que ingresemos para ello debemos escribir la
variable por defecto y luego entre “[]” tenemos que poner el valor que
tendrá nuestra variable o array en este caso hemos puesto los nombre de
las columnas de nuestra base de datos pero podríamos haber puesto
cualquier otro nombre y luego lo hemos guardado dentro de otra variable.
$nombre = $_POST['nombre']
8
9. Este array lo metemos dentro de una función que hemos llamado
registro donde indicamos que cuando le demos a aceptar inserte los datos
que están guardados en nuestra array en la base de datos para ello tenemos
que hacer:
Crear una variable la hemos llamado $insertar donde ingresamos esta
sentencia INSERT INTO nombre de la tabla (columa1, columna2,……
(Los nombres de la columna de nuestra base de datos))values
($variable1,$variable2,…..(el nombre de las variables se han ingresado
los valores del array)).
Una vez realizado esto escribimos mysql_query($insertar)
mysql_query sirve para ejecutar la orden que le vamos a dar a mysql en este
caso de ingresar los datos a la tabla por lo cual dentro de los paréntesis
ponemos la variable que es la sintaxis de ingresar un dato en mysql. Otra
opción era directamente escribir lo que hemos escrito en la variable lo
hemos hecho de esa manera porque nos resultaba más sencillo, fácil
detectar algún fallo y más ordenado.
Y por último hemos puesto un echo para poder mostrar una alerta
“cliente ingresado”.
function registro()
{
if(isset($_POST['nombre']))
{
/* El array que hemos establecido */
$nombre = $_POST['nombre'];
$apellido =$_POST['apellido'];
$DNI =$_POST['DNI'];
$numero =$_POST['numero'];
$localidad =$_POST['localidad'];
$provincia =$_POST['provincia'];
$codigo =$_POST['direccion'];
$direccion =$_POST['codigo'];
$telefono =$_POST['telefono'];
$e_mail =$_POST['e_mail'];
$CURSO =$_POST['CURSO'];
$turno =$_POST['turno'];
/* en la variable estamos $insertar se indica el contenido que va
tener que es la sintaxis de ingresar un dato en mysql */
9
10. $insertar = "INSERT INTO alumnos(nombre ,apellido ,DNI ,numero
,localidad ,provincia,
Dirección, código ,teléfono ,e_mail ,CURSO ,turno)
VALUES('".$nombre."','".$apellido."','".$DNI."','".$numero."','".
$localidad."','".$provincia."','".$direccion."','".$codigo."',".$telefono.",'".
$e_mail."','".$CURSO."','".$turno."')" ;
/* Damos la orden que se ejecute */
mysql_query($insertar);
/* Indicamos que salga una alerta cuanod se ingrese los datos */
echo '<html><script language="javascript">alert("cliente
ingresado")</script></html>';
}
Importantes las comillas, si no se ponen o se pone donde no
corresponden da error y no funciona el programa.
Para que esto funcione tenemos que en nuestro formulario.PHP
llamaremos a nuestra función.
<?php
include ("libreria.php");
$a=registro();
?>
Lo que hace include llamar a nuestra librería que hemos creado y
donde esta nuestra función , luego al poner $a=registro () es para ejecutar
nuestra función , esto es importante porque dentro de la libreria crearemos
otras funciones y en cada página que creemos tenemos que indicar que
función queremos que se ejecute.
10
12. Como vemos los datos han sido ingresados correctamente en nuestra
base de datos.
Mostrar los datos en una pagina PHP.
Para ello lo que hemos hecho es en la libreria.php crear otra funcion
que la hemos llamado consulta.
En esa funcion hemos creado una tabla para que se vea ordenado,
como es una pagina PHP para que se muestre la tabla lo que tenemos que
hacer es poner echo que muestra el contenido en la pagina luego todo lo que
sea html en este caso las etiquetas de la tabla van en comillas y hemos
hecho una tabla normal como si fuera html.
Dentro de la tabla que hemos creado como queremos que se muestren
los datos de la base de datos hemos puestos algunas ordenes.
</TR>';
$busqueda="select * from alumnos";
$resultado=mysql_query($busqueda);
$num_resultado = mysql_num_rows($resultado);
for($i=0;$i<$num_resultado;$i++)
{
$fila=mysql_fetch_array($resultado);
echo '
<TR >
Lo primero en una variable llamada $busqueda hemos ingresado una
sintaxis de búsqueda en mysql que es select, nombre de las columnas que
quiero buscar, from, y el nombre de la tabla
$busqueda="select * from alumnos"
Dentro de una variable llamada $resultado ingresamos los datos de la
búsqueda para ellos tenemos que poner mysql_query($busqueda) lo que
12
13. hace es ejecutar la búsqueda y como esto lo hemos metido en una variable
se almacenara en esa variable
$resultado=mysql_query($busqueda)
Luego utilizamos una función que es mysql_num_rows que lo que haces
es contar el contenido que tenemos en nuestra busques y eso lo guardamos
en una varible llamada $num_resultado
$num_resultado = mysql_num_rows($resultado)
Y ahora vamos a realizar un bucle para que se muestre cada uno de los
datos de la base de datos para ello utilizaremso un for
for($i=0;$i<$num_resultado;$i++)
Esto significa que se ejecutará lo que está en el for el número de
veces que se indique, en este caso el valor de la variable $num_resultado.
Y dentro del for entre {} pondremos
$fila=mysql_fetch_array($resultado)
Lo que hace mysql_fetch_array($resultado) es coger los datos que
están en la variable $resultado, como el valor de $resultado es el contenido
de la tabla de la base de datos va a mostrar primero el contenido de la
primera fila luego de la segunda fila hasta que se termine todas las filas si
no estuviera el for solo mostraría la primera fila. Esos datos se meterá
dentro del a variable $fila que es un array y todo esto dentro de for.
Importante como los contenidos están dentro de una tabla tenemos
que poner el array en el campo de la tabla que corresponda.
<TD>'.$fila['ID'].'</TD>
<TD>'.$fila['nombre'].'</TD>
<TD>'.$fila['apellido'].'</TD>
<TD>'.$fila['DNI'].'</TD>
<TD>'.$fila['numero'].'</TD>
<TD>'.$fila['localidad'].'</TD>
<TD>'.$fila['provincia'].'</TD>
13
16. Modificar y Borrar datos
Para modificar o borrar lo que hemos hecho es en el apartado
modifica y borrar hemos puesto un dibujo y en la función consulta hemos
puesto:
Borrar
Hemos primero un hiperenlace (a href) para que cuando hagan un clic
te lleve a la misma pagina pero que te lo actualizado los cambios luego
hemos puesto title=”borrar”para que cuando el puntero pase por la imagen
salga un mensaje que diga Borrar ,luego hemos puesto onclick para que
cuando se haga un clic en la imagen realice la función borrar que ahora la
explicaremos tomando el valor de campo ID de nuestro formulario ,
podríamos haber puesto cualquier otro valor pero como el valor ID es único
para cada alumno hemos decidido que nuestra función escoja ese valor .
<TD><a href="#" title="Borrar" onclick="borrar('.$fila['ID'].')"
><center><img src="borrar.png" border="0" height=40 ><a></TD>
Función borrar
Es una función en java que hemos creado lo que hace es hacer una
alerta de confirmación que saltara un mensaje “Estas seguro de borrar los
datos “si no estamos seguro no se ejecuta y si estamos seguro nos lleva a
una pagina llamada borrar.php
function borrar(id)
{
if (confirm('Estas seguro de borrar los datos '))
{
window.location="borrar.php?nro="+id;
}
16
17. Si nos lleva a esta pagina es para borrar el registro con lo cual
tenemos que crear una función en nuestra librería y luego incluir y ejecutar
la función en la pagina borrado.php
Con lo cual en librería.php escribimos una función llamado baja y en
esa función el valor que ingresemos será el id del registro.
function baja($id)
Luego en la variable $borrado guardamos la sintaxis para borrar un
registro en mysql
delete from tabla y una restricción(where).
$borrado="delete from alumnos where id=$id;"
Y luego lo ejecutamos con
mysql_query($borrado)
y pondremos una mensaje de alerta
echo '<script language="javascript" type="text/javascript">
alert("Se han borrado los datos");
window.location="datos.php";
</script>';
Y por ultimo en la página borrar.php llamamos a la función y lo
ejecutamos
<?php
include "libreria.php";
$a=baja($_GET['nro']);
?>
Al llamar la función como queremos recibir un valor de un array de
numero ponemos $_GET si quisiéramos enviar seria $_POST
Como resultado ya lo tenemos realizado
17
19. Modificar
Para modificar hacemos lo mismo que hemos explicado en borrar lo
único que en a href que es para referenciamos a otra pagina escribimos
editar.php que es donde escribiremos el formulario con los datos que
queremos cambiar y seguido pondremos ¿nro=.$fila['ID']. Que lo que hará
en la barra de búsqueda pondrá el numero id del registro que queremos
cambiar
<TD><a href="editar.php?nro='.$fila['ID'].'"
title="Editar"><center><img src="editar.png" border="0"
height=40><a></TD>
Una ves que lo hemos referenciado crearemos una función para que se
edite con lo cual
En libreria.php careamos una función llamada edita
En esta función lo que haremos será aplica concepto que hemos visto
anteriormente
En una variable $consulta escribiremos una sintaxis de búsqueda con
un filtro que será solo el registro que se pida.
$consultar ="select * from alumnos where id=$nroid";
Luego se ejecutara la búsqueda y se guardara en una variable
resultado
19
20. $resultado = mysql_query($consultar);
Y luego en la variable fila guardaremos cada uno de los datos de
nuestro registro seleccionado utilizando un array
$fila = mysql_fetch_array ($resultado);
Y mostramos la busqueda con retun
function edita($nroid)
{
$consultar ="select * from alumnos where id=$nroid";
$resultado = mysql_query($consultar);
$fila = mysql_fetch_array ($resultado);
return $fila;
}
Una vez hecho esta función lo que haremos será en otra pagina PHP
llamada editar.PHP
Llamaremos esta función como anteriormente lo hemos hecho la
diferencia los datos que queremos que se muestren se meterán en el campo
correspondiente de nuestro formulario que crearemos.
Para ello escribimos
<?php
include ("libreria.php");
$clientes =edita ($_GET['nro']);
?>
20
21. Lo que hace es ejecutar la función edita y el número de registro que
queremos editar será el registro que pinchamos en la pagina datos con lo
cual al poner $_GET es un variable array pero en vez de enviar el dato lo
recibe y nro.
Luego lo que hemos hecho es hacer un formulario y en value poner el
valor correspondiente de cada campo para ello hemos puesto un array para
que muestre el valor correspondiente
Como todo esta almacenado en $cliente tenemos que poner $cliente
[‘’] y dentro del corchete el valor que queremos mostrar
<label for="name" class="ID">ID: </label><input type="text"
name="ID" value = "<?php ECHO $clientes['ID'];?>" id="ID"><br/>
Como vemos en el campo ID hemos puesto un array para que solo
muestre el ID y así haremos en cada campo como resultado cuado
pinchemos en editar se mostrar un formulario con los datos del alumno que
hemos seleccionado
21
22. Ahora lo que haremos sera modificarlo para ello crearemos otra
fucnion en libreris.php que la llamaremos grabar
En esta funcion los datos que ingresaremos seran los datas que
tenemos ingresado en nuestro formulario de la página editar.php
Function grabar($id,$nombre,$apellido,$DNI,$numero,$localidad,
$provincia,$direccion,
$codigo,$telefono,$e_mail,$CURSO,$turno)
Luego en una variable $cambio ingresarémos la sintaxis de cambiar
un registro en mysql que es update nombre de la tabla set lo que deseas
cambiar hemos puesto un filtro que solo se cambia si el id que nos ingresan
es igual al ID de la pagina editar.PHP
$cambio="UPDATE alumnos set
nombre='$nombre',apellido='$apellido',DNI='$DNI',
22
23. numero='$numero',localidad='$localidad',provincia='$provincia',di
reccion='$direccion'
,
codigo='$codigo',telefono=$telefono,e_mail='$e_mail',CURSO='$CURS
O',turno='$turno'
where ID=$id;";
Luego lo ejecutaremos el cambio con
mysql_query($cambio);
En esta parte hemos escrito un echo para mostrar una alerta cuando
se ha realizado el cambio y no lleve a la pagina datos.php
echo '<script language="javascript" type="text/javascript">
alert("Se han modificado");
window.location="datos.php";
</script>';
Por ultimo para que funcione hay que introducir esta funcion en la
pagina editar.php con lo cual en la parte final del documento escribimos
<?php
if (isset($_POST['ID']))
{
$a=grabar($_POST['ID'],$_POST['nombre'],$_POST['apellido'],
$_POST['DNI'],$_POST['numero'],$_POST['localidad'],
$_POST['provincia'],$_POST['direccion'],$_POST['codigo'],
$_POST['telefono'],$_POST['e_mail'],$_POST['CURSO'],
$_POST['turno']);
}
?>
Lo cual no es necesario poner include libreria.php porque ya lo hemos
llamado antes, pero si hay que llamar a la funcion y cuando llamamos a la
funcion hay que hacer un array para que ingrese cada uno de los valores que
pide la funcinon.
Como resultado vemos que se cambia los datos correctamente
23
25. NOTA: HEMOS UTILIZADO HOJAS DE ESTILO PARA PODER
DAR FORMATO A LA HOJA Y HACER UN MENU DESPLEGABLE PARA
PODER INTERACTUAR EN LAS DISTINTAS PAGINAS
25