Seite 1 von 1

etwas für Codecracker ...

Verfasst: So 6. Jul 2003, 16:23
von geo
Hallo!

Wer kann mir beim folgenden Code weiterhelfen.
Es handelt sich um die Navigation.
Ich möchte dass nur die 1. Ebene der Struktur aus der Datenbank ausgelesen wird...

Der Code ist vom Modul - Output:

Code: Alles auswählen

<?
include_once($cfg["path"]["contenido"].$cfg["path"]["includes"]."functions.con.php");

$catStart = "CMS_VALUE[0]";

if ($catStart != "") {
  $catIds = conDeeperCategoriesArray($catStart);

  echo '<table cellpadding="0" cellspacing="0" border="0"><tr>';
  echo '<td></td>';


  if ( is_array($catIds) ) {

      foreach($catIds as $key=>$val) {

      // Ersten Eintrag ueberspringen, weil das der Menupunkt selbst ist
      // und nicht angezeigt werden soll.
      if ($key != 0) {

        $sql = "SELECT CAT.idcat AS idcat, name FROM ".
               $cfg["tab"]["cat"]." AS CAT, ".
               $cfg["tab"]["cat_lang"]." AS CATLANG 
               WHERE CAT.idcat = ".$val."
               AND CAT.idcat = CATLANG.idcat";

        $db->query($sql);


          while ( $db->next_record() ) {

          echo '<td height="21" class=".navigation-w" style="border: 0px; padding-left:7px; padding-right:7px;">
          <a class="navigation-w"href="front_content.php?idcat='.$db->f("idcat").'">'.$db->f("name").'</a></td>';
        } // end while
      } // if
    }  // end foreach
  } // end if (is_array)

  echo '</tr></table>';

}
?>
Mein Problem ist, wenn meine Struktur mehr als 1 Ebene aufweist, werden alle dargestellt. Dies möchte ich haber nicht....

Verfasst: Mi 9. Jul 2003, 18:57
von geo
:?: :?: :?:
:cry:

Verfasst: Do 10. Jul 2003, 22:22
von geo
:cry:

Verfasst: Fr 11. Jul 2003, 05:27
von idea-tec
dein Problem steckt in dem Teil:
$catIds = conDeeperCategoriesArray($catStart);

hier werden aufgrund der Start-ID die zugehörigen Sub-IDs geholt und nachfolgend in der Schleife -> foreach($catIds as $key=>$val) <- alle abgearbeitet.

Nun stellt sich die frage ob du das ganze tool umschreiben willst oder ob du einfach nur für dich die bedingung ändern möchtest, deshalb als vorschlag folgende Änderung vornehmen:

// $catIds = conDeeperCategoriesArray($catStart);
$catIds = $catStart;

somit hast du nur die id der gewünschten ebene im zugriff (und nun hoffe ich, dass der da auch eine id übergibt und nicht irgendwas, da wir nicht mehr mit der 4.3 arbeiten)

Verfasst: Fr 11. Jul 2003, 12:40
von geo
Hallo idea-tec,
zunächst vielen Dank für den Lösungsversuch.

Wenn ich die Zeile

Code: Alles auswählen

$catIds = conDeeperCategoriesArray($catStart);
so ändere

Code: Alles auswählen

$catIds = $catStart; 
.... dann zeigt die Navigation nichts mehr an