Delete foto in database e cartella

Alex_70

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

ho trovato in giro uno script per cancellare le foto sia dal database che dalla cartella

la galleria che ho nel database e' strutturata cosi

actor_id_fk relazionato con actor_id della tabella actor

gallery_id e' incrementale, quindi un actor ha molte foto

gallery.png

con questo comando sql trovo tutte le foto dell'actor nella tabella gallery

SQL:
SELECT * FROM gallery WHERE actor_id_fk = 40

gallery2.png


e con questo cancello

SQL:
DELETE FROM gallery WHERE gallery.gallery_id = 880

lo script qui sotto non funziona, non trova l'id e la path delle foto

inoltre la variabile $nome per formare il percorso e' presa dalla tabella actor
 
Ultima modifica:

Alex_70

Utente Attivo
13 Nov 2018
371
14
18
HELL
piccoli progressi, sono riuscito a cancellare l'immagine nel database associata all'id,
resta il problema come cancellarla dalla cartella :(



dovrei prelevare il campo nome associato alla variabile $nome che si trova nella tabella separata actor
senza questo non viene ricostruito il path e non trova il file

PHP:
$createDeletePath = "../image_upload/actor/uploads/$nome ($actor_id)/".$getIamgeName;

PHP:
 $imgWithPath = "../image_upload/actor/uploads/$nome ($actor_id)/".$row['photo'];

suggerimenti? :rolleyes:
 
Ultima modifica:

Tommy03

Utente Attivo
6 Giu 2018
616
58
28
20
Vicenza
per cancellare un file da una cartella mi pare che si possa utilizzare la funzione unlink()
 

Alex_70

Utente Attivo
13 Nov 2018
371
14
18
HELL
ciao Tommy,
unlink e' nel codice,
il problema che devo prelevare un campo da un'altra tabella, senza di quello non funziona
adesso ricevo questo perche' non trova il percorso

Warning: unlink(../image_upload/actor/uploads/ (40)/Alex_72efd9d45f9efb3257880f4cb714fcbf.jpg): No such file or directory in E:\OpenServer\domains\localhost\cinema\crud\gallery_delete.php on line 32

manca la variabile $nome per ricostruire il percorso, cosi

Alex (40)/Alex_72efd9d45f9efb3257880f4cb714fcbf.jpg

ci vorrebbe un'altra query, ma non so come fare, ricevo errore

SQL:
$sql = "select * from actor WHERE actor_id=". $actor_id;

e li si trova questo

$nome= $row ['nome'];
 

Alex_70

Utente Attivo
13 Nov 2018
371
14
18
HELL
non capisco, neanche questa funziona, non riesce a caricare la variabile $nome :rolleyes:

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;
    
    $nome= $row ['nome'];

PHP:
$createDeletePath = "../image_upload/actor/uploads/$nome ($actor_id)/".$getIamgeName;
 

Tommy03

Utente Attivo
6 Giu 2018
616
58
28
20
Vicenza
Mi sa che ti manca il
PHP:
while($row=mysqli_fetch_assoc($sql)){
$nome=$row['nome'];
}
$sql = " select * from actor a inner join gallery g on g.actor_id_fk = a.actor_id where a.actor_id=". $actor_id; $nome= $row ['nome'];
PHP:
$sql = mysqli_query($conn, "
select *
from
actor a
inner join
gallery g
on
g.actor_id_fk = a.actor_id
where
a.actor_id='$actor_id'");
   
while($row=mysqli_fetch_assoc($sql)){
$nome=$row['nome'];
}
 

Alex_70

Utente Attivo
13 Nov 2018
371
14
18
HELL
ciao marino,
non va

dopo la query e' presente questo

PHP:
$rs = mysqli_query($conn, $sql);

se inserisco il codice sopra ricevo errore


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);
   
    $nome= $getRow ['nome'];
   
   
    if(isset($_GET['id']))
    {
       
        $selectSql = "
       
        select * from gallery WHERE actor_id_fk = ".$_GET['id'];
        $rsSelect = mysqli_query($conn,$selectSql);
        $getRow = mysqli_fetch_assoc($rsSelect);
       
       
       
        $getIamgeName = $getRow['photo'];
       
       
       
       
        $createDeletePath = "../image_upload/actor/uploads/$nome ($actor_id)/".$getIamgeName;


codice completo

 

Alex_70

Utente Attivo
13 Nov 2018
371
14
18
HELL
ciao Tommy,
se metto il fetch assoc dopo mysqli_query ricevo errore, questo perche' dopo if(isset($_GET['id'])) e' presente un altro fetch assoc

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

Warning: unlink(../image_upload/actor/uploads/ (40)/): No such file or directory in E:\OpenServer\domains\localhost\cinema\crud\gallery_delete.php on line 50

questo

PHP:
$getRow = mysqli_fetch_assoc($rsSelect);
 

Tommy03

Utente Attivo
6 Giu 2018
616
58
28
20
Vicenza
La parte dopo l'isset non c'entra, avevi postato la query che c'è sopra all'isset, e in quella query manca il fetch assoc
 

Alex_70

Utente Attivo
13 Nov 2018
371
14
18
HELL
modificato cosi, ma non funziona

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($sql)){
$nome=$row['nome'];
}
  
  
    if(isset($_GET['id']))

line 29 e'

Codice:
while($row=mysqli_fetch_assoc($sql)){

sshot-1.png


inoltre se clicco su Delete image ricevo un altro errore

line 122 e' un altro fetch assoc che stranamente funziona e visualizzo l'immagine

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

sshot-2.png
 

Alex_70

Utente Attivo
13 Nov 2018
371
14
18
HELL
Devi metterci $rs non $sql...


se metto $rs e vado sulla pagina ecco cosa succede

sshot-3.png


non visualizzo il preview ed inoltre una immagine e' stata cancellata dal database

vado un'altra volta ed e' sparita l'altra immagine nel database

praticamente cancella a ogni apertura :mad:
 

Alex_70

Utente Attivo
13 Nov 2018
371
14
18
HELL
cinema.php e' la scheda attori da li apro lo script
gallery_delete.php

il funzionamento dello script dovrebbe essere semplice, cancella le foto selezionate dal database e poi dalla cartella
invece e' diventato complicato :rolleyes:
 

Tommy03

Utente Attivo
6 Giu 2018
616
58
28
20
Vicenza
Riposta tutto il codice con le modifiche
P.S. cinema.php dall'immagine sembra che non esista...
 

Tommy03

Utente Attivo
6 Giu 2018
616
58
28
20
Vicenza
Io continuo a vedere questo
PHP:
$rs = mysqli_query($conn, $sql);
    
    while($row=mysqli_fetch_assoc($sql)){
$nome=$row['nome'];
}
Non può funzionare se non metti $rs al posto di $sql....
 

Alex_70

Utente Attivo
13 Nov 2018
371
14
18
HELL
Io continuo a vedere questo
PHP:
$rs = mysqli_query($conn, $sql);
 
    while($row=mysqli_fetch_assoc($sql)){
$nome=$row['nome'];
}
Non può funzionare se non metti $rs al posto di $sql....

ho messo $rs e cancella le immagini automaticamente ad ogni apertura della pagina :p

comportamento strano

edit: cancella automaticamente sia dal database che nella cartella, il menu' di scelta viene saltato :rolleyes:
 
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