Foros del Web » Programando para Internet » PHP »

Borrar registro base de datos

Estas en el tema de Borrar registro base de datos en el foro de PHP en Foros del Web. Hola a todos, a ver si me se explicar, necesito borrar un registro de la base de datos en tiempo real(que desaparezca de la pantalla ...
  #1 (permalink)  
Antiguo 07/04/2009, 06:03
thi
 
Fecha de Ingreso: abril-2009
Mensajes: 244
Antigüedad: 15 años
Puntos: 0
Borrar registro base de datos

Hola a todos, a ver si me se explicar,

necesito borrar un registro de la base de datos en tiempo real(que desaparezca de la pantalla al darle al botón borrar), y que ademas se pueda borrar al darle a un boton(o enlace) sin darle ningun dato mas al Delete. Os lo muestro graficamente:

-------------------------------------------------------------------------------------------------
| campo1 | campo2 | campo3 | campo4 | campo5 | campo6 | boton eliminar |
-------------------------------------------------------------------------------------------------
| campo1 | campo2 | campo3 | campo4 | campo5 | campo6 | boton eliminar |
-------------------------------------------------------------------------------------------------
| campo1 | campo2 | campo3 | campo4 | campo5 | campo6 | boton eliminar |
-------------------------------------------------------------------------------------------------

hay que tener en cuenta que al dar al boton eleminar sólo elimina su fila, sin indicarle ningún dato. En algún sitio vi algo como que poniendo "this" php entendiá que se refería a si mismo, pero no se como ponerlo.
Y la otra dificultad con la que me encuentro que la he podido ver en otros formularios del tipo de introducir datos o cambiarlos de una base de datos, es que no me refresca la pantalla con los cambios y tengo que salir y volver a entrar en la pantalla para que los cambios se puedan ver representados.

Un saludo.
  #2 (permalink)  
Antiguo 07/04/2009, 06:07
 
Fecha de Ingreso: abril-2008
Mensajes: 435
Antigüedad: 16 años
Puntos: 10
Respuesta: Borrar registro base de datos

Hola, cuando le das clic al boton delete si o si tenes que enviar algun dato para indicar la fila que queres eliminar, por ejemplo podrias pasar por GET un id que corresponda al id de la fila que queres borrar en la base y lugar borrar el registro poniendo where id = $Id
espero te haya dado una idea

saludos
  #3 (permalink)  
Antiguo 07/04/2009, 09:14
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: Borrar registro base de datos

Otra opcion puede ser : hacer una funcion javascript para borrar esa fila que vos tenes ahi, y cuando apretes un boton ok dentro de tu form actualice tu base de datos..

Saludos, Ricardo !!!
__________________
Mail: [email protected]
  #4 (permalink)  
Antiguo 07/04/2009, 09:35
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 2 meses
Puntos: 15
Respuesta: Borrar registro base de datos

DELETE FROM "nombre_tabla"
WHERE {condición}

para el delete le debes decir donde borrar darle algun dato un id un nombre par q sepa q linea borrar
lo q se me ocurre es q aldarle click a la fila en tu tabal automaticamente la borre aunke no seria muy seguro
otra buena idea es un javascript
saludos!
__________________
WHERE IS MY BLUE SUNNY SKY??
pd: todos los karmas son bienvenidos :D
  #5 (permalink)  
Antiguo 07/04/2009, 10:12
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 9 meses
Puntos: 638
Respuesta: Borrar registro base de datos

Aqui un pequeño tutorial que hice hace algun tiempo al respecto:
http://rogertm.bloggerscuba.com/post...ql-usando-php/

Y si quieres hacer un UpDate, pues mira este:
http://rogertm.bloggerscuba.com/post...ql-usando-php/

saludos y suerte
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #6 (permalink)  
Antiguo 07/04/2009, 10:29
thi
 
Fecha de Ingreso: abril-2009
Mensajes: 244
Antigüedad: 15 años
Puntos: 0
Respuesta: Borrar registro base de datos

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.
  #7 (permalink)  
Antiguo 07/04/2009, 10:45
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 2 meses
Puntos: 15
Respuesta: Borrar registro base de datos

Cita:
Imaginaros que estoy obteniendo una tabla de resultados de una busqueda en la base de datos
si esta en un base de datos tiene un ID cierto
con ese mismo en tu fila al checkbox(sugerencia) le pones el ID
y cuando presiones el boton con un arrayt borras los datos
saludos°
__________________
WHERE IS MY BLUE SUNNY SKY??
pd: todos los karmas son bienvenidos :D
  #8 (permalink)  
Antiguo 07/04/2009, 10:46
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 2 meses
Puntos: 15
Respuesta: Borrar registro base de datos

Cita:
Imaginaros que estoy obteniendo una tabla de resultados de una busqueda en la base de datos
si esta en un base de datos tiene un ID cierto
con ese mismo en tu fila al checkbox(sugerencia) le pones el ID
y cuando presiones el boton con un arrayt borras los datos
saludos°
__________________
WHERE IS MY BLUE SUNNY SKY??
pd: todos los karmas son bienvenidos :D
  #9 (permalink)  
Antiguo 07/04/2009, 10:51
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 9 meses
Puntos: 638
Respuesta: Borrar registro base de datos

Cita:
Iniciado por thi Ver Mensaje
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
  1. <?php
  2. /** conexion ***************************/
  3. // conectamos a la base de datos
  4. $link = mysql_connect('localhost', 'root', '');
  5. if(!$link) {
  6.     die("Error al intentar conectar: ".mysql_error());
  7. }
  8. // seleccionamos la base de datos
  9. $db_link = mysql_select_db('dase-de-datos', $link);
  10. if(!$db_link) {
  11.     die("Error al intentar seleccionar la base de datos". mysql_error());
  12. }
  13. /** fin conexion ************************/
  14. // hacemos una consulta
  15. // para mostrar los registros
  16. $sql = mysql_query("SELECT * FROM usuarios", $link) or die(mysql_error());
  17. // mostramos los registros
  18. while($row = mysql_fetch_array($sql)){
  19.     echo $row['usuarioNombre']." - ".$row['usuarioEmail'].
  20.     // mostramos un vinculo Eliminar
  21.     // que envia via $_GET
  22.     // el ID del registro a eliminar
  23.     " - <a href='eliminar.php?id=$row[usuario_ID]'>Eliminar</a>"."\n";
  24. }
  25. ?>
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
  1. <?php
  2. /** conexion ***************************/
  3. // conectamos a la base de datos
  4. $link = mysql_connect('localhost', 'root', '');
  5. if(!$link) {
  6.     die("Error al intentar conectar: ".mysql_error());
  7. }
  8. // seleccionamos la base de datos
  9. $db_link = mysql_select_db('dase-de-datos', $link);
  10. if(!$db_link) {
  11.     die("Error al intentar seleccionar la base de datos". mysql_error());
  12. }
  13. /** fin conexion ************************/
  14. // comprovamos si
  15. // ha sido enviado el formulario
  16. if(isset($_POST['eliminar']) && $_POST['eliminar'] == 'Eliminar'){
  17.     // creamos la consulta
  18.     // que eliminara el registro
  19.     // que viene via $_POST
  20.     $id_eliminar = $_POST['id'];
  21.     $sqlEliminar = mysql_query("DELETE FROM usuarios
  22.                                WHERE usuario_ID = $id_eliminar", $link)
  23.                                 or die(mysql_error());
  24.     // enviamos un mensage de exito
  25.     $mensaje =  "El registro a sido eliminado";
  26. }
  27. // si no ha sido enviado el formulario aun
  28. // recogemos el ID
  29. // del registro a eliminar
  30. // via $_GET
  31. elseif(isset($_GET['id'])){
  32.     $id = $_GET['id'];
  33.     // hacemos una consulta
  34.     // para mostrar el registro
  35.     // que vamos a eliminar
  36.     $sql = mysql_query("SELECT * FROM usuarios
  37.                        WHERE usuario_ID = $id", $link)
  38.                         or die(mysql_error());
  39.     $row = mysql_fetch_array($sql);
  40.     // advertimos
  41.     $mensaje =  "¿Está seguro que quiere eliminar el usuario <b>$row[usuarioNombre]</b>?";
  42. }
  43. // mostramos el mensage
  44. echo $mensaje;
  45. ?>
  46. <!-- creamos el formulario HTML
  47. que enviara el ID
  48. del registro a eliminar  -->
  49. <form name="eliminar-registro" method="post" action="<?php $_SERVER['PHP_SELF']; ?>" >
  50. <input name="id" type="hidden" value="<?php echo $row['usuario_ID']; ?>" />
  51. <input name="eliminar" type="submit" value="Eliminar" />
  52. </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
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:59.