Pagina 1 di 1
cancellazione record
Inviato: 15/06/2006, 11:08
da mediterraneo
ciao a tutti, sapete dirmi se all'interno di oscommerce
è possibile cancellare in blocco i record?
cioè adesso dall'interfaccia di amministrazione bisogna cancellare
un record per volta e ci vuole una marea di tempo ovviamente.
Come si fa a cancellarli tutti insieme? (non da phpmyadminovviamente).
GRAZIE
Re: cancellazione record
Inviato: 15/06/2006, 18:51
da marcus
mediterraneo ha scritto:ciao a tutti, sapete dirmi se all'interno di oscommerce
è possibile cancellare in blocco i record?
cioè adesso dall'interfaccia di amministrazione bisogna cancellare
un record per volta e ci vuole una marea di tempo ovviamente.
Come si fa a cancellarli tutti insieme? (non da phpmyadminovviamente).
GRAZIE
Salva il seguente codice php in catalog/admin, ad es, come del_customers.php.
Codice: Seleziona tutto
<?php
require('includes/application_top.php');
$customers_query = tep_db_query("select customers_id from " . TABLE_CUSTOMERS);
while ($customers_id = tep_db_fetch_array($customers_query)) {
$reviews_query = tep_db_query("select reviews_id from " . TABLE_REVIEWS . " where customers_id = '" . (int)$customers_id['customers_id'] . "'");
while ($reviews = tep_db_fetch_array($reviews_query)) {
tep_db_query("delete from " . TABLE_REVIEWS_DESCRIPTION . " where reviews_id = '" . (int)$reviews['reviews_id'] . "'");
}
tep_db_query("delete from " . TABLE_REVIEWS . " where customers_id = '" . (int)$customers_id['customers_id'] . "'");
tep_db_query("delete from " . TABLE_ADDRESS_BOOK . " where customers_id = '" . (int)$customers_id['customers_id'] . "'");
tep_db_query("delete from " . TABLE_CUSTOMERS . " where customers_id = '" . (int)$customers_id['customers_id'] . "'");
tep_db_query("delete from " . TABLE_CUSTOMERS_INFO . " where customers_info_id = '" . (int)$customers_id['customers_id'] . "'");
tep_db_query("delete from " . TABLE_CUSTOMERS_BASKET . " where customers_id = '" . (int)$customers_id['customers_id'] . "'");
tep_db_query("delete from " . TABLE_CUSTOMERS_BASKET_ATTRIBUTES . " where customers_id = '" . (int)$customers_id['customers_id'] . "'");
tep_db_query("delete from " . TABLE_WHOS_ONLINE . " where customer_id = '" . (int)$customers_id['customers_id'] . "'");
}
?>
Eseguendolo verranno cancellati tutti i clienti con tutte le entità ad essi correlate, comprese le eventuali recensioni.
E' molto semplice, realizzare un codice simile per ordini e prodotti, a partire dai files originali lato amministrazione.
Te lo lascio come esercizio...
Unica nota: se il numero di record da eliminare è alto, lo script può andare in time out, occorre quindi modificare il flag max_execution_time nel php.ini.
Saluti
Marcus
re
Inviato: 16/06/2006, 8:25
da mediterraneo
ciao Marcus e grazie innanzitutto,
dunque io dovrei praticamente poter cancellare ad esempio
30 prodotti tutti insieme...oppure 50 prodotti tutti insieme etc.
come posso fare esattamente dall'amministrazione a selezionare
tutti quelli che voglio cancellare e poi in un solo colpo
eliminarli?
Come avrai intuito non sono un programmatore e non ho ben
compreso se ciò è possibile e in che modo.
fammi sapere
grazie ancora
mediterraneo

Re: re
Inviato: 17/06/2006, 3:08
da marcus
mediterraneo ha scritto:ciao Marcus e grazie innanzitutto,
dunque io dovrei praticamente poter cancellare ad esempio
30 prodotti tutti insieme...oppure 50 prodotti tutti insieme etc.
come posso fare esattamente dall'amministrazione a selezionare
tutti quelli che voglio cancellare e poi in un solo colpo
eliminarli?
Come avrai intuito non sono un programmatore e non ho ben
compreso se ciò è possibile e in che modo.
fammi sapere
grazie ancora
mediterraneo

Per la gestione dei prodotti a blocchi puoi provare questa contribution:
http://www.oscommerce.com/community/con ... e+products
Marcus
re
Inviato: 17/06/2006, 12:40
da mediterraneo
ciao marcus,
ho scaricato ed installato nella cartella admin il file che mi hai linkato
però non ho trovato cambiamenti all'interno dell'amministrazione che
mi consentano cancellazioni a blocchi.
non so se questo dipenda dalla versione a cui è rivolta la contribute
(io ho scaricato l'ultima febbraio 2006)mentre magari la versione che ho io di oscommerce è la 2.1 se non sbaglio.
fammi sapere
ciao