Hi,
ich möchte mit nem Script testen, ob eine bestimmte/ermittelte Unterkategorie (level1-3) zu einer bestimmten Kategorie (level0) gehört. ich nehme an dass das nur in der cat_tree definiert ist, leider weiß ich bei dieser tabellen-aufschlüsselung nicht wie ich am besten die abfrage schreiben soll. kann mir das jemand sagen. ein hint reicht vielleicht schon.
Zusammenhang zwischen Unterkategorie und Kategorie
hi nochmal,
ich habe das nun selber geschafft. allerdings glaube ich, dass ich da recht umständlich rangegangen bin. ich habe zur ermittlung aller unterkategorien einer oberkategorie, alle idcat- und level-werte aus der cat gelesen. danach geht das script die categorien durch. nachdem die bestimmte oberkategorie (idcat) erreicht, schreibt er alle folgenden kategorien in ein array, solange die level nummer nicht gleich bzw. kleiner ist als von der oberkategorie. nun kann ich das array mit dem anderen vergleichen.
kann mir jemand sagen, ob das programmier technisch ok ist oder ob es bei contenido eine andere möglichkeit gibt bereits nur die daten aus der datenbank zu holen, die relevant sind (zur zeit sammele ich ja alle kategorien) bzw. ob es einen wert gibt der besser zur bestimmung geeignet ist.
zum anderen kann mir jemand genau die bedeutung und die nutzungsmöglichkeiten von parentid erklären. ich habe da zwar einen zusammenhang zwischen den einzelnen kategorien erkannt, aber kann das nicht genau einschätzen (wie genau die parentid vergeben werden und wie man das dann ausnutzen kann...).
ich habe das nun selber geschafft. allerdings glaube ich, dass ich da recht umständlich rangegangen bin. ich habe zur ermittlung aller unterkategorien einer oberkategorie, alle idcat- und level-werte aus der cat gelesen. danach geht das script die categorien durch. nachdem die bestimmte oberkategorie (idcat) erreicht, schreibt er alle folgenden kategorien in ein array, solange die level nummer nicht gleich bzw. kleiner ist als von der oberkategorie. nun kann ich das array mit dem anderen vergleichen.
kann mir jemand sagen, ob das programmier technisch ok ist oder ob es bei contenido eine andere möglichkeit gibt bereits nur die daten aus der datenbank zu holen, die relevant sind (zur zeit sammele ich ja alle kategorien) bzw. ob es einen wert gibt der besser zur bestimmung geeignet ist.
zum anderen kann mir jemand genau die bedeutung und die nutzungsmöglichkeiten von parentid erklären. ich habe da zwar einen zusammenhang zwischen den einzelnen kategorien erkannt, aber kann das nicht genau einschätzen (wie genau die parentid vergeben werden und wie man das dann ausnutzen kann...).
-
- Beiträge: 1082
- Registriert: Di 22. Jul 2003, 10:14
- Wohnort: Hessen
- Kontaktdaten:
Hallo trixta,
in einigen Hauptnavigationen wird folgende Funktion verwendet:
Damit sollte alles klappen.
Viel Erfolg
Florian
in einigen Hauptnavigationen wird folgende Funktion verwendet:
Code: Alles auswählen
if (!function_exists("catIsChildOf"))
{
function catIsChildOf($id, $idparent) {
global $cfg, $client, $lang;
$db = new DB_Contenido;
$parent = $id;
while ( $parent != 0 ) {
$sql = "SELECT
a.parentid
FROM
".$cfg["tab"]["cat"]." AS a,
".$cfg["tab"]["cat_lang"]." AS b
WHERE
a.idclient = '".$client."' AND
b.idlang = '".$lang."' AND
a.idcat = b.idcat AND
a.idcat = '".$parent."'";
$db->query($sql);
$db->next_record();
$parent = $db->f("parentid");
if ($parent == $idparent) {
return true;
}
}
return false;
} // End Function catIsChildOf
} // End if exists Function
Viel Erfolg
Florian