Seite 1 von 1

Wie Kategorie-id abfragen?

Verfasst: Mo 30. Jan 2006, 13:55
von abrek
Wie kann man die &idcat abfragen, die eine Ebene höher als die aktuelle Kategorie liegt?
Ich kann nur sagen, dass ich ein PHP+SQL-Anfänger bin.
Brauche folgendes: ein Modul listet alle Unterkategorien der aktuellen Kategorie auf:
<?
// Aktuelle Kategorie abfragen
$selcat="95";
// DB-Instanz
$dbi = new DB_Contenido;

if($selcat!="0" && $selcat!="")
{
$query = "SELECT idcat FROM ".$cfg["tab"]["cat"]." WHERE parentid = '$selcat'";
$dbi->query($query);

// form start ausgabe
echo '<div id="selectpresentation">';
echo '<form name="dropdownmenu" id="">';
echo '<select name="dropdown" onchange="MM_jumpMenu(\'parent\',this,0)">';
echo '<option value="">››&nbsp;Pr&auml;sentationsauswahl&nbsp;‹‹</option>';


// Alle Childs des aktuellen Parent auslesen
while ($dbi->next_record())
{
$a_idcat[] =$dbi->f("idcat");
}

// Wenn Datensaetze gelesen wurden, darueber loopen
if (is_array($a_idcat))
{
foreach ($a_idcat as $key => $value)
{
// $value enthaelt nun die einzelnen Child-idcat
// Nun brauchen wir idcat (fuer den Link) und title (fuer die Beschriftung)
$query = "select * from ".$cfg["tab"]["cat_lang"]." where idcat = '$value'";
$dbi->query($query);
$dbi->next_record();
$s_name = $dbi->f("name");
$s_idcat = $dbi->f("idcat");
$link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=$s_idcat");


// option ausgabe
echo '<option value="'.$link.'">'.$s_name.'</option>';

}
}

// form end ausgabe
echo '</select>';
echo '</form>';
echo '</div>';

}
?>
Ich möchte statt manuelle Eingaben des Kategorieebene eine Abfrage machen und dann das Ergebnis zu $selcat="xx"; (ganz am Anfang des Skriptes) einfügen. Geht das? Sonst muss ich ganz viel Modulen einlegen und das ganze geht langsam außer Kontrolle... :shock:

Verfasst: Mo 30. Jan 2006, 21:06
von emergence
wenn ich mich nicht ganz täusche gibts bei der 4.6.x beim mandanten ein include verzeichnis... und dort findest du ein paar nette navigationsfunktionen... unter anderem eine die getparent heisst...

könnte nützlich sein sich das dort genauer anzusehen...