prodotti e sottocagorie

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

Moderatore: mod Generali

Rispondi
Avatar utente
Conte_Mario
membro Junior
membro Junior
Messaggi: 3
Iscritto il: 12/07/2007, 17:38

prodotti e sottocagorie

Messaggio da Conte_Mario »

Salve a tutti

Prima di postare ho fatto diverse ricerche ma non sono riuscito a trovare quuello che fa al mio caso.

Il mio obbiettivo è quello di mostrare nella home page gli ultimi prodotti inseriti in una specifica sottocategoria in cui ci sono altri livelli.In pratica tutti gli ultimi prodotti inseriti in tutte le sottocategorie appartenenti ad una specifica sottocategoria.
Ho provato a modificare la query nel file new_products.php e funziona solo se viene fornito l'id del primo livello di una sottocategoria (es. 24) ma se gli passo l'id di un livello inferiore tipo 24_25 non va più.
IN pratica dovrei visualizzare tutti gli ultimi prodotti della sottocategoria 28_56 che si trovano nei 6 livelli inferiori che vanno da 28_56_58 a 28_56_61 !

chi può dirmi come fare questa query ?
Avatar utente
Conte_Mario
membro Junior
membro Junior
Messaggi: 3
Iscritto il: 12/07/2007, 17:38

Messaggio da Conte_Mario »

Voglio riportare la soluzione con cui ho risolto visto che in tutto il forum ancora non c'è nulla del genere.
Tale soluzione è un po brutale e la logica usata è quella "per esclusione".
I due cicli for creano un buco nel range delle categorie e sottocategorie in modo da includere solo quelle di interesse.

Nell'esempio sotto si escludono tutte le categori e sottocategorie dalla N° 0 alla 55 e dalla 64 alla 79, lasciando cioè un "buco" di categorie da visualizzare che va dalla 55 alla 63.

ecco il codice per i cicli e per la query:

Codice: Seleziona tutto

<?php
/*
  edited - 2005/07/01 13:50

  -----------------------------------------

  $Id: new_products.php,v 1.34 2003/06/09 22:49:58 hpdl Exp $

  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com

  Copyright (c) 2003 osCommerce

  Released under the GNU General Public License
*/
?>
<!-- new_products //-->
<?php



$display_max = 4;

$esclusione = " and c.categories_id<>0";

for($i=1; $i<56; $i++){

	$esclusione .= " and c.categories_id<>$i ";
}
    
for($i=64; $i<80; $i++){

	$esclusione .= " and c.categories_id<>$i ";
}


$new_products_query = tep_db_query("select distinct p.products_id, p.products_image, p.products_tax_class_id, if(s.status, s.specials_new_products_price, p.products_price) as products_price from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_CATEGORIES . " c where p.products_id = p2c.products_id and p2c.categories_id = c.categories_id and p.products_status = '1' $esclusione order by p.products_date_added desc limit " . $display_max);

..........

.......

:!:
Rispondi