Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    487

    controllare con query se cè campo e cancellarlo

    salve, io vorrei controllare in una tabella se c'è un certo id,e se cè vorrei cancellarlo.è possibile fare tutto in una query o devo farne due diverse?e come?
    Vivi intensamente, muori giovane e sarai un cadavere di bell' aspetto.

  2. #2
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    $select = "SELECT campo_id FROM tabella WHERE campo_id ='".$tuo_id."'";
    $query = mysql_query($select)or die(mysql_error());
    $result= mysql_fetch_array($query);
    $row = mysql_affected_rows();
    if($row > 0) {
    $delete = "DELETE FORM tabella WHERE campo_id = '".$result['campo_id']."'";
    $del = mysql_query($delete)or die(mysql_error());
    }

  3. #3
    tu fai la tua query DELETE con la condizione sull'id nel WHERE (senza sapere se l'ID esiste o meno), poi se vuoi sapere se esisteva puoi usare mysql_affected_rows(); per sapere quante linee sono state eliminate:
    - 0 se l'ID non esisteva
    - 1 (o +) se l'ID esisteva (ed era ripetuto)

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    487

    si ma la mia domanda è:

    se non esiste nessuna riga con l'ide che gli passo,mi da errore o passa oltre?
    perche ho istruzioni del tipo:
    $dele1="DELETE FROM mur_agev_dom WHERE agev_contatore='$id'";
    $resdel1 = mysql_query($dele1);
    $dele1="DELETE FROM mur_agev_non_dom WHERE agev_nd_contatore='$id'";
    $resdel2 = mysql_query($dele2);
    $dele3="DELETE FROM mur_allacciamenti WHERE allac_contatore='$id'";
    $resdel3 = mysql_query($dele3);

    quindi non vorrei mi si bloccasse tra una e l'altra
    Vivi intensamente, muori giovane e sarai un cadavere di bell' aspetto.

  5. #5
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    Se nn sbaglio passa oltre. Cmq basta che provi. Al massimo puoi fare per sicurezza una cosa del genere:
    Fai una select x id dalla tabella dove ricavi il tuo $id.

    $arrai_id = array();
    £select = "select id form tabella";
    $q = mysql_query($select);
    While($res = mysql_fetch_array($q)){
    $array_id[] = $re['id'];
    }
    $array_id conterra' tutti gli id della tabella

    poi prima della DELETE fai.

    if(in_array($id_che_dovrebbe_esistere, $array_id))
    {
    qui le operazioni..
    }

    cosi' controlli prima di cancellare se effettivamente esiste l'id nella tabella.

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    487

    si,questo è quello che faccio sempre..

    ma speravo di cavarmela con una sola istruzione, che ne so,qualcosa del tipo:if exit(id='1') allora delet from tabella where id='1'
    Vivi intensamente, muori giovane e sarai un cadavere di bell' aspetto.

  7. #7
    se fai un DELETE e non trova nessuna riga da cancellare va in avanti e non ti dice niente.

    Puoi benissimo farlo con una sola query

    PS: testare non fa mai male, si imparano molte cose e sei sicuro se il tuo codice funziona oppure si blocca a causa di un errore ...

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.