Pagina 1 di 1

query nel products_new.php

Inviato: 11/02/2009, 11:26
da mario porta
Ciao,.

stavo controllando il file products_new.php e mi chiedevo se si poteva modificare la query dato che mi sembra ( ditemi se sbaglio ) che controlli solo lo status (where p.products_status = '1') se e' a 1 e poi ordina i prodotti per data (order by p.products_date_added DESC, pd.products_name").

mi piacerebbe far apparire realmente solo i prodotti "veramente" nuovi,..mentre cosi' visualizza tutti i prodotti anche se datati.

Ho provato anche a settare NULL i campi delle date nel db,...ma mi carica tutto ugualmente.

qualcuno mi potrebbe aiutare per capire su dove devo agire oppure qualche contrib che faccia a caso mio?

Grazie.

Re: query nel products_new.php

Inviato: 11/02/2009, 13:11
da dynamo
tipo vuoi caricare solo i prodotti inseriti nell'ultimo mese???

devi lavorare sulle date ;)


es: prendi la data di oggi fai $data_oggi - 30 (così hai la data di un mese fa $data_mese_fa)
poi selezioni solo i prodotti con p.products_status = '1' and p.products_date_added > $data_mese_fa



PS: è un'idea che mi è venuta in mente mentre leggevo... sicuramente ci sarà da sistemare qualcosa :mrgreen:

Re: query nel products_new.php

Inviato: 12/02/2009, 5:31
da marcus
mario porta ha scritto:Ciao,.

stavo controllando il file products_new.php e mi chiedevo se si poteva modificare la query dato che mi sembra ( ditemi se sbaglio ) che controlli solo lo status (where p.products_status = '1') se e' a 1 e poi ordina i prodotti per data (order by p.products_date_added DESC, pd.products_name").

mi piacerebbe far apparire realmente solo i prodotti "veramente" nuovi,..mentre cosi' visualizza tutti i prodotti anche se datati.

Ho provato anche a settare NULL i campi delle date nel db,...ma mi carica tutto ugualmente.

qualcuno mi potrebbe aiutare per capire su dove devo agire oppure qualche contrib che faccia a caso mio?

Grazie.
Se per i prodotti "veramente" nuovi intendi quelli inseriti a partire dall'inizio del mese corrente, questa è la query di listing:

Codice: Seleziona tutto

$listing_sql = "select DISTINCTROW " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id from " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS . " p left join " . TABLE_MANUFACTURERS . " m on p.manufacturers_id = m.manufacturers_id, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c left join " . TABLE_CATEGORIES . " c on p2c.categories_id = c.categories_id where c.categories_status = '1' and p.products_status = '1' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and EXTRACT(YEAR_MONTH FROM CURDATE()) = EXTRACT(YEAR_MONTH FROM p.products_date_added) order by p.products_date_added DESC";
Saluti
Marcus

Re: query nel products_new.php

Inviato: 13/02/2009, 11:34
da mario porta
ho fatto un po' di prove, nel limite delle mie scarse conoscenze :oops:

ho provato a mettere delle date vecchie es: 01/01/1999 su tutti i prodotti e poi mettere delle date odierne su altri, ma il risultato e' sempre quello,..in pratica mi prende tutti i prodotti nella lista novita'.

il problema mio e' che ogni notte, il software sul server ricarica tutto il listino, cosi' osc "pensa" che siano sempre prodotti nuovi :(

stamattina, pero', mi e' venuta un'altra idea ( spero di poter metterla in pratica ) ho pensato :

se io aggiungo un campo nel DB produts tipo "flag_new_products" e setto a 0 quelli vecchi e a 1 quelli nuovi e al software gli dico di controllare le date dei prodotti e inserire 0 o 1 in base alle novita' reali, e nella query metto quella condizione tipo ( where p.flag_new_products = '1') dite che potrebbe funzionare?

Magari ho detto una stupidata....

Re: query nel products_new.php

Inviato: 13/02/2009, 15:32
da vampire
se cerchi su oscommerce.com ce una contribution per fare questo lavoro http://addons.oscommerce.com/info/6533

Re: query nel products_new.php

Inviato: 13/02/2009, 18:27
da mario porta
Porc....era proprio quello che avevo pensato di fare,...

adesso la provo subito...grazie!! :D