Foros del Web » Programando para Internet » PHP »

Ayuda a solucionar esta accion con Mysql

Estas en el tema de Ayuda a solucionar esta accion con Mysql en el foro de PHP en Foros del Web. Hola a todos, la cosa esta asi: Tengo una galeria en la cual se puede crear albums, subir fotos y establecer a cual album van ...
  #1 (permalink)  
Antiguo 18/06/2010, 16:22
Avatar de ColdFusion  
Fecha de Ingreso: octubre-2008
Ubicación: Tocoa, Colon Honduras C.A.
Mensajes: 419
Antigüedad: 15 años, 6 meses
Puntos: 9
Ayuda a solucionar esta accion con Mysql

Hola a todos,
la cosa esta asi:
Tengo una galeria en la cual se puede crear albums, subir fotos y establecer a cual album van a pertenecer y tambien comentar cada foto.

puse una opcion que se llama eliminar album la cual tendra que hacer lo siguiente:
Eliminar cada comentario que se encuentre en todas las fotos que tengan "X" album como su album establecido.
Es decir si quiero eliminar el album ID 15
entonces tendra que borrar todos los comentarios de las fotos que contengan 15 como su album..

cree esto pero no me funciona
Código PHP:
$albumID $_GET['albumID'];

// Conecto a la BD

 
$resultados mysql_query("SELECT * FROM fotos WHERE album = '$albumID'");
 while(
$datos mysql_fetch_array($resultados)) {
 
$eliminar_comentarios mysql_query("DELECT FROM comentarios WHERE foto_id = '$datos['id']'");
 } 
Alguna ayuda?
  #2 (permalink)  
Antiguo 18/06/2010, 16:25
Avatar de xcars  
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 18 años, 11 meses
Puntos: 4
Respuesta: Ayuda a solucionar esta accion con Mysql

Si el codigo puesto ha sido copiado y pegado, aqui tienes un error
DELECT FROM

la forma correcta es DELETE FROM

por otro lado, si lo que quieres es borrar un album, si las relaciones de tus tablas estuvieran en cascada, no tendrias que realizar esta operacion....

Cita:
Iniciado por ColdFusion Ver Mensaje
Hola a todos,
la cosa esta asi:
Tengo una galeria en la cual se puede crear albums, subir fotos y establecer a cual album van a pertenecer y tambien comentar cada foto.

puse una opcion que se llama eliminar album la cual tendra que hacer lo siguiente:
Eliminar cada comentario que se encuentre en todas las fotos que tengan "X" album como su album establecido.
Es decir si quiero eliminar el album ID 15
entonces tendra que borrar todos los comentarios de las fotos que contengan 15 como su album..

cree esto pero no me funciona
Código PHP:
$albumID $_GET['albumID'];

// Conecto a la BD

 
$resultados mysql_query("SELECT * FROM fotos WHERE album = '$albumID'");
 while(
$datos mysql_fetch_array($resultados)) {
 
$eliminar_comentarios mysql_query("DELECT FROM comentarios WHERE foto_id = '$datos['id']'");
 } 
Alguna ayuda?
__________________
Con Microaplicaciones puedes hacer tu tienda en línea de forma sencilla y rápida, sin costos ocultos y con mucha responsabilidad.
  #3 (permalink)  
Antiguo 18/06/2010, 16:36
 
Fecha de Ingreso: abril-2009
Mensajes: 162
Antigüedad: 15 años
Puntos: 6
Respuesta: Ayuda a solucionar esta accion con Mysql

que error te sale?

la ultima linea ponla asi para mostrar el error de mysql:
$eliminar_comentarios = mysql_query("DELECT FROM comentarios WHERE foto_id = '$datos['id']'") or die (mysql_error());
__________________
Manual de Javascript
  #4 (permalink)  
Antiguo 18/06/2010, 16:36
Avatar de ColdFusion  
Fecha de Ingreso: octubre-2008
Ubicación: Tocoa, Colon Honduras C.A.
Mensajes: 419
Antigüedad: 15 años, 6 meses
Puntos: 9
Respuesta: Ayuda a solucionar esta accion con Mysql

Listo, asi me funciono:
Código PHP:
$albumID $_GET['albumID'];

// Conecto a la BD

 
$resultados mysql_query("SELECT * FROM fotos WHERE album = '$albumID'");
 while(
$datos mysql_fetch_array($resultados)) {
$fotoID $datos['id'];
 
$eliminar_comentarios mysql_query("DELETE FROM comentarios WHERE foto_id = '$fotoID'");
 } 

Etiquetas: mysql, acciones
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 13:54.