#1 (permalink)  
Alt 12.01.2006, 14:15
 
Registriert seit: 04.10.2004
Beiträge: 269
Standard

Ich habe in einer Kategorie x-Artikel.

In dieser Kategorie gibt es weitere Unterkategorien, die aber, zur zus?tzlichen Klassifizierung der x Artikel, nur Kopien der Artikel in der Hauptkatagorie haben.

In der Kategoriendarstellung wird nun aber die Summe der Artikel in der Hauptkategorie + der kopierten Artikel in den Unterkategorien angezeigt.

Das Problem ist, dass in der Routine xtc_count_products_in_category gnadenlos auch alle Unterkategorien aufsummiert werden, ohne zu pr?fen, ob die Artikel der Unterkategorie nicht schon (durch Kopieren) in der Hauptkategorie enthalten sind.

Code:
function xtc_count_products_in_category($category_id, $include_inactive = false) {
	$products_count = 0;
	$sql_command="select count(distinct p.products_id) as total from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . 
 " p2c where p.products_id = p2c.products_id and p2c.categories_id = '" . $category_id . "'";
	if (!$include_inactive)
	{
 $sql_command .= " and p.products_status = '1'";
	}
	$products_query = xtc_db_query($sql_command);
	$products = xtc_db_fetch_array($products_query);
	$products_count += $products['total'];

	$child_categories_query = xtc_db_query("select categories_id from " . TABLE_CATEGORIES . " where parent_id = '" . 
 $category_id . "'");
	if (xtc_db_num_rows($child_categories_query)) {
 while ($child_categories = xtc_db_fetch_array($child_categories_query)) {
 	$products_count += xtc_count_products_in_category($child_categories['categories_id'], $include_inactive);
 }
	}

	return $products_count;
}
Hat jemand das Problem schon mal gel?st??
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
artikelzhlung, falsche, kategorienanzeige

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus



Alle Zeitangaben in WEZ +1. Es ist jetzt 09:52 Uhr.

Copyright © 2011 xt:Commerce GmbH / xt:Commerce International Ltd. - All Rights Reserved

xt:Commerce is a SafeCharge brand