Se io creo un array con tutti gli id che non devono essere eliminati come devo impostare la query per mysql???
Grazie.
Se io creo un array con tutti gli id che non devono essere eliminati come devo impostare la query per mysql???
Grazie.
Originariamente inviato da [_Kilckk_]
Se io creo un array con tutti gli id che non devono essere eliminati come devo impostare la query per mysql???
Grazie.codice:DELETE FROM tabella WHERE id NOT IN (1,2,3,4)
si scusa mi sono dimenticato di dire una cosa, perchè già conoscevo questo comando ma l'array è una variabile di php.Originariamente inviato da devil89
codice:DELETE FROM tabella WHERE id NOT IN (1,2,3,4)
posso inserire direttamente l'array nella query o devo cercare di ricreare il comando con tutti gli id da non eliminare???
più nello specifico:
dove $array è il tuo array di id da non cancellare.Codice PHP:
$query = "DELETE FROM tabella WHERE id NOT IN (".implode(",", $array).")";
wow grazie ad entrambi per la rapida risposta... siete stati gentilissimi.Originariamente inviato da carlogh
più nello specifico:
dove $array è il tuo array di id da non cancellare.Codice PHP:
$query = "DELETE FROM tabella WHERE id NOT IN (".implode(",", $array).")";
Ah ok, allora puoi generare una stringa con la lista degli ID da non cancellare:
e usarla nella query di DELETE:Codice PHP:
$s = '';
foreach($array as $id) {
$s .= $id . ',';
}
Codice PHP:
mysql_query("DELETE FROM tabella WHERE id NOT IN ($s) ");
Che è la stessa cosa dell'implode...e ti eviti anche un ciclo!!Originariamente inviato da devil89
Ah ok, allora puoi generare una stringa con la lista degli ID da non cancellare:
e usarla nella query di DELETE:Codice PHP:
$s = '';
foreach($array as $id) {
$s .= $id . ',';
}
Codice PHP:
mysql_query("DELETE FROM tabella WHERE id NOT IN ($s) ");
infattiOriginariamente inviato da Samleo
Che è la stessa cosa dell'implode...e ti eviti anche un ciclo!!
questo non è vero. la funzione implode esegue lei stessa un ciclo per creare la stringa.Originariamente inviato da Samleo
Che è la stessa cosa dell'implode...e ti eviti anche un ciclo!!
computazionalmente parlando la mia soluzione e quella della implode sono la stessa cosa
non per fare il pignolo
ma, a parte la maggior compattezza della soluzione con implode, quel ciclo aggiunge una virgola di troppo (l'ultima)