Foros del Web » Programando para Internet » PHP »

help, como se hace para borrar un registro de un listado?

Estas en el tema de help, como se hace para borrar un registro de un listado? en el foro de PHP en Foros del Web. Buenas, Alguien sabe como se hace eso, yo se mas menos listar los datos de una base de datos, pero una vez listado hacer un ...
  #1 (permalink)  
Antiguo 25/07/2005, 16:44
 
Fecha de Ingreso: julio-2005
Mensajes: 2
Antigüedad: 12 años, 4 meses
Puntos: 0
help, como se hace para borrar un registro de un listado?

Buenas, Alguien sabe como se hace eso, yo se mas menos listar los datos de una base de datos, pero una vez listado hacer un link que permita borrar el que seleccione no se, alguien me puede decir como se hace eso

por ejemplo si tengo la base de datos: datos
tablas: nombre, telefono

y listando la tabla me aparece esto:

nombre telefono
juan 242
pedro 455

se podria hacer hacerlo listar de una forma para q al lado aparesca alguna X como para borrar ese registro?
  #2 (permalink)  
Antiguo 25/07/2005, 16:57
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
se puede hacer de muchas formas, lo importante es que en algun minuto se deben asignar a unas variables los valores que permitiran construir un sql de borrado. Puede construirse la X como un link, ejemplo:

<a "href=borrar.php?nombre=<?php echo $rec['nombre'];?>">X</a>

donde:

"href=borrar.php?nombre=<?php echo $rec['nombre'];?>" construye un link a la pagina borrar.php y asigna a la variable nombre el valor del campo nombre del registro listado.

borrar php debiera ser mas menos asi:

<?php

.
.
.

if ($_GET['nombre'])
mysql_query("delete from tabla where nombre=".$_GET['nombre'],$link);

?>
  #3 (permalink)  
Antiguo 25/07/2005, 16:58
 
Fecha de Ingreso: julio-2005
Ubicación: España
Mensajes: 91
Antigüedad: 12 años, 5 meses
Puntos: 0
puedes poner x ejemplo:

nombre telefono
juan 242 <a href=borrar.php?id=$id>X</a>
pedro 455 <a href=borrar.php?id=$id>X</a>

sacando el id en la consulta a la vez q sacas el numero y el nombre. Luego en borrar.php solo tienes q poner DELETE FROM TABLA WHERE id=$id
  #4 (permalink)  
Antiguo 25/07/2005, 17:15
Avatar de hieloverde  
Fecha de Ingreso: julio-2005
Ubicación: México, D.F
Mensajes: 467
Antigüedad: 12 años, 5 meses
Puntos: 5
Antes que nada en tu tabla deberias de tener una columna ID con estas caracteristicas:

id int not null auto_increment primary key

Luego aqui tienes el codigo que ordena los registros en una tabla y pone a lado de cada uno una imagen que llamaremos cruz.gif es un vinvulo para eliminar el registro (nota: en este ejmplo doy por hecho que tienes la columna de id):

Pagina donde se mostraran los datos
Código PHP:
$tabla ="tu_tabla";
$result mysql_query ("SELECT * FROM $tabla",$conexion);
echo 
"<table><tr>
<td>id</td><td>nombre</td><td>telefono</td><td>Eliminar</td>"
;
while (
$i mysql_fetch_array($result)) {
$id $i[id];
echo (
"<tr>
<td>"
.$i[id]."</td><td>".$i[nombre]."</td><td>".$i[telefono]."</td>");
echo (
"<td>
<a href = 'eliminar.php?tabla=$tabla&eliminar=$id'><img src='cruz.gif'></a>
</td></tr>"
);
}
echo 
"</table>"
codigo para eliminar.php
Código PHP:
$tabla $_GET['tabla'];
$id $_GET['eliminar'];

$quitar "DELETE FROM $tabla WHERE id=$id";
$quitar_index "ALTER TABLE $tabla DROP id";
$poner_index "ALTER TABLE $tabla ADD id INT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST";
mysql_query($quitar,$conectar);
mysql_query($quitar_index,$conectar);
mysql_query($poner_index,$conectar); 
Este ultimo codigo cosigue eliminar el registro que ha sido seleccionado y vuelve a numerar la columna del id para mantenerla en orden.

A ver si te sirve

Saludos

Última edición por hieloverde; 26/07/2005 a las 13:12
  #5 (permalink)  
Antiguo 25/07/2005, 17:54
 
Fecha de Ingreso: julio-2005
Mensajes: 2
Antigüedad: 12 años, 4 meses
Puntos: 0
se agradece la ayuda
ya hice un id
la primera parte si me salio, pero la segunda parte al darle en la X no pasa nada
yo creo q me falta algo al codigo

lo que tengo
eliminar.php
Código:
<?
 $conexio = mysql_connect("localhost", "", "");
 mysql_select_db ("basededaotos", $conexio) OR die ("No se puede conectar");
$tabla ="datos"; 

$result = mysql_query($sql,$conexio) or die ("Error en $sql :".mysql_error());

$tabla = $_GET['tabla']; 
$id = $_GET['eliminar']; 

$quitar = "DELETE FROM $tabla WHERE id=$id"; 
$quitar_index = "ALTER TABLE $seccion DROP id"; 
$poner_index = "ALTER TABLE $seccion ADD id INT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST"; 
mysql_query($quitar,$conexio); 
mysql_query($quitar_index,$conexio); 
mysql_query($poner_index,$conexio); 


?>
  #6 (permalink)  
Antiguo 26/07/2005, 13:08
Avatar de hieloverde  
Fecha de Ingreso: julio-2005
Ubicación: México, D.F
Mensajes: 467
Antigüedad: 12 años, 5 meses
Puntos: 5
Cita:
Iniciado por wuazaby
la primera parte si me salio, pero la segunda parte al darle en la X no pasa nada
Oye pero eso de no pasa nada quieres decir que no la elimina o que la X ni siquiera tiene vinculo.

si ese codigo que pusiste es el que no te funciona, es por que estas juntando la consulta de los datos con la de eliminar el el mismo script, ademas no tienes la parte para generar la imagen junto al registro y el ejemplo que e puse es para que lo pongas en dos paginas.

mostrar.php y eliminar.php

una muestra los datos y pone las imagenes a lado de cada registro, la otra recibe la tabla y la id del registro y lo elimina.

mientras que lo hagas asi te funcionara.

Saludos

Última edición por hieloverde; 26/07/2005 a las 13:22
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 20:45.