Seite 1 von 1

Con_cat verständnissfrage parentid

Verfasst: So 21. Mai 2006, 12:16
von php0815
Hallo zusammen
Möchte fon der con_cat_tree einen Baum auslesen.
zb.
Service-----idcat 52
-- install---- parentid 52
-- test-------parentid 52------ idcat 63
---- test1-------- parentid 63
---- test2---------parentid 63
-- user-------parentid 52
Geschlossener Bereich
-- ich bin da
-- du auch

Also alles was unter Service steht

Service hat die idcat 12
wird dann die parentid in con_cat für install, test, user auf 12 gesetzt
so sieht es zumindest aus wenn ich mir die Tabellen anschaue.

Wenn ja wie bekomme ich die parentid von der 3 Ebene test1,test2 raus.

Habe mir gedacht bevor ich das Programieren anfange frage ich mal nach.


Gruß
Horst

Verfasst: So 21. Mai 2006, 15:21
von emergence
ähm...
ich verstehe die frage vermutlich komplett falsch...

die parent id der 3 ebene entspricht der idcat der übergeordneten
in deinem fall test => idcat = 20

schau mal in der functions.str.php
da findet sich einiges an code was dir vielleicht beim verständniss hilft...

Verfasst: So 21. Mai 2006, 15:41
von php0815
Du verstehst die Frage nur zum teil falsch.
habe sie auch nicht richtig gestellt.
sie idcat ist nicht eindeutig von der ebene 2 aus der ich die parent id ermitteln will.
Habe mir folgendes überlegt ich lasse eine Datenbank abfrage mit dem vergleich idcat (ebene2) == parent id durchlaufen bis eine übereinstimmung erfolgt und das ist die parent id der ebene 3.

werde mir das heute nacht bei der Arbeit(Nachtschicht) durch den Kopf gehen lassen.
Muß ins Bett sonst halte ich die Nacht nicht durch bin seit 6Uhr schon wieder wach.

Verfasst: Mo 22. Mai 2006, 12:51
von php0815
So jetzt habe ich hoffendlich das ganze verstanden.

1.Ebene idcat 52 == parentid 52-> 2.Ebene

2.Ebene (postid=0 + parentid 52) preid 63 == parentid 63 -> 3.Ebene

3.Ebene (preid=0 + parentid 63) == idcat 63 -> 2. Ebene

Kann mir jemand sagen ob das ganze richtig ist.

Verfasst: Mo 22. Mai 2006, 15:58
von php0815
So jetzt funzt mal die DB abfrage

Code: Alles auswählen

<?php
/*
1.Ebene idcat 52 == parentid 52-> 2.Ebene

2.Ebene (postid=0 + parentid 52) preid 63 == parentid 63 -> 3.Ebene

3.Ebene (preid=0 + parentid 63) == idcat 63 -> 2. Ebene
*/
$idcat = CMS_VALUE[0];

$db2 = new DB_Contenido;

$sql = "SELECT
          preid
        FROM
          ".$cfg['tab']['cat']."
        WHERE
          postid='0'
        AND
          parentid='$idcat'";

$db2->query($sql);
  if ($db2->next_record()){
    $preid = $db2->f("preid");
  }

echo" sql= $sql<br><br>";
echo" preid= $preid<br><br>";
?>
Ausgabe:
sql= SELECT preid FROM con_cat WHERE postid='0' AND parentid='52'

preid= 63

Tabelleneintrag:
idcat--idclient--parentid--preid--postid
80-------1----------52--------63------0---