Foros del Web » Programando para Internet » PHP »

como borrar este albume

Estas en el tema de como borrar este albume en el foro de PHP en Foros del Web. hola a todos os cuento,tengo un pagina que se puede a traves de ella crear albumes de fotos,hasta ahora todo va bien puedo crear un ...
  #1 (permalink)  
Antiguo 09/07/2015, 08:28
 
Fecha de Ingreso: julio-2015
Mensajes: 10
Antigüedad: 8 años, 9 meses
Puntos: 0
como borrar este albume

hola a todos os cuento,tengo un pagina que se puede a traves de ella crear albumes de fotos,hasta ahora todo va bien puedo crear un albume y subir imagenes y editar el albume .....ex.pero tengo un archivo de borrar el albume,pero no me deja borrar los albumes

tengo dos tablas una de los albumes y otra de las iamgenes

son estas
Código PHP:
Ver original
  1. CREATE TABLE IF NOT EXISTS `albumes` (
  2.   `Id_Album` int(10) unsigned NOT NULL AUTO_INCREMENT,
  3.   `Titulo` char(30) NOT NULL,
  4.   `Descripcion` text NOT NULL,
  5.   `Fecha` date NOT NULL,
  6.   PRIMARY KEY (`Id_Album`),
  7.   KEY `Fecha` (`Fecha`)
  8. ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
  9.  
  10. CREATE TABLE IF NOT EXISTS `imagenes` (
  11.   `Id_Imagen` int(11) unsigned NOT NULL AUTO_INCREMENT,
  12.   `Id_Album` int(11) unsigned NOT NULL,
  13.   `Direccion` char(30) NOT NULL,
  14.   `Descripcion` text NOT NULL,
  15.   PRIMARY KEY (`Id_Imagen`),
  16.   KEY `Id_Album` (`Id_Album`)
  17. ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;



y borraralbumes.php

Código PHP:
Ver original
  1. <?php
  2.     include('Encabezado.php');
  3. ?>
  4.  
  5.     <Header>Borrar Album</Header>
  6.    
  7. <?php
  8.     if ($MySql = mysql_connect('localHost','root','7777777') and mysql_select_db('valdes')) {
  9.         if ($_POST['Origen'] == 'Formulario') {
  10.             echo('<Ul> <Li>Conexion con la base de datos establecida.</Li>');
  11.             $_POST['Id_Album'] *= 1;
  12.             if($_POST['Id_Album'] > 0) {
  13.                 $_POST['Id_Album'] = mysql_real_escape_string($_POST['Id_Album']);
  14.                 $SQL = "DELETE FROM albumes WHERE Id_Album='$_POST[Id_Album]';";   
  15.            
  16.                 if($Consulta = mysql_query($SQL)){
  17.                     echo('<Li>Album borrado correctamente</Li>');
  18.                    
  19.                     $SQL = "SELECT Direccion FROM imagenes WHERE Id_Album='$_POST[Id_Album]';";
  20.                     if($Imagenes = mysql_query($SQL)){             
  21.                         while($Imagen = mysql_fetch_array($Imagenes)){
  22.                             if(unlink($Imagen['Direccion'])) {
  23.                                 echo('<Li>Imagen borrada: '.$Imagen['Direccion'].'</Li>');
  24.                             } else {
  25.                                 echo('<Li>No se pudo borrar: '.$Imagen['Direccion'].'</Li>');
  26.                             }
  27.                         }
  28.                         $SQL = "DELETE FROM imagenes WHERE Id_Album='$_POST[Id_Album]';";          
  29.                         if($Consulta = mysql_query($SQL)){
  30.                             echo('<Li>Datos de imagenes borrados.</Li>');
  31.                         } else {
  32.                             echo('<Li>No se pudo borrar los datos de las imagenes.</Li>');
  33.                         }
  34.                     } else {
  35.                         echo('<Li>No se pudieron borrar las imagenes.');
  36.                     }                          
  37.                 } else {
  38.                     echo('<Li> No se pudo borrar el album. </Li> </Ul>');
  39.                 }
  40.             } else {           
  41.                 echo('<Li> El album solicitado es invalido. </Li> </Ul>');
  42.             }          
  43.         } else {
  44.             $_GET['Id_Album'] *= 1;
  45.             if($_GET['Id_Album'] > 0) {
  46.                 $SQL = "SELECT albumes.Titulo , COUNT(imagenes.Id_Imagen) Imagenes FROM albumes LEFT JOIN imagenes ON albumes.Id_Album=imagenes.Id_Album WHERE albumes.Id_Album='$_GET[Id_Album]';";   
  47.                 if($Consulta = mysql_query($SQL)){ 
  48.                     $Album = mysql_fetch_array($Consulta);         
  49.                     mysql_close($MySql);   
  50.                    
  51.                     echo('<Form Action="BorrarAlbum.php" Method="Post" Name="BorraAlbum">
  52.                    
  53.                         <Div Class="DatoAlbum">
  54.                             Esta por borrar el album: <B>'.$Album['Titulo'].'</B> que contiene <B>'.$Album['Imagenes'].' imagenes</B>. ¿Esta seguro que desea continuar?
  55.                         </Div>
  56.                         <Div Class="DatoAlbum">        
  57.                             <Input Type="Hidden" Name="Id_Album" Value="'.$_GET['Id_Album'].'" />
  58.                             <Input Type="Hidden" Name="Origen" Value="Formulario" />
  59.                             <Input Type="Button" Value="Borrar Album" onClick="ConfirmarBorrar();" />
  60.                         </Div>
  61.                     </Form>');
  62.                 } else {           
  63.                     echo('<Ul> <Li> No se pudo obtener el album. </Li> </Ul>');
  64.                 }
  65.             } else {           
  66.                 echo('<Ul> <Li> El album solicitado es invalido. </Li> </Ul>');
  67.             }
  68.         }
  69.     } else {
  70.         echo('<Ul> <Li> No se pudo conectar a la base de datos. </Li> </Ul>'); 
  71.     }  
  72.     include('PiePagina.php');
  73. ?>


el mensaje de error es este:No se pudo obtener el album.
  #2 (permalink)  
Antiguo 09/07/2015, 15:48
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: como borrar este albume

Código PHP:
Ver original
  1. $_GET['Id_Album'] *= 1;
  2.             if($_GET['Id_Album'] > 0) {
  3.                 $SQL = "SELECT albumes.Titulo , COUNT(imagenes.Id_Imagen) Imagenes FROM albumes LEFT JOIN imagenes ON albumes.Id_Album=imagenes.Id_Album WHERE albumes.Id_Album='$_GET[Id_Album]';";    
  4.                 if($Consulta = mysql_query($SQL)){  
  5.                     $Album = mysql_fetch_array($Consulta);          
  6.                     mysql_close($MySql);

Tienes varios errores aquí:

1. No puedes incluir un elemento de array en una cadena sin encerrarlo entre llaves y el índice entre comillas simples; debería ser así:
Código PHP:
Ver original
  1. $SQL = "SELECT albumes.Titulo , COUNT(imagenes.Id_Imagen) Imagenes FROM albumes LEFT JOIN imagenes ON albumes.Id_Album=imagenes.Id_Album WHERE albumes.Id_Album='{$_GET['Id_Album']}';";

2. Cuando ejecutas una consulta, lo que obtienes es un recurso de acceso a resultados (o un error) y creo que lo que estás recibiendo es un error, entonces:
Código PHP:
Ver original
  1. if($Consulta = mysql_query($SQL)) {
  2.    // Aquí continúas para mostrar el formulario
  3. } else {
  4.   die("No se pudo leer el álbum: " . mysql_error());
  5. }

Prueba y cuéntanos lo que pasa.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 10/07/2015, 00:52
 
Fecha de Ingreso: febrero-2013
Mensajes: 115
Antigüedad: 11 años, 2 meses
Puntos: 5
Respuesta: como borrar este albume

el error esta aqui amigo,

Código PHP:
Ver original
  1. $SQL = "DELETE FROM albumes WHERE Id_Album='$_POST[Id_Album]';";

Tienes dos cosas malas, primero pegaste la variable post con todo y coma y asi no se escribe esa sentencia.. bueno por lo que se es una concatenacion entonces seria...
Código PHP:
Ver original
  1. $SQL = "DELETE FROM albumes WHERE Id_Album='".$_POST[Id_Album]."' ";

por lo menos asi lo hago yo y me funciona de maravilla... asi que revisa que el resto del codigo: Sentencias SQL, esten bien, como de este modo y prueba...

Ah cuando tenemos ese tipo de errores lo primero que hacemos es ver las comas, parentesis, comillas y corchetes y luego si no encontramos entonces si nos preocupamos...

Un placer ayudarte...
__________________
http://tutorialesdelweb.blogspot.com/TutorialesWeb(principiantes)

Etiquetas: fecha, formulario, mysql, select, sql, tabla
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 14:18.