Delete foto in database e cartella

Alex_70

Utente Attivo
13 Nov 2018
371
14
18
HELL
niente, pagina vuota :(

secondo me la logica nello script e' sbagliata,
mi deve permettere di selezionare quale foto voglio cancellare
poi eliminare l'immagine dal database
e poi dalla cartella

invece....
 
Ultima modifica:

macus_adi

Utente Attivo
5 Dic 2017
1.343
91
48
IT/SW
Una relazione polimorfa e un listener per la delete asincrona del file forse sarebbe migliore di ...

Ma questa è solo una supposizione, nulla è certo, scontato, funzionante e testato, solo chi copia può essere sicuro dell'errore...

Leggi qui ,forse anche questa per te risulterà errata, MA solitamente funziona immediatamente.
 

Alex_70

Utente Attivo
13 Nov 2018
371
14
18
HELL
Una relazione polimorfa e un listener per la delete asincrona del file forse sarebbe migliore di ...

Ma questa è solo una supposizione, nulla è certo, scontato, funzionante e testato, solo chi copia può essere sicuro dell'errore...

Leggi qui ,forse anche questa per te risulterà errata, MA solitamente funziona immediatamente.

macus_adi grazie, ma qua siamo a livelli avanzati, :rolleyes:

lo script che ho postato andrebbe bene se solo qualcuno riuscisse a fixarlo :(

vedo gente che si presentano con CV da fare invidia alla Microsoft e poi nessuno che riesce a risolvere questo semplice script (per loro) ma difficile per me :(

va beh.. pazienza
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.449
338
83
vedo gente che si presentano con CV da fare invidia alla Microsoft e poi nessuno che riesce a risolvere questo semplice script (per loro) ma difficile per me :(

va beh.. pazienza
Niente polemiche o critiche sul forum!! Devi ringraziare chi ti risponde anche perché qui nessuno p obbligato!!!
Se non ti vanno bene le risposte non ne tieni conto o non fai domande! Ma niente polemiche

Chiediti anche perché le tue discussioni sono sempre lunghe molte pagine!
 

Alex_70

Utente Attivo
13 Nov 2018
371
14
18
HELL
Niente polemiche o critiche sul forum!! Devi ringraziare chi ti risponde anche perché qui nessuno p obbligato!!!
Se non ti vanno bene le risposte non ne tieni conto o non fai domande! Ma niente polemiche

Chiediti anche perché le tue discussioni sono sempre lunghe molte pagine!

Non e' una polemica, e' una riflessione, succede cosi anche nella vita
non obbligo nessuno ad aiutarmi, ringrazio invece tutti quellli che lo hanno fatto

le mie discussioni sono lunghe? forse perche' voglio capire fino in fondo l'argomento, non essendo competente in questa materia,

inoltre non mi sembra che stia violando nessun regolamento su limiti di pagine che scrivo, se si, allora mi limitero' a 2 righe.

Grazie
 
Ultima modifica:

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.449
338
83
No! Non c'è limitazioni ma considerato che non vedo nessuno che ad ogni discussione impegna pagine e pagine mi sorge il dubbi ci sia qualche altro problema .....

Comunque fai quello che vuoi nelle regole ma niente polemiche e lamentele
 

Alex_70

Utente Attivo
13 Nov 2018
371
14
18
HELL
No! Non c'è limitazioni ma considerato che non vedo nessuno che ad ogni discussione impegna pagine e pagine mi sorge il dubbi ci sia qualche altro problema .....

Comunque fai quello che vuoi nelle regole ma niente polemiche e lamentele

Il motivo e' semplice perche' nessuno scrive quanto me, perche' sono tutti bravi e preparati ,
io (e lo specificato ogni volta e lo ripeto) non sono un programmatore, solo passione e voglia d'imparare, quindi per me e' difficile capire a volte il codice, sto cercando d'imparare dai maestri, sperimentando, e leggendo qualcosa online.

Quindi abbiate pazienza, quando smettero' di scrivere qui vuol dire che allora non avro' piu' bisogno del vostro aiuto.
D'altronde i forum sono nati proprio per questo, condividere la conoscenza e il sapere.
Concludo, non siete obbligati ad aiutarmi, ma lo spero.

grazie a tutti
 

macus_adi

Utente Attivo
5 Dic 2017
1.343
91
48
IT/SW
sto cercando d'imparare
Questo il problema... Per come stai approcciando i problemi saranno sempre dolori...

Ripeto e ribadisco il concetto di qualche post fa...
Fai uno schema logico funzionale dell'applicazione, vedi ogni azione a cosa deve corrispondere, PROVA TU a creare lo script senza copiare, a questo punto se non funziona poi chiedere aiuto su un problema che effettivamente sai manipolare con le tue mani....



vedo gente che si presentano con CV da fare invidia alla Microsoft
Magari quelli con un buon CV forse hanno studiato (non sui forum)...

Detto questo, dovresti sanatizzare la stringa prima di creare il path altrimenti non ne verrai mai fuori...
Ripeto.... Vedi MediaLibrary non su come si usa ma il codice!
 

Alex_70

Utente Attivo
13 Nov 2018
371
14
18
HELL
Buongiorno a tutti

sono riuscito a mettere un po' di logica allo script,

sshot-2.png


il problema e' che ricevo errore quando vado a cancellare la foto

PHP:
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in E:\OpenServer\domains\localhost\cinema\crud\gallery_delete.php on line 29

line 29

PHP:
while($row = mysqli_fetch_assoc($rs))

codice completo modificato

 

Alex_70

Utente Attivo
13 Nov 2018
371
14
18
HELL
le query sono molte, il codice si ferma qui

PHP:
$actor_id = $_GET["id"];
    
    
    
    $sql = "
select *
FROM
actor a
INNER JOIN
gallery g
on
g.actor_id_fk = a.actor_id
WHERE
a.actor_id=". $actor_id;
    
    
    
    $rs = mysqli_query($conn, $sql);
    
    while($row = mysqli_fetch_assoc($rs))  // QUI ERRORE
        {
    
    $nome= $row ['nome'];
    
    $getIamgeName = $row['photo'];
        
        
        
        
        $createDeletePath = "../image_upload/actor/uploads/$nome ($actor_id)/".$getIamgeName;
    
        
    
    if(isset($_GET['deleteid']))
 

Alex_70

Utente Attivo
13 Nov 2018
371
14
18
HELL
questa funziona
PHP:
$sql = "
select *
FROM
actor a
INNER JOIN
gallery g
on
g.actor_id_fk = a.actor_id
WHERE
a.actor_id=". $actor_id;

sshot-3.png


sshot-4.png


e questa pure

sshot-5.png

cliccando sul bottone

PHP:
<a href="?deleteid=<?php echo $row["gallery_id"]?>" class="btn btn-primary">Delete image</a>

dovrebbe partire la sequenza che cancella la riga gallery_id e poi dalla cartella, ma non succede :rolleyes:

qualcosa mi sfugge
 

Tommy03

Utente Attivo
6 Giu 2018
616
58
28
20
Vicenza
La connessione al DB sei sicuro che funziona? Perché non vedo errori che potrebbero causare l'errore alla riga 29.
Al limite fai una prova sostituendo la query dell'errore (la prima) con una tipo
PHP:
$sql="SELECT * FROM actor";
Solo per provare
 

Tommy03

Utente Attivo
6 Giu 2018
616
58
28
20
Vicenza
dovrebbe partire la sequenza che cancella la riga gallery_id e poi dalla cartella, ma non succede :rolleyes:
Intanto l'URL cambia correttamente quando lo clicchi? Dovrebbe diventare ?deleteid=[gallery_id]
Cmq credo che tu debba sostituire questo:
PHP:
$deleteSql = "delete from gallery where gallery_id = ".$getRow['deleteid'];
Con questo:
PHP:
$deleteSql = "delete from gallery where gallery_id = ".$_GET['deleteid'];
 

Alex_70

Utente Attivo
13 Nov 2018
371
14
18
HELL
si la connessione funziona, se provo a modificare i dati di connessione mi da errore, quindi il problema non e' li

se scrivo la query che hai proposto ottengo zero risultati
 

Alex_70

Utente Attivo
13 Nov 2018
371
14
18
HELL
con questa

SQL:
$deleteSql = "delete from gallery where gallery_id = ".$_GET['deleteid'];

stesso risultato, errore ,

ma l'url pero 'e' corretto :rolleyes:



sshot-6.png


line 29 e' quella sopra
 

Tommy03

Utente Attivo
6 Giu 2018
616
58
28
20
Vicenza
Tutta questa parte:
PHP:
if(isset($_GET['deleteid']))
    {
        
        $selectSql = "
        
        select * from gallery WHERE actor_id_fk = ".$_GET['id'];
        $rsSelect = mysqli_query($conn,$selectSql);
        $getRow = mysqli_fetch_assoc($rsSelect);
        
        
        
        
        
        if(unlink($createDeletePath))
        {
            $deleteSql = "delete from gallery where gallery_id = ".$getRow['deleteid'];
            $rsDelete = mysqli_query($conn, $deleteSql);    
            
            if($rsDelete)
            {
                header('location:cinema.php?success=true');
                exit();
            }
        }
        else
        {
            $errorMsg = "Unable to delete Image";
        }
        
    }
Sposta la fuori dal while, mettila subito dopo
PHP:
$actor_id = $_GET["id"];
 

Alex_70

Utente Attivo
13 Nov 2018
371
14
18
HELL
spostato cosi
PHP:
<?php
    
    require_once("cineteca.include");

    if(!$conn)
    {
        die(mysqli_error());
    }
    
    $actor_id = $_GET["id"];
    
    
    if(isset($_GET['deleteid']))
    {
        
        $selectSql = "
        
        select * from gallery WHERE actor_id_fk = ".$_GET['id'];
        $rsSelect = mysqli_query($conn,$selectSql);
        $getRow = mysqli_fetch_assoc($rsSelect);
        
        
        
        
        
        if(unlink($createDeletePath))
        {
            $deleteSql = "delete from gallery where gallery_id = ".$getRow['deleteid'];
            $rsDelete = mysqli_query($conn, $deleteSql);   
            
            if($rsDelete)
            {
                header('location:cinema.php?success=true');
                exit();
            }
        }
        else
        {
            $errorMsg = "Unable to delete Image";
        }
        
    }
    
    
    
    
    $sql = "
select *
FROM
actor a
INNER JOIN
gallery g
on
g.actor_id_fk = a.actor_id
WHERE
a.actor_id=". $actor_id;
    
    
    
    $rs = mysqli_query($conn, $sql);
    
    while($row = mysqli_fetch_assoc($rs))
        {
    
    $nome= $row ['nome'];
    
    $getIamgeName = $row['photo'];
        
        
        
        
        $createDeletePath = "../image_upload/actor/uploads/$nome ($actor_id)/".$getIamgeName;
    
        
    
    

    
?>

risultato pessimo

sshot-7.png
 

Tommy03

Utente Attivo
6 Giu 2018
616
58
28
20
Vicenza
Intanto prova a cambiare così, forse il problema era che $actor_id diventa vuota dopo l'invio, dato che non vedo il parametro id nell'url della foto
PHP:
<?php 
    
    require_once("cineteca.include");

    if(!$conn)
    {
        die(mysqli_error());
    }
    
    $actor_id = $_GET["id"];
    
    
    
    $sql = "
select *
FROM 
actor a 
INNER JOIN
gallery g 
on 
g.actor_id_fk = a.actor_id
WHERE 
a.actor_id=". $actor_id;
    
    
    
    $rs = mysqli_query($conn, $sql);
    
    while($row = mysqli_fetch_assoc($rs))
        {
    
    $nome= $row ['nome'];
    
    $getIamgeName = $row['photo'];
  }      
        
        
        
        $createDeletePath = "../image_upload/actor/uploads/$nome ($actor_id)/".$getIamgeName;
    
        
    
    if(isset($_GET['deleteid']))
    {
        
        $selectSql = "
        
        select * from gallery WHERE actor_id_fk = ".$_GET['id'];
        $rsSelect = mysqli_query($conn,$selectSql);
        $getRow = mysqli_fetch_assoc($rsSelect);
        
        
        
        
        
        if(unlink($createDeletePath))
        {
            $deleteSql = "delete from gallery where gallery_id = ".$_GET['deleteid'];
            $rsDelete = mysqli_query($conn, $deleteSql);    
            
            if($rsDelete)
            {
                header('location:cinema.php?success=true');
                exit();
            }
        }
        else
        {
            $errorMsg = "Unable to delete Image";
        }
}

    
?>

<!DOCTYPE html>
<html>
<head>
<title>PHP remove uploaded file from folder and database</title>

<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" >

<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" >
</head>



<body>
    <div class="container">
        <h3 class="text-center">Delete Images</h3>
        
        <div class="row">
        
        <?php 
        if(isset($errorMsg))
        {
        ?>
            <div class="alert alert-danger">
                <?php 
                    echo $errorMsg;
                    unset($errorMsg);
                ?>
            </div>
        <?php 
        }
        ?>
        
        <?php 
        if(isset($_GET['success']) && $_GET['success'] == 'true')
        {
        ?>
            <div class="alert alert-success">
                <?php 
                    echo "Images has been deleted sucessfully";
                ?>
            </div>
        <?php 
        }
        ?>
        
        
    <?php 
        
            
            $imgWithPath = "../image_upload/actor/uploads/$nome ($actor_id)/".$row['photo'];
        ?>    
            
                
            <div class="col-md-12 text-center" style="margin-top:10px">
                <img src="<?php echo $imgWithPath ?>" width="100">
                <a href="?id=<?php echo $actor_id;?>&deleteid=<?php echo $row["gallery_id"]?>" class="btn btn-primary">Delete image</a>
            </div>
            
            
    <?php        
        
        }
    ?>
    </div>
    </div>
    
    
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>    
</body>
</html>
 

Alex_70

Utente Attivo
13 Nov 2018
371
14
18
HELL
ho dovuto modificare qui
da cosi

PHP:
$rs = mysqli_query($conn, $sql);
   
    while($row = mysqli_fetch_assoc($rs))
        {
   
    $nome= $row ['nome'];
   
    $getIamgeName = $row['photo'];
  }

a cosi

Codice:
$rs = mysqli_query($conn, $sql);
   
    while($row = mysqli_fetch_assoc($rs))
        {                                                                        // <-----------QUESTA ELIMINATA
   
    $nome= $row ['nome'];
   
    $getIamgeName = $row['photo'];

manca }

inserita qui se no non caricava la foto

PHP:
?php
       
           
            $imgWithPath = "../image_upload/actor/uploads/$nome ($actor_id)/".$row['photo'];
        ?>  
           
               
            <div class="col-md-12 text-center" style="margin-top:10px">
                <img src="<?php echo $imgWithPath ?>" width="100">
                <a href="?id=<?php echo $actor_id;?>&deleteid=<?php echo $row["gallery_id"]?>" class="btn btn-primary">Delete image</a>
            </div>
           
           
    <?php      
       
        }   // <---------  INSERITA QUI
    ?>

risultato, quasi buono :D, ha cancellato dal database e dalla cartella, pero'.....



sshot-8.png


e apparso questo :rolleyes:

sshot-9.png


nota:

ho cambiato questo parametro, quello che puntava a cinema.php mi dava errore uguale

Codice:
header('location:gallery_delete.php?success=true');

pero' niente messaggi dell'avvenuta cancellazione :rolleyes:

dai che ci siamo, manca qualcosa d'aggiustare ;)
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
M query update e delete PHP 0
Jensen Errore di sintassi con DELETE PHP 3
R query DELETE non cancella i record PHP 1
Cosina Creare bottone delete in form upload PHP 5
Cosina Creare bottone delete in form upload PHP 1
Y query di DELETE PHP 4
giancadeejay DELETE in mysql PHP 14
1 Errore UPDATE, DELETE MS Access 16
D Query di delete tra due tabelle MySQL 1
I Problema con DELETE - MYSQL PHP 6
L Delete record mysql PHP 0
M DELETE record di due tabelle MySQL 1
F Delete record database PHP 6
pup3770 Automatizzare Istruzione DELETE FROM attivazione automatica PHP 4
novello88 [MySQL] Delete Record (cancellare una riga) MySQL 1
H DELETE su una tabella e INSERT SULL'ALTRA... PHP 1
R query delete e ID progressivo.. PHP 2
borgo italia delete where data< PHP 3
borgo italia delete from PHP 2
A Insert,Delete e Update file di testo PHP 0
grottafelix Finestra Alert prima di delete Classic ASP 0
G E' possibile dare la vividezza in un colpo solo a più foto Photoshop 1
P Prodotti, foto, titolo e descrizione E-Commerce 0
I carica foto profilo sessione utente PHP 2
G Perché il mio sito su Google news fa vedere le immagini degli articoli la mia foto profilo? WordPress 1
P Migliorare foto notturna Photoshop 0
felino [Wordpress] Gallery con foto selezionabili dall'utente WordPress 0
D visualizzare solo foto filtrate jQuery 1
S come vedere anteprime delle foto prima di mandarli al server Javascript 1
N spostare millimetricamente un pezzo di foto Photoshop 0
C Come caricare foto da google foto ad un sito? Discussioni Varie 1
F Estrarre ultima foto da cartelle PHP 2
S poblema rendering foto jpg dompdf PHP 1
C Presentazione foto WordPress 0
Tommy03 Scattare foto e mostrarla Sviluppo app per Android 0
L COLORE DETTAGLIO IN FOTO BIANCO E NERO - PHOTOSHOP Photoshop 0
F INDESIGN: problema esportazione esecutivo per la stampa con foto B/N Webdesign e Grafica 0
L Scmporre una foto dotata di varie immagini in piu layer Photoshop 2
S Inserire foto in ogni cella di una tabella Javascript 0
P Upload foto cover e profilo jQuery 0
Alex_70 Visualizzare anteprima foto in dropdown PHP 2
K Presentazione di foto Photoshop 1
S [Photoshop] Nome di questo effetto (vedi foto) Photoshop 1
Alex_70 [PHP] Caricare foto su un'altra tabella collegata PHP 0
Alex_70 [PHP] Visualizzare foto tramite select PHP 0
D [HTML] Non riesco aprire foto singole in un album creato con "iWebAlbum" HTML e CSS 1
S [Photoshop] scontornare foto in formato 1 a 1 Photoshop 2
ANDREA20 [PHP] Foto prodotto PHP 0
E [HTML] Allineare foto a un tag DIV verticalmente HTML e CSS 0
A [Photoshop] Problema salvataggio foto in JPEG Photoshop 5

Discussioni simili