Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Eliminare records

  1. #1

    Eliminare records

    Ciao raga,
    ho un problema e non saprei da dove iniziare ((

    Ho 2 tabelle: documenti e revisioni
    Le 2 tabelle sono acoomunate dall'id del documento

    Per esempio
    DOCUMENTI
    documento_id: 1
    documento_nome: pippo

    REVISIONI
    revisione_id: 1
    revisione_documento_id: 1
    Revisione_numero: 3

    Praticamente dovrei eliminare alcuni records dalla tabella documenti e di conseguenza anche la revisione.

    Come fare?

  2. #2

    Re: Eliminare records

    Originariamente inviato da cris.calleo
    Ciao raga,
    ho un problema e non saprei da dove iniziare ((

    Ho 2 tabelle: documenti e revisioni
    Le 2 tabelle sono acoomunate dall'id del documento

    Per esempio
    DOCUMENTI
    documento_id: 1
    documento_nome: pippo

    REVISIONI
    revisione_id: 1
    revisione_documento_id: 1
    Revisione_numero: 3

    Praticamente dovrei eliminare alcuni records dalla tabella documenti e di conseguenza anche la revisione.

    Come fare?
    Io credo tu debba creare una foreign key, una volta creata la relazione puoi dirgli che quando elimini un campo elimini anche l'altro perchè è collegato ad esso

  3. #3
    OK, fatto:
    Codice PHP:
    mysql_query("DELETE FROM documenti WHERE documento_id='$documento_id'",$con);   
    mysql_query("DELETE FROM revisioni WHERE revisione_documento_id='$documento_id'",$con); 
    Adesso però viene il complicato:

    Ho un TXT con gli ID da eliminare

    1
    2
    23
    54
    66
    56

    Come posso collegarli alla query?

    Non so se é la strada giusta:
    - Montare un array con le informazioni lette dal TXT
    - Montare un while con la query

  4. #4
    Originariamente inviato da cris.calleo
    OK, fatto:
    Codice PHP:
    mysql_query("DELETE FROM documenti WHERE documento_id='$documento_id'",$con);   
    mysql_query("DELETE FROM revisioni WHERE revisione_documento_id='$documento_id'",$con); 
    Adesso però viene il complicato:

    Ho un TXT con gli ID da eliminare

    1
    2
    23
    54
    66
    56

    Come posso collegarli alla query?

    Non so se é la strada giusta:
    - Montare un array con le informazioni lette dal TXT
    - Montare un while con la query

    RISOLTO

    $lines = file('txt_array.txt');
    e poi il ciclo foreach con le query.

  5. #5
    Ho voglia di dare un po' noia

    Ma ottimizzare MySql per non dover tirar giu righe e righe di PHP no?
    Se ti crei delle foreign key e poi le setti in modo da eliminare i records relativi alla chiave esterna, basta che elimini solo una riga di una sola tabella, le altre te le elimina in automatico l'istanza di MySql

  6. #6
    Originariamente inviato da camionistaxcaso
    Ho voglia di dare un po' noia

    Ma ottimizzare MySql per non dover tirar giu righe e righe di PHP no?
    Se ti crei delle foreign key e poi le setti in modo da eliminare i records relativi alla chiave esterna, basta che elimini solo una riga di una sola tabella, le altre te le elimina in automatico l'istanza di MySql
    Ancora non lo so fare...

    Però poi posso sempre ottimizzare lo script in un secondo momento....

  7. #7
    Originariamente inviato da cris.calleo
    Ancora non lo so fare...

    Però poi posso sempre ottimizzare lo script in un secondo momento....
    ma è come voler andare a piedi fino a Mosca avendo a disposizione un aereo

    Con PhpMyAdmin basta creare tabelle di tipo INNODB, visualizzi la struttura, in basso ti fa creare le relazioni. Selezioni la chiave esterna da collegare all'altra tabella, e gli dici che quando viene fatta un'azione sul tale campo della tabella contenente il valore, automaticamente deve cancellare tutte le righe contenenti la chiave esterna nelle altre tabelle, ovviamente funziona anche come aggiornamento...

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.