Hola a todos/as. me estoy volviendo loca. os cuento:
tengo dos tablas relacionadas entre sí: en una meto los datos de una noticia y en otra meto todas las imágenes que esa noticia lleva.
tabla noticias:
idnoticia -- autonumérico identificador de la noticia
noticia-- texto en sí
(Supongamos estos dos campos únicamente para simplificar)
tabla imagenes:
idimagen -- autonumérico identificador de cada imagen
idnoticiapk -- es el que relaciona esta tabla con la anterior. es el idnoticia de la noticia correspondiente.
imagen -- ruta en el servidor de la imagen
imagenth -- ruta en el servidor del thumbail de la imagen
bien. ahora supongamos que lo que deseo es eliminar una noticia. pues la lógica es:
1) identificar el idnoticia de la noticia que quiero eliminar
2) una vez que tengo ese idnoticia, irme a la tabla 'imagenes' y sacar las imágenes asociadas a esa noticia, sacar sus rutas.
3) obtenidas sus rutas, eliminar esas imágenes a través de unlink del servidor.
4) eliminadas las imágenes del servidor, entonces eliminar tanto las imágenes de la tabla 'imagenes' de la base de datos y posteriormente, eliminar la noticia de la tabla 'noticias'.
todo esto traducido a código es esto:
Código PHP:
//elimino las imágenes asociadas a esa noticia en el servidor
$sql="SELECT imagen,imagenth FROM imagenes WHERE idnoticiapk ='".$id."'";
$resultadoel=mysql_query($sql) or die (mysql_error());
$imagen=mysql_result($resultadoel,0,"imagen");
$imagenth=mysql_result($resultadoel,0,"imagenth");
unlink("$imagen");
unlink("$imagenth");
/////////
//eliminadas las imágenes, elimino los registros que tenían en la base de datos
//de la tabla 'imagenes'
mysql_query("DELETE FROM imagenes WHERE idnoticiapk ='$id");
//////////
//por último, elimino la noticia de la tabla 'noticias'
mysql_query("DELETE FROM noticias WHERE idnoticia ='$id");
bien. cuál es el problema? pues que hace todo correctamente pero si la noticia tiene asociada más de una imágen, del servidor sólamente elimina la primera, las otras que haya asociadas a esa noticia ahí las queda.
qué he de hacer para que me elimine todas las imágenes asociadas a esa noticia del servidor?
un beso,