Anzeige der ANZAHL Artikel pro Unterkategorie??

uups
Beiträge: 116
Registriert: Fr 16. Jan 2004, 09:08
Kontaktdaten:

Beitrag von uups »

Hallo kummer

Das Modul funzt perfekt! Hoffe, ich kann dir auch mal "einen Stein in den Garten werfen"...!

Vielen Dank für die Hilfe! :lol: :lol:


uups!
chi_ras
Beiträge: 8
Registriert: Di 1. Jun 2004, 20:58
Kontaktdaten:

Beitrag von chi_ras »

Hi,

dieses modul interessiert mich, aber ich wollt fragen, ob man es so verändern kann, dass die artikel tiefer als nur 2 ebenen gezählt werden (Unterkat + Unter-Unterkat + Unter-Unter-Unterkat +........), am besten von allen Ebenen der Kategorien.

ich hatte es mal so probiert (Ausschnitt der Abfrage):

Code: Alles auswählen

   $sql2 = " 
      SELECT count(*) AS anzahl 
                   FROM {$cfg['tab']['cat']} AS a, 
                        {$cfg['tab']['cat']} AS b, 
                        {$cfg['tab']['cat']} AS c, 
                        {$cfg['tab']['cat']} AS d, 
                        {$cfg['tab']['cat']} AS e 
                   LEFT JOIN {$cfg['tab']['cat_art']} AS x ON e.idcat = x.idcat 
                   LEFT JOIN {$cfg['tab']['art_lang']} AS y ON x.idart = y.idart 
                   WHERE 
                       ( 
                           ( 
                               e.parentid = d.idcat 
                               AND d.parentid = c.idcat
                               AND c.parentid = b.idcat
                               AND b.parentid = a.idcat  
                           ) 
                           OR 
                           ( 
                               d.parentid = c.idcat 
                               AND c.parentid = b.idcat
                               AND b.parentid = a.idcat  
                               AND e.idcat = d.idcat 
                           ) 
                           OR 
                           ( 
                               c.parentid = b.idcat 
                               AND b.parentid = a.idcat 
                               AND d.idcat = c.idcat 
                               AND e.idcat = d.idcat 
                           ) 
                           OR 
                           ( 
                               c.idcat = b.idcat 
                               AND b.parentid = a.idcat 
                               AND d.idcat = c.idcat 
                               AND e.idcat = d.idcat 
                           ) 
                           OR 
                           ( 
                               c.idcat = b.idcat 
                               AND b.idcat = a.idcat 
                               AND d.idcat = c.idcat 
                               AND e.idcat = d.idcat 

                           ) 
                       ) 
                       AND a.idcat = $categorie 
                       AND y.online = 1 
                       AND y.redirect = 0 
                       AND y.external_redirect = 0 
                       AND y.idlang = $lang 
            "; 
aber da wirds wohl zu lahm.

habt ihr ne idee für ne alternative?

grüsse,
chi
Zuletzt geändert von chi_ras am Mo 13. Sep 2004, 15:32, insgesamt 1-mal geändert.
kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Beitrag von kummer »

das problem besteht darin, dass mysql zurzeit noch keine rekursiven abfragen erlaubt. deshalb muss man einen workaround machen und dieser ist in bezug auf seine tiefe stets begrenzt. man könnte den query so anpassen, dass er bis in die dritte oder vierte oder fünfte ebene geht. das ist allerdings - wie man sehen kann - nicht ganz einfach. geht dann deine struktur tatsächlich soweit hinunter? das ist nämlich auch in bezug auf die benutzerfreundlichkeit nicht unbedingt ideal.
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)
chi_ras
Beiträge: 8
Registriert: Di 1. Jun 2004, 20:58
Kontaktdaten:

Beitrag von chi_ras »

danke für die schnelle antwort (ging ja richtig flott ;-) )

ja meine struktur geht so tief und muss es auch, hihi.
das ist ne biologenseite, und für die systematische einteilung der tiere ist das nötig.

hier mal zum schauen für dich:
http://www.biotopia.info/front_content. ... t=5&lang=3

ist noch nich so viel drauf, aber wenn du so folgst:
protostomia->Porifera (Schwämme)....

dann wirst du sehen, dass alles andere nicht benutzerfreundlich wär...

;-)

grüsse,
chi
chi_ras
Beiträge: 8
Registriert: Di 1. Jun 2004, 20:58
Kontaktdaten:

Beitrag von chi_ras »

aber...

das mit der anzahl der artikel ist nicht so wichtig.
wäre ein nettes gimmick, muss aber nich sein, vorallem dann nich, wenn es langsam macht...

thanx anyway,
chi
kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Beitrag von kummer »

es würde schon etwas langsamer machen. aber es ist nicht gesagt, dass man das überhaupt merken würde. weisst du denn, wieweit du in die tiefe gehen können müsstest? vielleicht gibt es noch eine andere möglichkeit (rekursiv abfragen durch sequenzielle abfragen).
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)
chi_ras
Beiträge: 8
Registriert: Di 1. Jun 2004, 20:58
Kontaktdaten:

Beitrag von chi_ras »

hi kummer,

also meine Tiefe besteht momentan aus 8 Ebenen, was aber nicht heisst, dass es soviele bleiben. kann schon sein, dass es 10 werden. darüber werd ich dann wohl nich kommen.

hab hier nen code gefunden, vielleicht kannste was damit anfangen, aber meine php-kenntnisse reichen dafür nich aus, zudem benötigt es pear:

http://klempert.de/php/nested_sets/show ... =NestedSet

wie stellst du dir das mit den sequenziellen abfragen vor? kann mir grad kein bild davon machen bzw. wüsste nicht es umzusetzen.

Grüsse,
Chi
Gesperrt