Problem mit Menue-Erstellung aus DB

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit Menue-Erstellung aus DB

    Hallo,
    ich habe, mal wieder, ein kleines/großes Problem. Ich möchte aus den inhalten meiner MySQL-Datenbank ein Menü erstellen. Nachfolgend erstmal die Struktur meiner DB-Tabellen:

    category
    +------------------------+-----------+---------+
    | cat_id (auto_increment) | cat_name | cat_sort |
    +------------------------+-----------+---------+

    content
    +----------------------------+-------------------+-------------+--------------+
    | content_id (auto_increment) | content_kategorie | content_titel | content_sort |
    +----------------------------+-------------------+-------------+--------------+

    Das Menü soll sich nun folgendermaßen zusammensetzen:
    Als Überschriften sollen dort der Inhalt von cat_name sortiert nach dem Feld cat_sort stehen. Unter jeder Überschrift sollen nun die Links (content_titel) folgen und zwar so, dass nur die Links die die gleiche Nummer im Feld content_kategorie wie im Feld cat_id haben unter der zugehörigen Überschriften auftauchen. Ebenso wie die Kategorie-Überschriften sollen auch die einzelnen Links nach content_sort sortiert werden...

    Ich hoffe ich konnte mich einigermaßen deutlich ausdrücken (wenn nicht fragt bitte nach!). Ich habe das ganze auch schon versucht umzusetzen, kam allerdings nicht wirklich weiter:

    PHP-Code:
    <?php
    require("_config.inc.php");
    require(
    "_functions.php");

    $menu='';

    $result mysql_query("SELECT category.*, content.* 
                           FROM category 
                           LEFT JOIN content ON (content.content_kategorie=category.cat_id) 
                           WHERE cat_id = '1' AND content_kategorie = '1' 
                           ORDER BY cat_sort ASC"
    );    

    while (
    $row mysql_fetch_array($result)) {
        
    $menu_headline.=$row['cat_name'];
        
    $menu_links.="<a href=\"index.php?site=".$row['content_id']."\">".$row['content_titel']."</a><br>";    
        eval (
    "\$menu = \"".gettemplate("menu")."\";");
    }

    eval(
    "dooutput(\"".gettemplate("index")."\");");
    ?>
    Mit diesem Code, konnte ich lediglich alle Inhalte in die Variiablen speichern und dann untereinander ausgeben lassen. Bsp: cat1 cat2 cat3 cat4 content1 content2 content3 content4 usw.
    Es sollte allerdings in etwa so aussehen: Bsp: cat1 content1 content2 content3 cat2 content4 content5 usw.

    Naja, ich hoffe ihr könnt mir helfen

    Vielen Dank im voraus.
    phil.
    Zuletzt geändert von Phil98; 11.10.2003, 14:45.
    [COLOR=black]:: [ vernetzt.es ] ::[/COLOR]

  • #2
    Thema hat sich erledigt. Hab die Lösung gefunden:
    PHP-Code:
    <?php
    require("_config.inc.php");

    $result mysql_query("SELECT * 
                           FROM category 
                           GROUP BY cat_id
                           ORDER BY cat_sort ASC"
    );    

    while (
    $row mysql_fetch_array($result)) {
        echo 
    "".$row['cat_name']."<br>";
            
            
    $result1 mysql_query("SELECT * 
                                    FROM content 
                                    WHERE content_kategorie='
    $row[cat_id]'
                                    ORDER BY content_sort ASC"
    );
            while (
    $row1 mysql_fetch_array($result1)) {
            echo 
    "<a href=\"$PHP_SELF?site=".$row1['content_id']."\">".$row1['content_titel']."</a><br>";
            }
        
    }
    ?>
    Allerdings habe ich niche eine Frage: WIE SPEICHER ICH DAS GANZE JETZT IN DIE VARIABLEN??
    cu phil.
    Zuletzt geändert von Phil98; 11.10.2003, 23:14.
    [COLOR=black]:: [ vernetzt.es ] ::[/COLOR]

    Kommentar


    • #3
      WIE SPEICHER ICH DAS GANZE JETZT IN DIE VARIABLEN??
      wie meinst du das`?

      Kommentar


      • #4
        Original geschrieben von TobiaZ
        wie meinst du das`?
        Sorry, habe mich evtl. etwas undeutlich ausgedrückt...
        Ich wollte das ganze ursprünglich, da auf templates basierend, in die Variablen $menu_headline und $menu_links speichern -> s.o.
        Wenn ich das aber so mache, dann werden die Überschriften und die dazugehörigen Links wieder untereinander (cat1 cat2 cat3 content1 content2 content3 etc.) ausgegeben. Warscheinlich muss ich dann alles in eine Variable packen, damit es richtig ausgegeben wird... Kann das sein?
        Ich hoffe, ich konnte mich etwas deutlicher ausdrücken (auch wenn ich nicht den Eindrck habe ).
        Naja, wenn es nicht geht, mach ich es halt so, wie oben geposted
        cu phil.
        [COLOR=black]:: [ vernetzt.es ] ::[/COLOR]

        Kommentar


        • #5
          echo "<a href=\"$PHP_SELF?site=".$row1['content_id']."\">".$row1['content_titel']."</a><br>";

          das willst du in die Variable packen?

          $var = "<a href=\"$PHP_SELF?site=".$row1['content_id']."\">".$row1['content_titel']."</a>"; // ohne umbruch

          oder mit den meisten TemplateEngines:

          $TPL->Assign('navi', "<a href=\"$PHP_SELF?site=".$row1['content_id']."\">".$row1['content_titel']."</a>");


          meinst du das?

          Kommentar

          Lädt...
          X