Foros del Web » Programando para Internet » PHP »

Borrar un registro previa visualización

Estas en el tema de Borrar un registro previa visualización en el foro de PHP en Foros del Web. Buenos días... es la primera vez que posteo algo en el foro y lo primero que me gustaría decir que me ha servido de gran ...
  #1 (permalink)  
Antiguo 28/01/2014, 05:43
 
Fecha de Ingreso: enero-2014
Mensajes: 3
Antigüedad: 10 años, 2 meses
Puntos: 0
Pregunta Borrar un registro previa visualización

Buenos días... es la primera vez que posteo algo en el foro y lo primero que me gustaría decir que me ha servido de gran ayuda en muchas ocasiones, y tras varios días me he decidido a registrarme para meterme en este mundo de la programación, pero llevo días intentando hacer un borrado de un registro previa-visualización del mismo e introducir un botón de confirmación de eliminación. El código es el siguiente:

(METO EL VALOR A BUSCAR EN LA TABLA)

<html>
<head>
<br></br>
<h2>Baja del Equipo por IP</h2>
</head>
<body>
<form action="ebaja.php" name="baja" method="post">
<br>
Ip del Equipo: <input type="text" name="ip" maxlenght="15">
<input type="submit" value="Aceptar">
</form>
</body>
</html>

(VISUALIZACIÓN Y BORRADO DEL REGISTRO)

<html>
<head>
<link rel="stylesheet" type="text/css" href='styles3.css' />
</head>
<body>
<?php
include ("conectado_db.php");
$registro= mysql_query("SELECT * FROM pcplantilla WHERE ip='$_POST[ip]'") or die ("PROBLEMAS CON LA CONSULTA".mysql_error());
If ($reg = mysql_fetch_array($registro)){
echo '<div id="texto1">IP de EQUIPO para dar BAJA: ';
echo $reg['ip'],"</div>";
echo '<div id="texto2">Nombre del equipo: ';
echo $reg['uname'],"</div>";
echo '<div id="texto3">Marca: ';
echo $reg['marca'],"</div>";
echo '<div id="texto4">Modelo: ';
echo $reg['modelo'],"</div>";
echo '<div id="texto5">S/N: ';
echo $reg['sn'],"</div>";
echo '<div id="texto6">Conectado a la red: ';
echo $reg['conectado'],"</div>";
echo '<div id="texto7">Ubicacion del equipo: ';
echo $reg['ubi'],"</div>";
echo '<div id="texto8">Puesto de red: ';
echo $reg['pred'],"</div>";
echo '<div id="texto9">Comentarios del equipo: ';
echo $reg['comenta'],"</div>";

?>
<input type="button" name="elimina" value="eliminar" />

<?php
if (isset($_POST['elimina'])) {
$borrar=mysql_query("DELETE FROM pcplantilla WHERE ip='$_POST[ip]'",,$link);
echo "<b>ELIMINADO</b>";
}

}else{
echo '<div id="texto12">IP DE EQUIPO NO ENCONTRADA</div>';
}

mysql_close($link);
?>
</body>
</html>
  #2 (permalink)  
Antiguo 28/01/2014, 06:07
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Borrar un registro previa visualización

Debes separar las cosas para entender lo que quieres hacer .... no es tan complicado.

El en primer fichero pones un formulario para seleccionar o introducir una ip que a la postre será eliminada.

El segundo fichero recibe esa ip, la busca en la bse de datos y si existe la muestra y ofrece un botón para confirmar la eliminación....

Debes planteartelo como un segundo formulario donde la ip ya esta elegida y como en el primer caso se manada a otro fichero para que sea eliminada, en el primer caso se manda para que sea buscada.... es lo mismo en un caso se lanza una query "SELECT....WHERE ip='$_POST[ip]'" y en el otro una "DELETE .... WHERE ip='$_POST[ip]'".

No puedes hacerlo todo a la vez como intentas....

Fijate que hay dos acciones del usuario que se deben mandar al servidor, la selección de la ip y la confirmación de la eliminación... dos comunicaciones de cliente a servidor ..... dos formularios

Pero en relidad toda esta operació se podria hacer con un unico fichero....digamos eliminacion.php

Si eliminacion.php no recibe una ip muestra el primer formulario, el que se automanda a si mismo

Ahora eliminacion.php seguro que recibe una ip, pesto que se la ha automandado, la busca, la muestra y ofrece el botón de confirmación. Si la eliminación es confirmada, se automanda otravez la ip con una variable activa de confirmación.

Finamente si eliminacion.php recibe una ip y la variable de confirmación procede a eliminar la ip.

No se si me sigues....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 28/01/2014, 06:34
 
Fecha de Ingreso: enero-2014
Mensajes: 3
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: Borrar un registro previa visualización

Muchísimas gracias por la respuesta, creo entenderte... pero no sé como hacerlo.

Y segundo pedir perdón, porque no sabía poner el código como veo en los demás post.

Creo que sería algo como ésto, llamarse así mismo cuando pulse el botón

Código PHP:
Ver original
  1. <input type="button"  onclick="location.href='eliminar.php?id=<?php  echo $_POST[ip]; ?>'" value="eliminar" />

No sé creo que me estoy liando un poco... Dónde pondría el DELETE??
  #4 (permalink)  
Antiguo 28/01/2014, 06:46
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Borrar un registro previa visualización

No o si como quieras ... pero con un formulario parece mas claro....

Código HTML:
Ver original
  1. <form action="eliminar.php"  method="post">
  2. <imput type="hidden" value="<?php  echo $_POST[ip]; ?>" id="ipAEliminar">
  3. <input type="submit" value="Eliminar la ip <?php  echo $_POST[ip]; ?>">
  4. </form>


y antes if(isset($_POST["ipAEliminar"]))....elimino.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #5 (permalink)  
Antiguo 28/01/2014, 07:43
 
Fecha de Ingreso: enero-2014
Mensajes: 3
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: Borrar un registro previa visualización

Ya creo que lo entendí, muchísimas gracias... lo único que me queda ahora es posicionar el botón de eliminar porque se me va a la parte superior izquierda del frame. Me pondré a buscar por el foro

Un saludo y gracias nuevamente.

Etiquetas: html, mysql, previa, registro, select, sql, tabla
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 14:21.