hola a todos/as. tengo una base de datos con una tabla llamada imagenes que recoge las imagenes asociadas a los productos que están en la tabla productos. bien.
la tabla tiene estos campos:
idimagen------autonumerico
imagen--------ruta de la imagen en el servidor
productoid----producto al que pertenece la imagen
mediante una consulta a la tabla productos listo todos los productos de la base de datos con checkbox:
Código PHP:
$sql = "SELECT * FROM productos ORDER BY nombre ASC";
$result = mysql_query($sql) or die (mysql_error());
while($p = mysql_fetch_array($result))
{
echo "<input type=checkbox name='idproducto[]' value='$p[idproducto]'> $p[nombre]"<br>;
}
al picar en uno o varios de esos checkbox lo que quiero es que me elimine los seleccionados de la tabla productos y a su vez que me elimine de la tabla imagenes las que estén asociadas a ese producto. esto lo hago así:
Código PHP:
foreach($_POST["idproducto"] as $valor){
mysql_query("DELETE FROM productos WHERE idproducto='$valor'");
mysql_query("DELETE FROM imagenes WHERE productoid='$valor'");
}
como os digo con eso elimino el producto o los productos seleccionados de la tabla productos y las imagenes asociadas a ellos de la tabla imagenes.
bien. ahora lo que deseo es además eliminar las imagenes, los archivos físicos, del servidor. para ello hago lo siguiente:
Código PHP:
foreach($_POST["pk_producto"] as $valor){
$sql="SELECT imagen FROM imagenes WHERE productoid='".$valor."'";
$resultadoel=mysql_query($sql) or die (mysql_error());
$imagen=mysql_result($resultadoel,0,"imagen");
unlink("../$imagen");
////con lo anterior elimino la imagen del servidor
mysql_query("DELETE FROM productos WHERE idproducto='$valor'");
mysql_query("DELETE FROM imagenes WHERE productoid='$valor'");
}
/////y con esto último elimino de las tablas el/los productos
cuál es el problema? pues el problema es que todo va correctamente pero a la hora de eliminar las imagenes del servidor en el supuesto de que yo haya seleccionado más de un producto, me elimina únicamente las imágenes del primer producto. si he seleccionado más de uno, no me elimina las de todos, sólo las del primero. Alguna ayuda?
![Corazón](http://static.forosdelweb.com/fdwtheme/images/smilies/love.png)
![Corazón](http://static.forosdelweb.com/fdwtheme/images/smilies/love.png)