You are on page 1of 5

1

PHP y MySql

Uso de Formularios HTML
Gestiona formularios de HTML, el concepto básico que es importante entender es que
cualquier elemento de los formularios estará disponible automáticamente en su código PHP. Por
ejemplo:
1. Crear un archivo con el nombre acción.php con el siguiente código:
Hola <?php echo $_POST["nombre"]; ?> <br />
Tiene <?php echo $_POST["edad"]; ?> a&ntilde;os

2. Luego cree el formulario:
<form action="accion.php" method="POST">
Su nombre: <input type="text" name="nombre" />
Su edad: <input type="text" name="edad" />
<input type="submit" value="Enviar" >
</form>


Conexión a MySql:

<?php
function Conectarse(){
if (!($link=mysql_connect("localhost","usuario","contraseña"))){
echo "Error conectando a la base de datos.";
exit();
}
if (!mysql_select_db("BD a usar",$link)){
echo "Error seleccionando la base de datos.";
exit();
}
return $link;
}
Conectarse();
echo "Conexión con la base de datos conseguida.<br>";
?>

Dejarlo solo como una función y grabarlo con un nombre como conecta.php:
<?php
function Conectarse(){
if (!($link=mysql_connect("localhost","root","a"))){
echo "Error conectando a la base de datos.";
exit();
}
if (!mysql_select_db("inventario",$link)){
echo "Error seleccionando la base de datos.";
exit();
}
return $link;
}
?>

Ya que tenemos la función en un archivo separado solo hay que mandarlo llamar cuando sea
necesario, de esta forma cuando tengamos aplicaciones complejas que use muchas páginas php y
sea necesario cambiarle algo a la conexión solo se le tenga que hacer el cambio a este pequeño
archivo y no a todas las páginas.

Mostrar los datos de una tabla:
Hay que crear una página de php para mostrar los datos de una tabla en pantalla, los datos
pueden ser de cualquier tabla, por ejemplo, el contenido de la tabla articulo de la BD inventario.

2

<?php
include("conecta.php");
$link=Conectarse();
$result=mysql_query("select * from articulo order by id_articulo",$link);
?>
<table border="1" cellspacing="1" cellpadding="1">
<tr>
<td>Codigo</td>
<td>Nombre</td>
<td>Precio</td>
</tr>
<?php
while($row = mysql_fetch_array($result)){
printf("<tr>
<td>%s</td>
<td>%s</td>
<td>%s</td></tr>",
$row["id_articulo"], $row["nombre"], $row["precio"]);
}
mysql_free_result($result);
?>
</table>


Agregar registros a tabla:
Para insertar datos a una tabla se debe de crear un formulario para la inserción, luego pasar los
datos del formulario por medio de código para ser grabados en la tabla.
Se usaran dos archivos, uno que recibe datos (recibearticulo.php) y el otro que los graba
(grabararticulo.php):

Recibearticulo.php:
<h1>Ejemplo de uso de bases de datos con PHP y MySQL</h1>
<form action="grabararticulo.php" method="post">
<TABLE>
<tr>
<td>Codigo:</td>
<td><input type="text" name="codigo" size="20" maxlength="30" id="codigo"></td>
</tr>
<tr>
<td>Nombre:</td>
<td><input type="text" name="nombre" size="20" maxlength="30" id="nombre"></td>
</tr>
<tr>
<td>Precio:</td>
<td><input type="text" name="precio" size="20" maxlength="30" id="precio"></td>
</tr>
</TABLE>
<input type="submit" name="accion" value="Grabar">
</FORM>

Grabararticulo.php
<?php
include("conecta.php");
$link=Conectarse();
$Sql="insert into articulo (id_articulo, nombre, precio)
values ('".$_POST["codigo"]."','".$_POST["nombre"]."','".$_POST["precio"]."')";
mysql_query($Sql,$link);
header("Location: seleccionar.php");
?>
3


Se pueden juntar los códigos de recibearticulo y poner debajo el de seleccionar artículo para que
este todo en un solo formulario:

<h1>Ejemplo de uso de bases de datos con PHP y MySQL</h1>
<form action="grabararticulo.php" method="post">
<TABLE>
<tr>
<td>Codigo:</td>
<td><input type="text" name="codigo" size="20" maxlength="30" id="codigo"></td>
</tr>
<tr>
<td>Nombre:</td>
<td><input type="text" name="nombre" size="20" maxlength="30" id="nombre"></td>
</tr>
<tr>
<td>Precio:</td>
<td><input type="text" name="precio" size="20" maxlength="30" id="precio"></td>
</tr>
</TABLE>
<input type="submit" name="accion" value="Grabar">
</FORM>

<hr size="3" />
<?php
include("conecta.php");
$link=Conectarse();
$result=mysql_query("select * from articulo order by id_articulo",$link);
?>
<table border="1" cellspacing="1" cellpadding="1">
<tr>
<td>Codigo</td>
<td>Nombre</td>
<td>Precio</td>
</tr>
<?php
while($row = mysql_fetch_array($result)){
printf("<tr>
<td>%s</td>
<td>%s</td>
<td>%s</td></tr>",
$row["id_articulo"], $row["nombre"], $row["precio"]);
}
mysql_free_result($result);
?>
</table>

Modificar registros:
Se utiliza para actualizar alguna información faltante o que se desee cambiar, se utilizaran tres
archivos, consulta.html, buscar.php y actualizar.php

consulta.html: se utiliza para ingresar el campo que se buscara en la tabla y que se actualizara
posteriormente.

<h1>Ejemplo de modificar</h1>
<form action="buscar.php" method="post">
Nombre: <input type="text" name="nombre" size="20" maxlength="30">
<input type="submit" name="accion" value="Buscar">
</form>
4


buscar.php: código que recibirá el argumento del formulario para mostrar la fila que se recuperara
de la tabla.

<?php
include("conecta.php");
$link=Conectarse();
$Sql="select * from articulo where nombre like '%".$_POST["nombre"]."%' order by id_articulo";

$result=mysql_query($Sql,$link);
?>

<table border="1" cellspacing="1" cellpadding="1">
<tr>
<td>Codigo</td>
<td>Nombre</td>
<td>Precio</td>
</tr>

<form name="form1" method="post" action="actualizar.php">
<?php
while($row = mysql_fetch_array($result))
{
printf("<tr><td>
<INPUT TYPE='text' NAME='id_articulo' SIZE='15' MAXLENGTH='30'
value='%s'>&nbsp;</td><td>&nbsp;
<INPUT TYPE='text' NAME='nombre' SIZE='20' MAXLENGTH='30'
value='%s'>&nbsp;</td><td>&nbsp;
<INPUT TYPE='text' NAME='precio' SIZE='20' MAXLENGTH='30'
value='%s'>&nbsp;</td></tr>",
$row["id_articulo"], $row["nombre"],$row["precio"]);
}
mysql_free_result($result);
?>
<input type="submit" name="accion" value="Guardar">
</form>


actualizar.php: será el código que realice la actualización en la base de datos.

<?php
include("conecta.php");
$link=Conectarse();
$Sql="UPDATE articulo SET id_articulo='".$_POST["id_articulo"]."',
nombre='".$_POST["nombre"]."', precio='".$_POST["precio"]."'
WHERE nombre='".$_POST["nombre"]."'";

mysql_query($Sql,$link);
header("Location: consulta.html");
?>

Eliminar Registros:
Borrara determinados datos de una tabla en cuestión, se usaran dos archivos, uno que mostrara los
datos a ser eliminados (mostrarborrar.php) y otro que los borrara (borrar.php).

mostrarborrar.php
<h1>Ejemplo de uso de bases de datos con PHP y MySQL</h1>
<?php
include("conecta.php");
5

$link=Conectarse();
$result=mysql_query("select * from articulo order by id_articulo",$link);
?>
<table border="1" cellspacing="1" cellpadding="1">
<tr>
<td>Codigo:</td>
<td>Nombre:</td>
<td>Precio:</td>
<td>Borrar:</td>
</tr>
<?php
while($row = mysql_fetch_array($result)) {
printf("<tr>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td><a href=\"borrar.php?id_articulo=%d\"> Borrar </a></td></tr>",
$row["id_articulo"], $row["nombre"], $row["precio"], $row["id_articulo"]);
}
mysql_free_result($result);
?>

borrar.php
<?php
include("conecta.php");
$link=Conectarse();
mysql_query("delete from articulo where id_articulo = ".$_GET["id_articulo"],$link);
header("Location: mostrarborrar.php");
?>