cancellazione record

Postate qui discussioni di carattere generale riguardo a problemi di installazione e configurazione di osCommerce

Moderatore: mod Generali

Rispondi
mediterraneo
membro Baby
membro Baby
Messaggi: 63
Iscritto il: 01/06/2005, 12:46

cancellazione record

Messaggio 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
Avatar utente
marcus
membro Master
membro Master
Messaggi: 1619
Iscritto il: 04/12/2003, 1:00
Contatta:

Re: cancellazione record

Messaggio 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... :wink:

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
Nuovo pacchetto osCommercePRO (osCPRO) + Modulo Interfacciamento Gestionale Danea.
Visita la demo: http://oscpro.oscommercedev.com/index.php
mediterraneo
membro Baby
membro Baby
Messaggi: 63
Iscritto il: 01/06/2005, 12:46

re

Messaggio 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 :o
Avatar utente
marcus
membro Master
membro Master
Messaggi: 1619
Iscritto il: 04/12/2003, 1:00
Contatta:

Re: re

Messaggio 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 :o
Per la gestione dei prodotti a blocchi puoi provare questa contribution:

http://www.oscommerce.com/community/con ... e+products

Marcus
Nuovo pacchetto osCommercePRO (osCPRO) + Modulo Interfacciamento Gestionale Danea.
Visita la demo: http://oscpro.oscommercedev.com/index.php
mediterraneo
membro Baby
membro Baby
Messaggi: 63
Iscritto il: 01/06/2005, 12:46

re

Messaggio da mediterraneo »

ciao marcus, :wink:
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
Rispondi