Pagina 1 di 1

enable disable categories problema

Inviato: 11/05/2011, 23:52
da maury2ma
sto diventando matto con una query:

ho aggiunto enable disable categories alla pagina products_new.php
query semplicissima:

Codice: Seleziona tutto

//################## Added Enable / Disable Categories #################"
$products_new_query_raw = "select DISTINCT (p.products_id),
    pd.products_name, p.products_image, p.products_price, 
    p.products_tax_class_id, p.products_date_added, 
    m.manufacturers_name 
  from " . TABLE_CATEGORIES . " c, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c,
    " . TABLE_PRODUCTS . " p, " . TABLE_MANUFACTURERS . " m,
    " . TABLE_PRODUCTS_DESCRIPTION . " pd 
  where p.manufacturers_id = m.manufacturers_id and p.products_id = p2c.products_id and
    c.categories_id = p2c.categories_id and c.categories_status=1 and 
    p.products_status = '1' and p.products_id = pd.products_id and 
    pd.language_id = '" . (int)$languages_id . "' 
  order by p.products_date_added DESC, pd.products_name";
//################## End Added Enable / Disable Categories #################
ora arriva il problema:
se io linko un articolo in 2 categorie o piu', nell'elenco mi mappare piu' volte.
ho aggiunto uno DISTINCT in modo che mi tolga i doppi valori, ma purtroppo non mi toglie il valore doppio definitivamente.
infatti il numero di record in uscita è sempre lo stesso, anche se devo ammettere non mi mostra piu' gli articoli doppi.
mi spiego meglio:
senza usare DISTINCT ottengo 30 articoli che compaiono in 3 pagine da 10 articoli (come di consueto)
usando DISTINCT ottengo sempre 30 articoli, ma 1 (il doppione) rimane nascosto e non visualizzato
l'inconveniente è che continua a contarmi 30 articoli disposti su 3 pagine di cui 2 da 10 e una da 9.
chi se ne frega direte voi....
sul sito reale ne ho almeno 30 di articoli "doppi" quindi alla fine mi inserisce 2 o 3 pagine bianche e vorrei evitare la creazione di queste fastidiose pagine.

qualche suggerimento ?

Re: enable disable categories problema

Inviato: 18/05/2011, 16:49
da awialex
ciao Maury
hai provato con "GROUP BY"?? a me in access funziona, in sql dovrebbe essere la stessa cosa

Re: enable disable categories problema

Inviato: 18/05/2011, 23:34
da maury2ma
il problema sta nel come oscommerce gestisce le query
ho dato un occhiata al file che gestisce tutte le query..... e per ora lascio l'errore.
appena posso mi ripasso tale file e cerco di risolvere una volta per tutte il problema.
grazie comunque

Re: enable disable categories problema

Inviato: 19/05/2011, 14:12
da awialex
appena puoi fare una prova provati questa modifica
ciao

//################## Added Enable / Disable Categories #################"
$products_new_query_raw = "select p.products_id, pd.products_name, p.products_image, p.products_price,
p.products_tax_class_id, p.products_date_added, m.manufacturers_name
from " . TABLE_CATEGORIES . " c, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c,
" . TABLE_PRODUCTS . " p, " . TABLE_MANUFACTURERS . " m,
" . TABLE_PRODUCTS_DESCRIPTION . " pd
where p.manufacturers_id = m.manufacturers_id and p.products_id = p2c.products_id and
c.categories_id = p2c.categories_id and c.categories_status=1 and
p.products_status = '1' and p.products_id = pd.products_id and
pd.language_id = '" . (int)$languages_id . "'
GROUP BY p.products_id, pd.products_name, p.products_image, p.products_price, p.products_tax_class_id, p.products_date_added, m.manufacturers_name
order by p.products_date_added DESC, pd.products_name";
//################## End Added Enable / Disable Categories #################

Re: enable disable categories problema

Inviato: 20/05/2011, 21:49
da maury2ma
grazie provo quanto prima ;)
ottimo suggerimento !

Re: enable disable categories problema

Inviato: 26/05/2011, 10:09
da maury2ma
provato, non funziona.
ho rimesso il vecchio metodo :(
ammetto d'avere ancora molto da imparare su mysql... (mi consola che non sono il solo, la differenza è che io lo ammetto 8) )