MRW.it Forum
  • Home
  • Forum
  • Fare Web
  • PHP

Delete foto in database e cartella

  • Creatore Discussione Creatore Discussione Alex_70
  • Data di inizio Data di inizio 17 Giu 2020
Prec.
  • 1
  • 2
  • 3
  • 4
Succ.
Primo Prec. 2 di 4 Succ. Ultimo
Alex_70

Alex_70

Utente Attivo
13 Nov 2018
371
14
18
HELL
  • 18 Giu 2020
  • #21
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: 18 Giu 2020
Ad
macus_adi

macus_adi

Utente Attivo
5 Dic 2017
1.343
91
48
IT/SW
  • 18 Giu 2020
  • #22
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

Alex_70

Utente Attivo
13 Nov 2018
371
14
18
HELL
  • 18 Giu 2020
  • #23
macus_adi ha scritto:
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.
Clicca per allargare...

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

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.445
338
83
  • 19 Giu 2020
  • #24
Alex_70 ha scritto:
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
Clicca per allargare...
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
  • 19 Giu 2020
  • #25
Max 1 ha scritto:
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!
Clicca per allargare...

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: 19 Giu 2020

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.445
338
83
  • 19 Giu 2020
  • #26
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
  • 19 Giu 2020
  • #27
Max 1 ha scritto:
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
Clicca per allargare...

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
  • 19 Giu 2020
  • #28
Alex_70 ha scritto:
sto cercando d'imparare
Clicca per allargare...
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....



Alex_70 ha scritto:
vedo gente che si presentano con CV da fare invidia alla Microsoft
Clicca per allargare...
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
  • 20 Giu 2020
  • #29
Buongiorno a tutti

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



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

gallery_delete.php

View and download from Yandex.Disk
yadi.sk
 

Tommy03

Utente Attivo
6 Giu 2018
614
58
28
21
Vicenza
  • 20 Giu 2020
  • #30
hai provato ad eseguire la query che ti da errore su phpmyadmin?
 

Alex_70

Utente Attivo
13 Nov 2018
371
14
18
HELL
  • 20 Giu 2020
  • #31
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
  • 20 Giu 2020
  • #32
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;





e questa pure


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

qualcosa mi sfugge
 

Tommy03

Utente Attivo
6 Giu 2018
614
58
28
21
Vicenza
  • 20 Giu 2020
  • #33
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
614
58
28
21
Vicenza
  • 20 Giu 2020
  • #34
Alex_70 ha scritto:
dovrebbe partire la sequenza che cancella la riga gallery_id e poi dalla cartella, ma non succede
Clicca per allargare...
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
  • 20 Giu 2020
  • #35
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
  • 20 Giu 2020
  • #36
con questa

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

stesso risultato, errore ,

ma l'url pero 'e' corretto





line 29 e' quella sopra
 

Tommy03

Utente Attivo
6 Giu 2018
614
58
28
21
Vicenza
  • 20 Giu 2020
  • #37
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
  • 20 Giu 2020
  • #38
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

 

Tommy03

Utente Attivo
6 Giu 2018
614
58
28
21
Vicenza
  • 20 Giu 2020
  • #39
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
  • 20 Giu 2020
  • #40
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 , ha cancellato dal database e dalla cartella, pero'.....





e apparso questo



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

dai che ci siamo, manca qualcosa d'aggiustare
 
Ultima modifica: 20 Giu 2020
Prec.
  • 1
  • 2
  • 3
  • 4
Succ.
Primo Prec. 2 di 4 Succ. Ultimo
Devi accedere o registrarti per poter rispondere.

Discussioni simili

M
query update e delete
  • mioser
  • 19 Ago 2022
  • PHP
Risposte
0
Visite
773
PHP 19 Ago 2022
mioser
M
Errore di sintassi con DELETE
  • Jensen
  • 4 Mag 2022
  • PHP
Risposte
3
Visite
2K
PHP 7 Mag 2022
Jensen
R
query DELETE non cancella i record
  • r33ky
  • 7 Apr 2022
  • PHP
Risposte
1
Visite
1K
PHP 8 Apr 2022
marino51
Creare bottone delete in form upload
  • Cosina
  • 25 Apr 2021
  • PHP
Risposte
5
Visite
2K
PHP 21 Ago 2021
princebhaini8
P
  • Bloccata
Creare bottone delete in form upload
  • Cosina
  • 24 Apr 2021
  • PHP
Risposte
1
Visite
1K
PHP 25 Apr 2021
Max 1
Y
query di DELETE
  • ymod
  • 27 Dic 2020
  • PHP
Risposte
4
Visite
2K
PHP 30 Dic 2020
ymod
Y
DELETE in mysql
  • giancadeejay
  • 25 Feb 2018
  • PHP
Risposte
14
Visite
2K
PHP 27 Feb 2018
giancadeejay
1
Errore UPDATE, DELETE
  • 1nostromo
  • 25 Ago 2014
  • MS Access
Risposte
16
Visite
3K
MS Access 9 Set 2014
1nostromo
1
D
Query di delete tra due tabelle
  • danielloantonio
  • 19 Apr 2014
  • MySQL
Risposte
1
Visite
1K
MySQL 19 Apr 2014
MMDesign
I
Problema con DELETE - MYSQL
  • Iocco Gabriele Gapteck
  • 11 Apr 2014
  • PHP
Risposte
6
Visite
2K
PHP 14 Apr 2014
Iocco Gabriele Gapteck
I
L
Delete record mysql
  • lexio85
  • 25 Feb 2013
  • PHP
Risposte
0
Visite
2K
PHP 25 Feb 2013
lexio85
L
M
DELETE record di due tabelle
  • macchiavelli.ivan
  • 16 Dic 2012
  • MySQL
Risposte
1
Visite
2K
MySQL 23 Dic 2012
Longo8
F
Delete record database
  • Fabio90
  • 13 Ago 2012
  • PHP
Risposte
6
Visite
2K
PHP 30 Ago 2012
Fabio90
F
Automatizzare Istruzione DELETE FROM attivazione automatica
  • pup3770
  • 5 Ago 2012
  • PHP
Risposte
4
Visite
1K
PHP 8 Ago 2012
borgo italia
[MySQL] Delete Record (cancellare una riga)
  • novello88
  • 3 Mar 2012
  • MySQL
Risposte
1
Visite
24K
MySQL 3 Mar 2012
borgo italia
H
DELETE su una tabella e INSERT SULL'ALTRA...
  • hyele
  • 14 Mar 2011
  • PHP
Risposte
1
Visite
2K
PHP 16 Mar 2011
micio86
R
query delete e ID progressivo..
  • robysdc
  • 17 Ago 2009
  • PHP
Risposte
2
Visite
2K
PHP 20 Ago 2009
Eliox
delete where data<
  • borgo italia
  • 29 Giu 2008
  • PHP
Risposte
3
Visite
1K
PHP 2 Lug 2008
Eliox
delete from
  • borgo italia
  • 25 Feb 2008
  • PHP
Risposte
2
Visite
2K
PHP 25 Feb 2008
borgo italia
A
Insert,Delete e Update file di testo
  • antagonia
  • 11 Gen 2008
  • PHP
Risposte
0
Visite
1K
PHP 11 Gen 2008
antagonia
A
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?