Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    php mysql delete record con eventuale unlink

    Ho un problema di LOGICA nell'eliminazione di un record dal database (mysql) e relativa eliminazione dei file associati.

    Tecnicamente:

    tb_articolo
    - id
    - titolo

    tb_immagini
    - id_img
    - id_fk
    - img (varchar 15)


    Io ho fatto così... ma sembra bruttissimo...
    ***************************************
    DELETE FROM tb_articolo WHERE id = 1
    SELECT * FROM tb_immagini WHERE id_fk= 1
    ciclo{
    unlink($nomefile)
    }
    DELETE FROM tb_immagini WHERE id_fk= 1
    **************************************

    Non è possibile ottimizzare la query ed eliminare tutti i file correlati con una soluzione più "performante?"

    Grazie.... "o... so grafico!"

  2. #2
    Premetto che vorrei anche usare sulla tb_articolo la relazione (DELETE CASCADE) con tb_immagini ma questo non mi risolverebbe il problema di eliminare le immagini che fisicamente si trovano all'interno di una cartella.
    NO WORK TRIBE
    www.surftribe.it

  3. #3
    Utente di HTML.it L'avatar di wdb
    Registrato dal
    Nov 2002
    Messaggi
    155
    Ciao.
    Per le immagini non lo so se sia possibile.
    Per la DELETE invece, se vuoi evitare la CASCADE e fare tutto in un colpo solo, non mi viene in mente nulla meglio di questo:

    Codice PHP:
    SELECT FROM tb_immagini WHERE id_fk1
    ciclo
    {
      
    unlink($nomefile)
    }
    DELETE `articolo`, 
           `
    tb_immagini
      
    FROM `articolo`, 
           `
    tb_immagini
     
    WHERE id 
       
    AND id id_fk 

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.