Creación BBDD con PHP. (alta, baja, modificación tablas).

En este ejercicio vamos a crear una BBDD con PHP, llamaremos a una función para realizar la conexión y tendremos formularios para dar de alta, buscar, modificar y borrar registros de una tabla.

1, creamos la BBDD. la llamaremos coche.php
<?
$BaseDatos="coches";
$Tabla="ocasion";
$DBhost="localhost";
$DBuser="root";
$DBpass="";
$db=mysql_connect ($DBhost, $DBuser, $DBpass);

 if (!$db) die ("conexion erronea");

   $sql="CREATE DATABASE coches";

   $res=mysql_query($sql,$db);


if (!mysql_select_db("coches",$db)) die ("Error de seleccionar al BBDD");


  $sql="CREATE TABLE ocasion (
  id int (11) NOT NULL auto_increment,
marca varchar (15),
modelo varchar (15),
   color varchar (15),
   combustible varchar (15),
   fecha int (4),
precio int (10),
PRIMARY KEY (id)
   )";
   $res=mysql_query ($sql,$db);


   $sql="CREATE TABLE usuarios (
   id int (11) NOT NULL,
password varchar (15),
PRIMARY KEY (id)
   )";
   $res=mysql_query($sql,$db);
if (!$res) die ("Error al crear la tabla usuarios".mysql_errno());
 ?>


2. Hacemos el fichero con la función para conectarnos a la BBDD. conexion.php
<?
function Conectar()
{
$DBHost="localhost";
$DBUser="root";
$DBPass="";

$db=@mysql_connect($DBHost, $DBUser,$DBPass) or 
die ("<center><h3>ERROR!!! No se ha podido conectar a la base de datos</h3></center>");
if(!$db) die("ERROR en la conexion".mysql_errno());
  $res=mysql_select_db("coches",$db);

if(!$res) die ("Error al seleccionar".mysql_errno());
  return$db;
  }
?>

3. Hacemos la primera pagina, un formulario sencillo para llamar funciones. inicio.html
<html>
 <head><title>Inicio</title>
 <body bgcolor="white" link="#6E6E6E" vlink="#6E6E6E" alink="#6E6E6E">
  <br><br><br>
  <center>
  <table border=1>
  <tr>
  <th colspan=3>COCHES</th>
  </tr>
  <tr>
  <td width="100"><center><a href="altas.html"><b>Altas</b></a></center>
  <td width="100"><center><a href="buscar.html"><b>Buscar</b></a></center>
  <td width="100"><center><a href="consultas.php"><b>Consultas</b></a></center>
  </tr>
  </table>
  </center>
</body>
</html>


4. Fichero html para realizar altas. altas.html
<html>
<head>
<title>Alta de Vehiculos</title>
</head>
<body bgcolor="white" link="#6E6E6E" vlink="#6E6E6E" alink="#6E6E6E">
<center>
<h1>Alta de Vehiculos</h1>
<p>
<form action=altas.php method=POST>
<table>
<tr><td>Marca</td>
<td>
<select name="marca">
<option value="fiat">Fiat</option>
<option value="seat">Seat</option>
<option value="ford">Ford</option>
</select>
</td>
</tr>
<tr><td>Modelo</td>
<td><input type=text name=modelo></td>
</tr>
<tr><td>Color</td>
<td><input type=text name=color></td>
</tr>
<tr><td>Combustible</td>
<td><input type=radio name=combustible value=Gasolina>Gasolina
<input type=radio name=combustible value=Diesel>Diesel
</td>
</tr>
<tr><td>Año de Matriculacion</td>
<td><input type=text name=anho></td>
</tr>
<tr><td>Precio</td>
<td><input type=text name=precio></td>
</tr>
</table>
<br>
<br>
<tr>
<td><input type=submit value=Enviar></td>
<td><input type=button value=Volver onclick='history.back()'></td>
</tr>
</form>
</body>
</html>

5. Enlace al fichero alta.php donde se escriben los datos en la tabla correspondiente. altas.php

<html>
<head><title>Altas.php</title>
</head>
<body bgcolor="white" link="#6E6E6E" vlink="#6E6E6E" alink="#6E6E6E">
<center>
<h1>Alta de Vehiculos</h1>
<hr>
<?
require("conexion.php");
$db=conectar();
$marca=$_POST["marca"];
$modelo=$_POST["modelo"];
$color=$_POST["color"];
$combustible=$_POST["combustible"];
$fecha=$_POST["anho"];
$precio=$_POST["precio"];


$sql="INSERT INTO ocasion(marca,modelo,color,combustible,fecha,precio)
VALUES('$marca','$modelo','$color','$combustible',$fecha,$precio)";
$res=mysql_query($sql,$db);


if($res)
echo("Alta correcta");
else
echo("Alta Incorrecta".mysql_errno());
?>
<form action="inicio.html" method="POST">
<table>
<tr>
<td><input type=submit value="Volver"></td>
</tr>
</table>
</form>
</center>
</body>
</html>

6. Fichero html para realizar búsquedas buscar.html
<html>
<head>
<title>Busqueda de Vehiculos</title>
</head>
<body bgcolor="white" link="#6E6E6E" vlink="#6E6E6E" alink="#6E6E6E">
<center>
<h1>Busqueda de Vehiculos</h1>
<p>
<form action=buscar.php method=post>
<table>
<tr><td>Marca</td>
<td>
<select name="marca">
<option value="fiat">Fiat</option>
<option value="seat">Seat</option>
<option value="ford">Ford</option>
</select>
</td>
</tr>
<tr><td>Modelo</td>
<td><input type=text name=modelo></td>
</tr>
</tr>
<tr><td>Año de Matriculacion</td>
<td><input type=text name=fecha></td>
</tr>
<tr><td>Precio</td>
<td><input type=text name=precio></td>
</tr>
</table>
<br>
<br>
<tr><td><input type=submit value=Enviar></td></tr>
</form>
</body>
</html>


7. fichero PHP que nos trae la busqueda solicitada. buscar.php
<html>
<head><title>buscar.php</title>
</head>
<body bgcolor="white" link="#6E6E6E" vlink="#6E6E6E" alink="#6E6E6E">
<center>
<h1>Busqueda de Vehiculos</h1>
<hr>


<?
require("conexion.php");
$db=conectar();


$marca=$_POST["marca"];
$modelo=$_POST["modelo"];
$fecha=$_POST["fecha"];
$precio=$_POST["precio"];

$sql="select * from ocasion where marca like'$marca' or
modelo like '$modelo' or
fecha like '$fecha' or
precio like '$precio'";

$res=mysql_query($sql,$db);
$Num_registros=mysql_num_rows($res);


if(!$res)
echo("Su busqueda es incorrecta".mysql_errno());
else
{
echo"<table border=1>";
while ($row=mysql_fetch_array($res))
{
$id=$row["id"];
$marca=$row["marca"];
$modelo=$row["modelo"];
$fecha=$row["fecha"];

echo"<tr>";
echo"<td width=100>";
echo"<a href=modificar.php?op=$id>Modificar</a>"; //  los datos ?op=$id almacenamos los datos del id, para poder recuperarlos en el otro documento.
echo"</td>";
echo"<td width=100>";
echo"<a href=bajas.php?op=$id>Borrar</a>";
echo"</td>";
echo "<td width=100>$marca</td>";
echo "<td width=100>$modelo</td>";
echo "<td width=100>$fecha</td>";
echo"</tr>";

}
echo"</table>";
echo"<br><br><br>";
}
echo"Registros encontrados:".$Num_registros;
?>


<form action="inicio.html" method="POST">
<table>
<tr>
<td><input type=submit value="Volver"></td>
</tr>
</table>
</form>
</body>
</html>

8. Desde el fichero buscar.php nos muestra opciones para dar modificar o dar de baja. haremos el de modificar, hacemos la llamada a los datos que ya estan en la BBDD, los muestra y los modificamos. modificar.php

<html>
<head>
<title>Modificacion de Vehiculos</title>
</head>
<body bgcolor="white" link="#6E6E6E" vlink="#6E6E6E" alink="#6E6E6E">
<center>
<h1>Modificacion de Vehiculos</h1>
<p>
<form action=modificar1.php method=post>
<?
require("conexion.php");
$db=conectar();
$id=$_GET["op"];   // La llamada al enlace la realizamos con $_get 


$sql="SELECT * FROM ocasion WHERE id like '$id'";
$res=mysql_query($sql,$db);


if(!$res)
  echo"Error al seleccionar".mysql_errno();
else
  
  While($row=mysql_fetch_array($res))  // los datos los pedimos de una tabla en forma de array, usamos esta sentencia
  {
  $id=$row['id'];
  $marca=$row['marca'];
  $modelo=$row['modelo'];
  $combustible=$row['combustible'];
  $color=$row['color'];
  $fecha=$row['fecha'];
  $precio=$row['precio'];

echo"
<table>
<tr>
<td>Marca</td>
<td><input type=text name=marca value=".$marca."></td>
</tr>
<tr>
<td>Modelo</td>
<td><input type=text name=modelo value=".$modelo."></td>
</tr>
<tr>
<td>Combustible</td>
<td><input type=text name=combustible value=".$combustible."></td>
</tr>
<tr>
<td>Color</td>
<td><input type=text name=color value=".$color."></td>
</tr>
</tr>
<tr>
<td>Fecha</td>
<td><input type=text name=fecha value=".$fecha."></td>
</tr>
<tr>
<td>Precio</td>
<td><input type=text name=precio value=".$precio."></td>
</tr>
<tr>
<td><input type=hidden name=id value=".$id."></td>
</tr>
</table>";
}
?>
<br>
<br>
<tr><td><input type=submit value=Modificar></td></tr>
</form>
</body>
</html>

9. Como hemos hecho la llamada a los datos para realizar la modificación, ahora tendremos que realizar la modificación en la tabla correspondiente, y mostrar una pantalla donde nos indique que se han modificado o no los datos de forma correcta. modificación.php
<html>
<head><title>modificar.php</title>
</head>
<body bgcolor="white" link="#6E6E6E" vlink="#6E6E6E" alink="#6E6E6E">
<center>
<h1>Modificacion de Vehiculos</h1>
<?
require("conexion.php");
$db=conectar();


$marca=$_POST["marca"];
$modelo=$_POST["modelo"];
$combustible=$_POST["combustible"];
$color=$_POST["color"];
$fecha=$_POST["fecha"];
$precio=$_POST["precio"];
$id=$_POST["id"];


$sql="UPDATE ocasion SET
marca='$marca',
modelo='$modelo',
combustible='$combustible',
color='$color',
fecha='$fecha',
precio='$precio'
WHERE id='$id'";


$res=mysql_query($sql,$db);
if(!$res)
 echo ("No se ha realizado correctamente".mysql_errno());
else
  echo "Modificacion Realizada";
?>
<form action="inicio.html" method="POST">
<center><input type=submit value=Volver><center>
</form>
</body>
</html>

10. Opción bajas, solo al pulsarlo da de baja el registro en la tabla. bajas.php
<html>
<head><title>Baja</title>
<body bgcolor="white" link="#6E6E6E" vlink="#6E6E6E" alink="#6E6E6E">
<center>
<h1>Baja de Vehiculos</h1>
<br>
<br>
<?
require("conexion.php");
$db=conectar();
$ident=$_GET["op"];
$sql="DELETE FROM ocasion WHERE id like '$ident'";


$res=mysql_query($sql,$db);

if(!$res)
 echo ("No se ha realizado correctamente".mysql_errno());
else
  echo "Baja Correcta";
?>
<form action="inicio.html" method="POST">
<br>
<td><input type=submit value="Volver"></td>
</form>
</center>
</body>
</html>

11. la pagina de consulta nos da una tabla con todos los datos de la tabla. consultas.php
<html>
<head><title>Consulta</title></head>
<body bgcolor="white" link="#6E6E6E" vlink="#6E6E6E" alink="#6E6E6E">
<center>
<form action="inicio.html"  method="post">
<table border=1>
<th colspam=6> Consulta de todos los vehiculos</th>
<tr>
<th>..marca..</th><th>..Modelo..</th><th>..Color..</th>
<th>..Combustible..</th><th>..Fecha..</th><th>..Precio..</th>
</tr>
<?
require("conexion.php");
$db=conectar();


$consulta="select * from ocasion";
$datos= @mysql_query($consulta,$db) or
die ("<h3>Error no se ha pododido ejecutar la consulta</h3>");


$filan=mysql_num_rows($datos);

for ($i=0;$i<$filan;$i++)
{
$fila=mysql_fetch_array($datos);
$ma=$fila['marca'];
$mo=$fila['modelo'];
$co=$fila['color'];
$com=$fila['combustible'];
$fe=$fila['fecha'];
$pre=$fila['precio'];



print"<tr><td>".$ma."</td>
   <td>".$mo."</td>
<td>".$co."</td>
<td>".$com."</td>
<td>".$fe."</td>
<td>".$pre."</td>
</tr>";

}
echo"<p>";
echo"Registros encontrados:".$filan;
echo"</table>";
echo"<center><input type=submit value=volver></center>";

?>
</body>
</html>

9 comentarios:

  1. no sirve para nada no funciona jajajaja

    ResponderEliminar
  2. Excelente Aporte, tiene sus detalles
    como que al grabar la fecha esta incorrecta, pero es pecata minuta,
    ademas se agradece sus conocimiento, ya que esta bien estructurado
    desde las funciones hasta el desarrollo.

    Atm. Ing. Demetrio Yanuary

    ResponderEliminar
  3. Me recontra sirvio!!!! lo ajuste para usarlo conectado a Postgresql.
    Gracias!

    ResponderEliminar
  4. Anónimo... con ke remplazas mysql_errno..en postgres.??!

    ResponderEliminar
  5. por que no hace las modificaciones

    ResponderEliminar
  6. La verdad muy bueno, muy buen aporte Gracias..!!

    ResponderEliminar

Gracias por participar. :-)