Basado en lo comentado en mi mensaje #18 de este hilo, te pongo aquí un ejemplo muy simple que te permitirá mantener una tabla, con las clásicas funciones de: alta, baja, modificación y consulta. Más abajo también te paso la estructura de la tabla.
El fichero se tiene que llamar
mant_tabla.php ya que, como puedes comprobar, se llama así mismo en distintos puntos:
mant_tabla.php
Código PHP:
<?
$link = mysql_connect('localhost','******','******');
mysql_select_db('tubasededatos',$link) or die('No pudo seleccionarse la BD.');
if ($_POST)
{
$accion=$_POST["accion"];
$descripcion=$_POST["descripcion"];
$id=$_POST["id"];
if ($accion == 'e')
{
//-modificar
$ssql="UPDATE mitabla SET descripcion = '".$descripcion."'
WHERE id=".$id." ";
//echo '<br>El update es: '.$ssql;
mysql_query($ssql,$link) or die('Error en UPDATE mitabla'.mysql_error());
}
elseif ($accion == 'i')
{
//-insertar una fila
$ssql = "INSERT INTO mitabla (descripcion)
VALUES ('".$descripcion."') ";
//echo '<br>El update es: '.$ssql;
mysql_query($ssql,$link) or die('Error en INSERT mitabla'.mysql_error());
}
else
{
echo 'Error accion en el POST: '.$accion;
exit;
}
}
echo '<h3>Listado de la Tabla</h3>';
echo "<a href=mant_tabla.php?accion=i>Insertar</a><br><br>";
$result = mysql_query("SELECT * FROM mitabla ORDER BY id ",$link);
while($row = mysql_fetch_array($result)) {
// Código para cada fila
echo "<a href=mant_tabla.php?id=$row[id]&accion=e>Editar</a>
<a href=mant_tabla.php?id=$row[id]&accion=b>Borrar</a>
$row[id] $row[descripcion]
<br>";
}
mysql_free_result($result);
if ($_GET)
{
$accion=$_GET['accion'];
//-accion 'e' es editar; 'b' es borrar; 'i' es insertar
if ($accion=='b')
{
//-voy a borrar uno
$id=$_GET[id];
$result = mysql_query("DELETE FROM mitabla WHERE id=$id ",$link);
mysql_close($link);
header("Location: mant_tabla.php");
exit;
}
elseif ($accion=='e')
{
//-voy a editar y presentarlo en el formulario
$id=$_GET[id];
$result = mysql_query("SELECT * FROM mitabla WHERE id=$id ",$link);
$row = mysql_fetch_array($result);
$descripcion=$row["descripcion"];
mysql_close($link);
$formulario="Formulario para Modificar";
}
elseif ($accion=='i')
{
$descripcion="";
$formulario="Formulario para Insertar";
}
else
{
echo 'Error accion en el GET: '.$accion;
exit;
}
//-a continuación va el formulario que sirve tanto para insertar como para modificar
?>
<hr>
<h4><?echo $formulario;?></h4>
<form name=f1 action="mant_tabla.php" method="post" />
<br>Descripcion: <input type="text" name="descripcion" size="50" value="<?echo $descripcion?>" />
<input type="hidden" name="id" value="<?echo $id?>" />
<input type="hidden" name="accion" value="<?echo $accion?>" />
<br><input type="submit" value=" Enviar " style="margin-top: 5ex;" />
</form>
<?
}
?>
Y aquí tienes el diseño de la tabla. Sólo tiene 2 campos, pero el funcionamiento sería similar para los campos que quieras.
Cita: CREATE TABLE `mitabla` (
`id` tinyint(11) unsigned NOT NULL auto_increment,
`descripcion` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM ;
--
-- Volcar la base de datos para la tabla `mitabla`
--
INSERT INTO `mitabla` VALUES (1, 'el primer registro');
Espero que te sirva, a tí, o a cualquier otro que lo necesite. Un saludo.