Cita:
Iniciado por thi
Gracias a todos por las respuestas,
creo que me he explicado mal. El codigo para borrar registros me lo conozco perfectamente, el problema es otro, es que no se como componer una instrucción Delete en el que no se que condición poner en el Where.
Imaginaros que estoy obteniendo una tabla de resultados de una busqueda en la base de datos, que no siempre tiene que tener los mismos resultados, y que ademas permita borrar registros sin ningun criterio sino que se eliminaran los que se quieran pinchando en el boton eliminar de cada fila. Como sabe el programa que se quiere eliminar esa fila al hacer click en el boton eliminar si el contenido de esa fila no tiene porque ser siempre el mismo.
Un saludo.
Deberas siempre tener un campo unico que muestres en cada consulta, para eso es el ID por ejemplo, si miras el link que te pase anteriormente y te lees la explicacion veras la respuesta a tu duda:
Código php:
Ver original<?php
/** conexion ***************************/
// conectamos a la base de datos
if(!$link) {
}
// seleccionamos la base de datos
if(!$db_link) {
}
/** fin conexion ************************/
// hacemos una consulta
// para mostrar los registros
// mostramos los registros
echo $row['usuarioNombre']." - ".$row['usuarioEmail'].
// mostramos un vinculo Eliminar
// que envia via $_GET
// el ID del registro a eliminar
" - <a href='eliminar.php?id=$row[usuario_ID]'>Eliminar</a>"."\n";
}
?>
El bucle while te mostrara una lista de todos tus registros, junto con un link que dice Eliminar, OK? con este link pasamos a la pagina eliminar.php el parametro que usaremos para identificar que registro vamos a borrar, el ID:
Código php:
Ver original<?php
/** conexion ***************************/
// conectamos a la base de datos
if(!$link) {
}
// seleccionamos la base de datos
if(!$db_link) {
}
/** fin conexion ************************/
// comprovamos si
// ha sido enviado el formulario
if(isset($_POST['eliminar']) && $_POST['eliminar'] == 'Eliminar'){ // creamos la consulta
// que eliminara el registro
// que viene via $_POST
$id_eliminar = $_POST['id'];
WHERE usuario_ID = $id_eliminar", $link)
// enviamos un mensage de exito
$mensaje = "El registro a sido eliminado";
}
// si no ha sido enviado el formulario aun
// recogemos el ID
// del registro a eliminar
// via $_GET
elseif(isset($_GET['id'])){ $id = $_GET['id'];
// hacemos una consulta
// para mostrar el registro
// que vamos a eliminar
WHERE usuario_ID = $id", $link)
// advertimos
$mensaje = "¿Está seguro que quiere eliminar el usuario <b>$row[usuarioNombre]</b>?";
}
// mostramos el mensage
echo $mensaje;
?>
<!-- creamos el formulario HTML
que enviara el ID
del registro a eliminar -->
<form name="eliminar-registro" method="post" action="<?php $_SERVER['PHP_SELF']; ?>" >
<input name="id" type="hidden" value="<?php echo $row['usuario_ID']; ?>" />
<input name="eliminar" type="submit" value="Eliminar" />
</form>
si no quieres usar $_POST[] le pones $_GET[] e incluso lo puedes hacer todo en la misma pagina, pero ya eso lo haces tu, asi es como mejor aprendes, y si tienes alguna duda o te da algun error, sique que lo solucionamos