Está en la página 1de 6

Implantacin de Aplicaciones Web

Actividad 3: operaciones con registros

En esta actividad realizaremos operaciones bsicas con registros: insertar y


eliminar registros. Para realizar la practica utilizaremos ambas extensiones:
mysql y mysqli.
Pgina 2 Curso de PHP

1. Insertar registros

En esta aplicacin vamos a disear dos pginas web, la primera escrita en


html contiene un formulario que recoge los datos necesarios para insertar un
registro nuevo. Estos datos deben coincidir con los que forman la estructura de
la tabla.

El formulario debe escribirse de forma que el mtodo sea GET (aunque se


puede modificar falcilmente para que sea de tipo POST) y el actin debe ser la
pgina 3.php que ser la pgina que recoja el formulario e inserte los datos en
un nuevo registro.

Tenemos, por tanto, 2 paginas web:


3.htmlque contiene el formulario para que el usuario lo rellene con los datos
del nuevo registro.
3.phpque recibe el formulario y genera una operacin de insercin de datos
en la tabla.
Empecemos por la primera, el cdigo es el siguiente:
Pgina 3 Curso de PHP

<form action="3.php" method="get">


<table>
</tr><td>CODIGO</td><td><input type="text" name="cod" ></td></tr>
</tr><td>NOMBRE</td><td><input type="text" name="nom" ></td></tr>
<tr><td>FORMATO</td><td><input type="text" name="for" ></td></tr>
<tr><td>FABRICANTE</td><td><input type="text" name="fab" ></td></tr>
<tr><td>PROCEDENCIA</td><td><input type="text" name="pro" ></td></tr>
<tr><td>TITULAR</td><td><input type="text" name="tit" ></td></tr>
<tr><td></td><td><input type="reset" value="BORRAR"><input type="submit"
value="ENVIAR"></td></tr>
</table>
</form>

Cuando rellenamos el formulario y pulsamos el bontn enviar se enva el formula-


rio a la pgina 3.php. En realidad, lo que enviamos son variables con nombre
igual al name de cada cuadro de texto y cuyo valor es el contenido del cuadro de
texto que ha escrito el usuario. Ej

http://localhost/3.php?cod=NP345K&nom=METADINE ...etc.
Por tanto, la pagina 3.php debe recoger estas variables y asignarle un nuevo
nombre. Se recogen a travs del array $_GET
$cod=$_GET['cod'];
$nom=$_GET['nom'];
$for=$_GET['for'];
$fab=$_GET['fab'];
$pro=$_GET['pro'];
$tit=$_GET['tit'];

Luego, se construye la cadena de insercin colocando estos valores en el lugar


adecuado
$consulta="insert into productos values
('$cod','$nom','$for','$fab','$pro','$tit')";
Pgina 4 Curso de PHP

Por ltimo, lanzamos la consulta


$resultado=$conn->query($consulta);

Siendo $conn el identificador de la conexin y $resultado el objeto que contiene


toda la informacin del resultado de la consulta.
Si todo ha salido bien, $resultado contiene el valor 1. En caso contrario, contie-
ne el valor 1,
El cdigo completo es
<?php
$cod=$_GET['cod'];
$nom=$_GET['nom'];
$for=$_GET['for'];
$fab=$_GET['fab'];
$pro=$_GET['pro'];
$tit=$_GET['tit'];

$servidor="localhost";
$usuario="root";
$clave="";
$basedatos="practicas";
$conn = mysqli_connect($servidor, $usuario, $clave,$basedatos) or die("Error
en la conexin");

$consulta="insert into productos values('$cod','$nom','$for','$fab','$pro','$tit')";


echo $consulta;
$resultado=$conn->query($consulta);
echo "$resultado Registro Insertado";
?>
Pgina 5 Curso de PHP

2. Eliminar un registro
Existen varios mtodos para ordenar a PHP que elimine un registro de MySql.
En este primer mtodo vamos a crear una aplicacin formada por 2 paginas
web. La primera (4.html) contiene un formulario en el que se solicita al usuario el
cdigo del producto que desea eliminar. Este cdigo se enva a la pagina 4.php
que lo recoge y lo borrar de la tabla.
La pgina 4.html contiene el siguiente cdigo
<form action="4.php" method="get">
<table>
</tr><td>CODIGO</td><td><input type="text" name="cod" ></td></tr>
<tr><td></td><td><input type="reset" value="BORRAR"><input type="submit" va-
lue="ENVIAR"></td>
</tr>
</table>
</form>
Y mostrara el siguiente aspecto

Al pulsar el botn enviar se llama a la pgina 4.php que recoge el cdigo enviado y
manda la consulta adecuada a MySQL para eliminar ese registro. Para saber si la ope-
racin ha tenido xito, utilizamos la propiedad affected_rows que nos devuenve el n-
mero de registros que se ha visto afectados en la ltima operacin. El resultado es 1 si
todo ha salido bien y un valor distinto se hubo error.
Pgina 6 Curso de PHP

El cdigo es el siguiente:
$cod=$_GET['cod'];
$servidor="localhost";
$usuario="root";
$clave="";
$basedatos="practicas";
$conn = mysqli_connect($servidor, $usuario, $clave,$basedatos) or die("Error en la cone-
xin");
$consulta="delete from productos where codigo='$cod'";
$resultado=$conn->query($consulta);
$nu=$conn->affected_rows;
if ($nu==1){
echo "1 Registro borrado";}
else {
echo "Error eliminando el registro de cdigo $cod";
}

ACTIVIDADES
1.- Disea una aplicacin web en PHP formada por dos pginas. La primera presenta un for-
mulario en el que se solicita un cdigo de registro para ser borrado y este cdigo es enviado a
una segunda pagina que recibe el cdigo y comprueba que existe, en cuyo caso lo borra. i no
existe el registro con el cdigo enviado se muestra un mensaje de error al usuario.
2. Disea una aplicacin en PHP formada por dos pginas. La primera muestra un formula-
rio con todos los campos de la tabla productos para que el usuario escriba los datos del regis-
tro que se va a insertar. Este formulario es enviado a la pagina php que comprueba en primer
lugar si el cdigo ya existe, en este caso muestra un mensaje de error y en caso de que no
exista, inserta el nuevo registro.

También podría gustarte