Foros del Web » Programando para Internet » PHP »

Eliminar un registro php de la fila

Estas en el tema de Eliminar un registro php de la fila en el foro de PHP en Foros del Web. Buenas, tengo una dudilla en el tema de borrar registros. $sql = "DELETE FROM bookings WHERE fecha=''quiero que sea la de la fila"; mysql_query($sql); es ...
  #1 (permalink)  
Antiguo 22/09/2010, 02:34
 
Fecha de Ingreso: septiembre-2010
Mensajes: 92
Antigüedad: 13 años, 7 meses
Puntos: 1
Pregunta Eliminar un registro php de la fila

Buenas, tengo una dudilla en el tema de borrar registros.



$sql = "DELETE FROM bookings WHERE fecha=''quiero que sea la de la fila";
mysql_query($sql);


es decir, tengo una tabla que me muestra las reservas que ha hecho ese usuario.
Quiero que en una de las celdas aparezca un boton "borrar" que te permita borrar ese registro, es decir la reserva que corresponde a esa fila.

Muchas gracias
  #2 (permalink)  
Antiguo 22/09/2010, 02:42
Avatar de angelAparicio  
Fecha de Ingreso: julio-2009
Ubicación: Sevilla
Mensajes: 307
Antigüedad: 14 años, 9 meses
Puntos: 22
Respuesta: Eliminar un registro php de la fila

Lo más sencillo es que en esa celda pongas algo de este estilo:

<a href="borrar.php?pk=<?=$pk_reserva?>">Borrar reserva</a>

Y en el fichero borrar.php hagas el borrado:

$sql = "DELETE FROM bookings WHERE pk=".$_GET['pk'];
mysql_query($sql);
//Y ahora rediriges al listado o haces lo que tengas que hacer.

Es mejor borrar siempre por claves primarias, por cierto.
__________________
Mis webs:
- Programador Web Autónomo
- Conciertos en Sevilla
  #3 (permalink)  
Antiguo 22/09/2010, 03:08
 
Fecha de Ingreso: septiembre-2010
Mensajes: 92
Antigüedad: 13 años, 7 meses
Puntos: 1
Pregunta Respuesta: Eliminar un registro php de la fila

Cita:
Iniciado por angelAparicio Ver Mensaje
Lo más sencillo es que en esa celda pongas algo de este estilo:

<a href="borrar.php?pk=<?=$pk_reserva?>">Borrar reserva</a>

Y en el fichero borrar.php hagas el borrado:

$sql = "DELETE FROM bookings WHERE pk=".$_GET['pk'];
mysql_query($sql);
//Y ahora rediriges al listado o haces lo que tengas que hacer.

Es mejor borrar siempre por claves primarias, por cierto.
Tengo un problema, se que es una tonteria pero como no estoy muy puesta.

MIra al poner el link en la celda , como esta en un php me dice que no.... es decir he puesto

echo "<td class='tit'><b><a href="borrar.php?pk=<?=$pk_reserva?>"Borrar reserva</a></b></td> \n";
  #4 (permalink)  
Antiguo 22/09/2010, 04:43
 
Fecha de Ingreso: septiembre-2010
Mensajes: 92
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Eliminar un registro php de la fila

Cita:
Iniciado por angelAparicio Ver Mensaje
Lo más sencillo es que en esa celda pongas algo de este estilo:

<a href="borrar.php?pk=<?=$pk_reserva?>">Borrar reserva</a>

Y en el fichero borrar.php hagas el borrado:

$sql = "DELETE FROM bookings WHERE pk=".$_GET['pk'];
mysql_query($sql);
//Y ahora rediriges al listado o haces lo que tengas que hacer.

Es mejor borrar siempre por claves primarias, por cierto.
no me borrar...:S aunque no da error
  #5 (permalink)  
Antiguo 22/09/2010, 04:53
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 6 meses
Puntos: 74
Respuesta: Eliminar un registro php de la fila

No utilices short tags que estan en desuso.

-<? no, <?php si

Veamos, en tu página donde tienes el enlace tienes que tener esto:

Código PHP:
Ver original
  1. echo "<td class='tit'><b><a href='borrar.php?id=$id'>Borrar reserva</a></b></td> \n";

Y luego en borrar.php esto otro:
Código PHP:
Ver original
  1. $id = $_GET['id'];
  2.  
  3. $sql = "DELETE FROM bookings WHERE id=$id";

De esta manera se borrara. Comprueba antes que $id este recibiendo algún valor.

Saludos,
  #6 (permalink)  
Antiguo 22/09/2010, 05:35
 
Fecha de Ingreso: septiembre-2010
Mensajes: 92
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Eliminar un registro php de la fila

Cita:
Iniciado por DeFFeR Ver Mensaje
No utilices short tags que estan en desuso.

-<? no, <?php si

Veamos, en tu página donde tienes el enlace tienes que tener esto:

Código PHP:
Ver original
  1. echo "<td class='tit'><b><a href='borrar.php?id=$id'>Borrar reserva</a></b></td> \n";

Y luego en borrar.php esto otro:
Código PHP:
Ver original
  1. $id = $_GET['id'];
  2.  
  3. $sql = "DELETE FROM bookings WHERE id=$id";

De esta manera se borrara. Comprueba antes que $id este recibiendo algún valor.

Saludos,
Con ese código me sale...

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

gracias
  #7 (permalink)  
Antiguo 22/09/2010, 05:44
Avatar de AdrianSeg  
Fecha de Ingreso: enero-2010
Mensajes: 595
Antigüedad: 14 años, 2 meses
Puntos: 14
Respuesta: Eliminar un registro php de la fila

Como estas montando la tabla en la que salen las fechas reservadas? usas un id autoincremental para hacer las busquedas? Pon el codigo que construye la tabla y te diremos como arreglarlo...el problema es que no estas pasando valor alguno por el id.
  #8 (permalink)  
Antiguo 22/09/2010, 05:48
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 6 meses
Puntos: 74
Respuesta: Eliminar un registro php de la fila

Mi ejemplo esta bien, lo que sucede es lo que dice AdrianSeg. id, no tiene ningún valor.

  #9 (permalink)  
Antiguo 22/09/2010, 06:03
 
Fecha de Ingreso: junio-2010
Mensajes: 62
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Eliminar un registro php de la fila

Cierto el codigo de DeFFeR tiene que funcionar, el problema es la id seguramente.

Código PHP:
$id $_POST['id'];
//Creamos la sentencia SQL y la ejecutamos
$sSQL="Delete From bookings Where id_lo que tengas='$id'";
mysql_query($sSQL);
 
// Nos Indica que el Registro a sido Borrado
echo"<div align='center'><br>
<h2>Registro Borrado</h2>
</div>"

  #10 (permalink)  
Antiguo 22/09/2010, 08:15
 
Fecha de Ingreso: septiembre-2010
Mensajes: 92
Antigüedad: 13 años, 7 meses
Puntos: 1
Pregunta Respuesta: Eliminar un registro php de la fila

Cita:
Iniciado por AdrianSeg Ver Mensaje
Como estas montando la tabla en la que salen las fechas reservadas? usas un id autoincremental para hacer las busquedas? Pon el codigo que construye la tabla y te diremos como arreglarlo...el problema es que no estas pasando valor alguno por el id.
Mi tabla es algo asi:


Código PHP:
 <link href="stylever.css" rel="stylesheet" type="text/css"> 

<?php
$link 
mysql_connect("localhost""usuario""contraseña");
mysql_select_db("pruebasa_coches"$link);
 

$result mysql_query("SELECT the_date, salida, destino FROM bookings where correo='" $_POST['correo'] . "' ORDER BY the_date ASC LIMIT 10"$link);
if (
$row mysql_fetch_array($result)){
echo 
"<table class='tabla'> \n";
echo 
"<tr> \n";
echo 
"<td class='tit'><b>Fecha</b></td> \n";
echo 
"<td class='tit'><b>Salida</b></td> \n";
echo 
"<td class='tit'><b>Destino</b></td> \n";
echo 
"<td class='tit'><b>Acción</b></td> \n";

echo 
"</tr> \n";
while (
$row mysql_fetch_row($result)){
echo 
"<tr> \n";
echo 
"<td class='borde'>$row[0]</td> \n";
echo 
"<td class='borde'>$row[1]</td> \n";
echo 
"<td class='borde'>$row[2]</td> \n";
echo 
"<td class='borde'><b><a href='borrar.php?id=$id'>Borrar reserva</a></b></td> \n";

echo 
"</tr> \n";

}
}

?>
y en el archivo borrar.php lo que ha puesto antes él.


Código PHP:

$link 
mysql_connect("localhost""usuario""contraseña");
mysql_select_db("pruebasa_coches"$link);
  
      
$id $_GET['id'];
 
       

      
$sql "DELETE FROM bookings WHERE id=$id";
  
      
mysql_query($sql) or die (mysql_error()); 

GRACIAS:D:D
  #11 (permalink)  
Antiguo 22/09/2010, 08:23
 
Fecha de Ingreso: julio-2010
Ubicación: La Ciudad Blanca, Mérida-Yucatán
Mensajes: 375
Antigüedad: 13 años, 9 meses
Puntos: 7
Respuesta: Eliminar un registro php de la fila

En tu consulta para construir tu tabla nunca recuperas el id

Código PHP:
Ver original
  1. $result = mysql_query("SELECT the_date, salida, destino

solamente tres campos especificos por eso no te funciona el codigo de DeFFeR
__________________
--No todos aprendemos de la misma forma, ni a la misma velocidad---
  #12 (permalink)  
Antiguo 22/09/2010, 09:36
 
Fecha de Ingreso: septiembre-2010
Mensajes: 92
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Eliminar un registro php de la fila

Cita:
Iniciado por zapt142 Ver Mensaje
En tu consulta para construir tu tabla nunca recuperas el id

Código PHP:
Ver original
  1. $result = mysql_query("SELECT the_date, salida, destino

solamente tres campos especificos por eso no te funciona el codigo de DeFFeR
MUCHAS GRACIAS :D

Una preguntilla... sabes porque al hacer la consulta, el primer registro no se me ve? he de tener dos para que empiecen a aparecer....

Gracias de nuevo :D
  #13 (permalink)  
Antiguo 23/09/2010, 01:10
 
Fecha de Ingreso: septiembre-2010
Mensajes: 92
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Eliminar un registro php de la fila

Cita:
Iniciado por zapt142 Ver Mensaje
En tu consulta para construir tu tabla nunca recuperas el id

Código PHP:
Ver original
  1. $result = mysql_query("SELECT the_date, salida, destino

solamente tres campos especificos por eso no te funciona el codigo de DeFFeR
Me da el siguiente error...

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
  #14 (permalink)  
Antiguo 23/09/2010, 01:13
 
Fecha de Ingreso: septiembre-2010
Mensajes: 92
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Eliminar un registro php de la fila

me dice que la consulta esta vacia.. y ya cambié el codig...


Código PHP:
$link mysql_connect("*""*"*");
mysql_select_db("
coches", $link);

$result = mysql_query("
SELECT idthe_datesalidadestino FROM bookings where  correo='" . $_POST['correo'] . "' ORDER BY the_date ASC LIMIT 10", $link);
if ($row = mysql_fetch_array($result)){
echo "
<table class='tabla'n";
echo "
<trn";
echo "
<td class='tit'><b>Fecha</b></tdn";
echo "
<td class='tit'><b>Salida</b></tdn";
echo "
<td class='tit'><b>Destino</b></tdn";
echo "
<td class='tit'><b>Selecci&#243;n</td> \n";

echo "</tr> \n";
while (
$row mysql_fetch_row($result)){
echo 
"<tr> \n";
echo 
"<td class='borde'>$row[0]</td> \n";
echo 
"<td class='borde'>$row[1]</td> \n";
echo 
"<td class='borde'>$row[2]</td> \n";
echo 
"<td class='borde'><b><a href='borrar.php?id=$id'>Borrar reserva</a></b></td> \n";


echo 
"</tr> \n"

y en el borrar.php


Código PHP:
<?php
$link 
mysql_connect("*""*""*");
mysql_select_db("*"$link);
$id $_GET['id'];

$sql mysql_query("DELETE FROM bookings WHERE id=$id");
mysql_query($sql) or die (mysql_error());

?>
  #15 (permalink)  
Antiguo 23/09/2010, 01:40
 
Fecha de Ingreso: septiembre-2010
Mensajes: 92
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Eliminar un registro php de la fila

Ahora ya me recoge el id... pero , aunque me da el mensaje de registro borrado no desaparece de mi bd...

Código PHP:
$result mysql_query("SELECT id, the_date, salida, destino FROM bookings where  correo='" $_POST['correo'] . "' ORDER BY the_date ASC LIMIT 10"$link);
if (
$row mysql_fetch_array($result)){
echo 
"<table class='tabla'> \n";
echo 
"<tr> \n";
echo 
"<td class='tit'><b>Fecha</b></td> \n";
echo 
"<td class='tit'><b>Salida</b></td> \n";
echo 
"<td class='tit'><b>Destino</b></td> \n";
echo 
"<td class='tit'><b>Selección</td> \n";

echo 
"</tr> \n";
while (
$row mysql_fetch_row($result)){
echo 
"<tr> \n";
echo 
"<td class='borde'>$row[0]</td> \n";
echo 
"<td class='borde'>$row[1]</td> \n";
echo 
"<td class='borde'>$row[2]</td> \n";
echo 
"<td class='borde'><b><a href='borrar.php?id=$id\ '>Borrar reserva</a></b></td> \n"

y el borrar.php

Código PHP:
  if (empty($_GET['id'])==false
  { 
    
$id $_GET['id']; 
    
//Conectamos con la base de datos 
   
$link mysql_connect("*****")
    
mysql_select_db("coches"$link);

    
$sql "DELETE from bookings WHERE id=$id'".mysql_real_escape_string($id)."'";   
    
$result mysql_query($sql); 
    echo 
"registro eliminado"
  } 
  else 
  { 
    echo 
"no hay variable en id"
Muchas gracias...

creo que tengo un problema con esta línea

echo "<td class='borde'><b><a href='borrar.php?id=$id\ '>Borrar reserva</a></b></td> \n";

en algunos sitios he visto *.php.php, y eso no me deja a mi xk dice que no encuentra la página... gracias
  #16 (permalink)  
Antiguo 23/09/2010, 01:49
 
Fecha de Ingreso: septiembre-2010
Mensajes: 92
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Eliminar un registro php de la fila

Me sigue sin encontrar variable.........

Código PHP:
<?php 
  
if (empty($_GET['id'])==false
  { 
    
$id $_GET['id']; 
    
//Conectamos con la base de datos 
   
$link mysql_connect("*");
    
mysql_select_db("coches"$link);

    
$sql "DELETE from bookings WHERE id='$id'".mysql_real_escape_string($id)."'";   
    
$result mysql_query($sql); 
    echo 
"registro eliminado"
  } 
  else 
  { 
    echo 
"no hay variable en id"
  } 
?>
y otro

Código PHP:
$result mysql_query("SELECT id, the_date, salida, destino FROM bookings where  correo='" $_POST['correo'] . "' ORDER BY the_date ASC LIMIT 10"$link);
$id $_GET['id'];
if (
$row mysql_fetch_array($result)){
echo 
"<table class='tabla'> \n";
echo 
"<tr> \n";
echo 
"<td class='tit'><b>Fecha</b></td> \n";
echo 
"<td class='tit'><b>Salida</b></td> \n";
echo 
"<td class='tit'><b>Destino</b></td> \n";
echo 
"<td class='tit'><b>Selección</td> \n";

echo 
"</tr> \n";
while (
$row mysql_fetch_row($result)){
echo 
"<tr> \n";
echo 
"<td class='borde'>$row[0]</td> \n";
echo 
"<td class='borde'>$row[1]</td> \n";
echo 
"<td class='borde'>$row[2]</td> \n";
echo 
"<td class='borde'><b><a href='borrar.php?id=$id'>Borrar reserva</a></b></td> \n"
  #17 (permalink)  
Antiguo 23/09/2010, 02:19
 
Fecha de Ingreso: septiembre-2010
Mensajes: 92
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Eliminar un registro php de la fila

el problema es que el código que tengo puesto para que me recoja la variable no me funciona...:( alguein sabe porque?

muchas graciasss
  #18 (permalink)  
Antiguo 23/09/2010, 03:24
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 6 meses
Puntos: 74
Respuesta: Eliminar un registro php de la fila

Si. El problema es que lo estas haciendo mal.

Mira, aqui te lo dejo arreglado. Ahora si te funcionará:

Esta es la página donde haces la consulta y sacas los datos:

Código PHP:
Ver original
  1. <?php
  2. echo "<table class='tabla'> \n";
  3. echo "<tr> \n";
  4. echo "<td class='tit'><b>Fecha</b></td> \n";
  5. echo "<td class='tit'><b>Salida</b></td> \n";
  6. echo "<td class='tit'><b>Destino</b></td> \n";
  7. echo "<td class='tit'><b>Selección</td> \n";
  8. echo "</tr> \n";
  9. $result = mysql_query("SELECT id, the_date, salida, destino FROM bookings where  correo='" . $_POST['correo'] . "' ORDER BY the_date ASC LIMIT 10", $link);
  10. while($row = mysql_fetch_array($result)){
  11. echo "<tr> \n";
  12. echo "<td class='borde'>$row[0]</td> \n";
  13. echo "<td class='borde'>$row[1]</td> \n";
  14. echo "<td class='borde'>$row[2]</td> \n";
  15. echo "<td class='borde'><b><a href='borrar.php?id=$row[0]'>Borrar reserva</a></b></td> \n";
  16. }
  17. echo "</table>";
  18. ?>

Y esta es la página borrar.php

Código PHP:
Ver original
  1. <?php
  2. if (empty($_GET['id'])==false)
  3.   {
  4.     $id = $_GET['id'];
  5.     //Conectamos con la base de datos
  6.    $link = mysql_connect("*");
  7.     mysql_select_db("coches", $link);
  8.  
  9.     $sql = "DELETE from bookings WHERE id='".mysql_real_escape_string($id)."'";  
  10.     $result = mysql_query($sql);
  11.     echo "registro eliminado";
  12.   }
  13.   else
  14.   {
  15.     echo "no hay variable en id";
  16.   }  
  17.  
  18. ?>

Saludos,

Etiquetas: eliminar, fila, registro
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 12:08.