Foros del Web » Programando para Internet » PHP »

Eliminar campos de dos tablas con el id

Estas en el tema de Eliminar campos de dos tablas con el id en el foro de PHP en Foros del Web. He buscado en los foros pero no encotre mi solucion mi pregunta es como puedo eliminar dos campos en dos tablas osea tengo una tabla ...
  #1 (permalink)  
Antiguo 31/12/2003, 12:08
Avatar de macabro  
Fecha de Ingreso: enero-2003
Ubicación: venus >> ((_\
Mensajes: 254
Antigüedad: 21 años, 3 meses
Puntos: 1
Eliminar campos de dos tablas con el id

He buscado en los foros pero no encotre mi solucion
mi pregunta es como puedo eliminar dos campos en dos tablas
osea tengo una tabla que es noticias y el otro comentarios

para eliminar las noticias hago esto
Código PHP:

$query 
"DELETE FROM noticias WHERE id='$id'"
y para eliminar comentarios hago esto
Código PHP:

$sql 
"DELETE FROM comentarios WHERE id='$id'"
como lo puedo unir las dos tablas y que se eliminen todo junto
se puede?
  #2 (permalink)  
Antiguo 31/12/2003, 13:02
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 20 años, 11 meses
Puntos: 2
Código PHP:
$query "DELETE FROM noticias AND comentarios WHERE id='$id'"
__________________
3w.valenciadjs.com
3w.laislatv.com
  #3 (permalink)  
Antiguo 31/12/2003, 13:20
Avatar de e-miliox  
Fecha de Ingreso: noviembre-2002
Ubicación: San Antonio - Chile
Mensajes: 223
Antigüedad: 21 años, 5 meses
Puntos: 7
no se puede hacer eso, necesariamente tienes que hacer los dos deletes. solo se puede eliminar de una tabla.

--- perdon me equivoque, si se puede, pero de la version 4.0 de mysql en adelante. las sintaxis son como siguen.

Código:
DELETE [LOW_PRIORITY | QUICK] FROM table_name
       [WHERE where_definition]
       [ORDER BY ...]
       [LIMIT rows]

or

DELETE [LOW_PRIORITY | QUICK] table_name[.*] [,table_name[.*] ...]
       FROM table-references
       [WHERE where_definition]

or

DELETE [LOW_PRIORITY | QUICK]
       FROM table_name[.*], [table_name[.*] ...]
       USING table-references
       [WHERE where_definition]



MySQL Reference Manual (C) 2002 MySQL AB
en todo caso, si no te resulta asi, te recomiendo que hagas este proceso de la eliminacino a travez de una funcion, a la cual le des como parametro el id que quieres eliminar. sale mas ordenado y es menos pesado para ti, porque solo lo programas una vez (y sobre todo si es una eliminacion en cascada)

muchos saludos
__________________
=PoWeReD By MySeLf!=

Última edición por e-miliox; 31/12/2003 a las 13:29
  #4 (permalink)  
Antiguo 31/12/2003, 13:59
Avatar de macabro  
Fecha de Ingreso: enero-2003
Ubicación: venus >> ((_\
Mensajes: 254
Antigüedad: 21 años, 3 meses
Puntos: 1
nuevo, gracias por tu respuesta lo probe y no me funciono

e-miliox, gracias tambien por responder

despues de buscar y revisar algunos script que tengo encontre esta manera espero le sirva a alguien y lo funcione.

antes en la tabla comentarios hice un idcomen lo cual identifica al id de la noticia en la que lo pertenece
bueno aqui les pongo lo que hice y me funciono a la perfeccion

Código PHP:

<?php

$conexion 
mysql_connect('localhost','xxx','xxx');
mysql_select_db('xxx');

// eliminamos el id de las noticias
$ok1 = @mysql_query("DELETE FROM noticias WHERE ID=$id"); 

// eliminamos el idcomen en comentarios
$ok2 = @mysql_query("DELETE FROM comentarios WHERE idcomen=$id");

//procesamos
if ($ok1 and $ok2) {
  echo(
"<p>noticia y comentarios eliminados satisfactoriamente!</p>");
} else {
  echo(
"<p>Error eliminando noticias!<br />".
       
"Error: " mysql_error() . "</p>");
}

?>
y obviamente lo salvas como eliminar.php y se crea un enlace llamado <a href='eliminar.php?id=$id'>Eliminar</a>

espero les sirva a alguien que esta pasando por el mismo problema que yo

saludos y gracias nuevamente a nuevo y e-miliox por su pronta respuesta
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:06.