Integracion PHP
Integracion PHP
Unidad 1
Nivelación PHP y MySQL
Contacto: [email protected]
Web: www.elearning-total.com
Unidad 1 – Nivelación PHP y MySQL
PHP Y MYSQL
Desde PHP es posible invocar funciones y ejecutar sentencias específicas de MySQL.
Lo primero que tenemos que hacer es conectar con la base de datos, para esto usaremos la
función mysqli_connect()
Para entender, la interconexión entre ambos se realiza mediante una serie de instrucciones.
mysqli_query ($conexion, consulta) envía una consulta a la base activa asociada al identificador de
enlace $conexion.
La ejecución de esta instrucción requiere, como vimos, que previamente hayamos creado una
conexión a un servidor MySQL con la función mysqli_connect(), estableciendo en los tres primeros
parámetros de la función el host, usuario y password de conexión, lo cual nos permitirá luego
interactuar con una base de datos y las tablas que la compongan, y que se haya asociado
justamente, una base de datos al identificador de enlace mediante la misma instrucción asignando
como cuarto parámetro el nombre de la base.
Allí crearemos una tabla llamada "clientes" con sólo cuatro campos, id, nombre, actividad y web.
Contacto: [email protected]
Web: www.elearning-total.com
Unidad 1 – Nivelación PHP y MySQL
Utilizamos el comando SELECT de SQL para crear una selección de nuestra tabla y mostrar todos
los datos en pantalla por medio de un bucle. Con PHP.
Dentro de una base de datos, organizada por tablas, la selección de una tabla entera o de un
cierto número de registros resulta una operación rutinaria. La siguiente es una forma bastante
clásica de mostrar en pantalla a partir de un bucle los registros seleccionados por una sentencia
SQL:
<!doctype html>
<html>
<head>
<title>Lectura de datos</title>
</head>
<body>
<h1>Lectura de la tabla</h1>
<?php
//conexion con la base y seleccion de la basede datos
$conexion = mysqli_connect("localhost","root","","unidad2_php");
//ejecutamos la sentencia sql
$result=mysqli_query($conexion, "SELECT * from clientes");
?>
<table align="center" border="1">
<tr>
<th>Nombre</th>
<th>Actividad</th>
<th>Web</th>
</tr>
<?php
//mostramos los registros
while ($row=mysqli_fetch_array($result))
{
echo '<tr><td>'.$row['nombre'].'</td>';
echo '<td>'.$row['actividad'].'</td>';
echo '<td>'.$row['web'].'</td></tr>';
}
mysqli_free_result($result)
?>
Contacto: [email protected]
Web: www.elearning-total.com
Unidad 1 – Nivelación PHP y MySQL
</table>
<nav>
<ul>
<li><a href="insertar.html">añadir un nuevo registro</a></li>
<li><a href="actualizar.php">actualizar un registro existente</a></li>
<li><a href="borrar.php">borrar un registro</a></li>
</ul>
</nav>
</body>
</html>
Esto lo haremos mediante la función mysqli_fetch_array que devuelve una variable array con los
contenidos de un registro a la vez que se posiciona sobre el siguiente.
El bucle while nos permite leer e imprimir secuencialmente cada uno de los registros.
Contacto: [email protected]
Web: www.elearning-total.com
Unidad 1 – Nivelación PHP y MySQL
<form action="inserter_registro.php">
Los datos del registro son recogidos a partir de un formulario que obtiene los datos y los envía a
una página PHP que se encarga de procesarlos.
<!doctype html>
<html>
<head>
<title>Insertar datos</title>
<meta charset="utf-8">
</head>
<body>
<h1>Insertar un registro</h1>
<form method="post" action="insertar_registro.php">
<input type="text" name="nombre" placeholder="Nombre">
<input type="text" name="actividad" placeholder="Actividad">
<input type="text" name="web" placeholder="Sitio Web">
<input type="submit" value="Insertar">
</form>
<ul>
<li><a href="mostrar_datos.php">Volver al listado de Clientes</a></li>
</ul>
</body>
</html>
Luego de seleccionar la base a utilizar debemos generar una orden de inserción del registro en
lenguaje SQL. Esta orden será ejecutada por medio de la función mysqli_query, luego
redireccionamos al archive mostrar_registro.php:
Contacto: [email protected]
Web: www.elearning-total.com
Unidad 1 – Nivelación PHP y MySQL
<?php
//conexion con la base y seleccion de la basede datos
$conexion = mysqli_connect("localhost","root","","unidad2_php");
header("Location: mostrar_datos.php");
?>
Contacto: [email protected]
Web: www.elearning-total.com
Unidad 1 – Nivelación PHP y MySQL
Cabe señalar que primero debemos seleccionar el registro que se desea borrar y luego realizar el
borrado propiamente dicho. Para ello crearemos un menú desplegable dinámico, donde se podrá
seleccionar el elemento que se desea borrar.
Luego se pasará a una página PHP una referencia al elemento seleccionado, para borrarlo de la
base de datos.
<!doctype html>
<html>
<head>
<title>Borrar Datos</title>
<meta charset="utf-8">
</head>
<body>
<h1>Borrar un registro</h1>
<?php
//conexion con la base y seleccion de la basede datos
$conexion = mysqli_connect("localhost","root","","unidad2_php");
?>
Contacto: [email protected]
Web: www.elearning-total.com
Unidad 1 – Nivelación PHP y MySQL
</select>
<input type="submit" value="borrar">
</form>
<ul>
<li><a href="mostrar_datos.php">Volver al listado de Clientes</a></li>
</ul>
</body>
</html>
El siguiente paso es hacer efectiva la operación a partir de la ejecución de la sentencia SQL que
construimos a partir de los datos del formulario:
<?php
//pasamos los datos del formulario
$id = $_POST["id"];
//conexion con la base y seleccion de la basede datos
$conexion = mysqli_connect("localhost","root","","unidad2_php");
//creamos la sentencia sql y la ejecutamos
$ssql="DELETE FROM clientes WHERE id='$id'";
mysqli_query($conexion,$ssql);
?>
Contacto: [email protected]
Web: www.elearning-total.com
Unidad 1 – Nivelación PHP y MySQL
El archivo del formulario va a ser esta vez un script PHP en el que efectuaremos una llamada a
nuestra base de datos para construir un menú desplegable donde aparezcan todos los nombres.
Quedaría así:
<!doctype html>
<html>
<head>
<title>Actualizar datos</title>
<meta charset="utf-8">
</head>
<body>
<h1>Actualizar un registro</h1>
<?php
//conexion con la base y seleccion de la basede datos
$conexion = mysqli_connect("localhost","root","","unidad2_php");
?>
<form method="post" action="actualizar_registro.php">
<?php
//creamos la sentencia sql y la ejecutamos
$ssql="SELECT id, nombre FROM clientes ORDER BY nombre";
$result=mysqli_query($conexion,$ssql);
?>
<select name="id">
<?php
//generamos el menu desplegable
while ($row=mysqli_fetch_array($result)){
echo '<option value="'.$row['id'].'">'.$row['nombre'].'</option>';
}
?>
</select>
<input type="text" name="actividad" placeholder="Actividad">
<input type="text" name="web" placeholder="Web">
Contacto: [email protected]
Web: www.elearning-total.com
Unidad 1 – Nivelación PHP y MySQL
La manera de operar para construir el menú desplegable es la misma que para visualizar la tabla.
De nuevo empleamos un bucle while en combinación con la función mysqli_fetch_array lo que nos
permite mostrar cada una de las opciones.
<?php
//pasamos los datos del formulario
$id = $_POST['id'];
$actividad = $_POST['actividad'];
$web = $_POST['web'];
//conexion con la base y seleccion de la basede datos
$conexion = mysqli_connect("localhost","root","","unidad2_php");
//creamos la sentencia sql y la ejecutamos
$ssql="UPDATE clientes SET actividad='$actividad', web='$web' WHERE id=$id";
mysqli_query($conexion, $ssql);
header("Location: mostrar_datos.php");
?>
Contacto: [email protected]
Web: www.elearning-total.com