Menü aus datenbank

Maffy

Erfahrenes Mitglied
ich habe eine tabelle in der ich ein feld categorie habe.

aus den einträgen in diesem feld möchte ich ein menü erzeugen lassen.

wenn eine categorie mehrfach vorkommt, dann soll er diese aber nur einmal darstellen.

bei click auf eine categorie soll er mir dann nur die entsprechenden einträge zu dieser categorie anzeigen.

das menü sollte ungefähr so aussehen:

categorie1 -> categorie2 usw.

mfg maffy
 
Ich blicke hier auch nicht ganz durch, ein bisschen helfen kann ich dennoch:

wenn eine categorie mehrfach vorkommt, dann soll er diese aber nur einmal darstellen.
Probiere die SQL Syntax
SELECT * FROM TABLE WHERE Suchbedingung GROUP BY category

--> das hat den Effekt,dass jeder Eintrag im Feld Kategorie nur einmal angezeigt wird.


Das mit den Pfeilen solltest du vielleicht *etwas* genauer erläutern, soll das etwas hierarchisches darstellen oder einfach nur eine grafische Orientierungshilfe sein oder HÄÄÄÄÄÄÄÄÄÄ?
(siehst schon, präzise Fragestellungen sind erwünscht ;))
 
Ich nehme jetzt einfach mal an, dass Du eine MySQL-DB verwendest.

PHP:
$sql = mysql_connect(host, user, password);
mysql_select_db(db_name, $sql);
$select = "SELECT distinct category FROM [tabelle]";
$ausgabe_category = mysql_query($select, $sql);

while($row = mysql_fetch_assoc($ausgabe_category)){  

	echo "<a href=\"deine_seite.php?category=$row[category]\">$row[category]</a><br>";
	
}

[EDIT]
Hab ich doch glatt die Ausgabe vergessen... :rolleyes:

PHP:
$sql = mysql_connect(host, user, password);
mysql_select_db(db_name, $sql);
$select = "SELECT * FROM [tabelle] WHERE category = $_GET[category]";
$ausgabe_eintraege = mysql_query($select, $sql);

while($row = mysql_fetch_assoc($ausgabe_eintraege)){  

echo $row[eintrag1];
echo $row[eintrag2];
.
.
.

}

Eventuell, musst Du vorher überprüfen, ob der Parameter "category" (der ja bei der zweiten SQL-Abfrage verwendet wird) überhaupt existiert.

[/EDIT]

Die Gestaltung des Menüs liegt dabei ganz in Deinen Händen.

Nicht getestet, sollte aber funktionieren.

MfG
cyber
 
Zuletzt bearbeitet:
danke erstmal,

das mit den "->" sollte eigendlich nur wegen der besseren übersicht sein dies kann auch " | " sein oder sonst was.
 
ich habe mir jetzt mal folgenden code ausgedacht:

hierbei gibt er mir die kategorien untereinander aus. er soll mir diese aber nebeneinander und durch ein "|" oder "->" getrennt und als link ausgeben.

PHP:
<?php
include("mysqldb.php");

		$categorie = 0;

function newcategorie ($newcat)
	{
		global $categorie;
		$categorie++;
		print "<div align='left' class='nav'>$categorie. $newcat </div>";
	}
	
//abfrage der categorien

$sql = $db->query("SELECT categorie FROM mr73_threads");

		while($row =  $db->data($sql)) 
	{
		newcategorie("$row[categorie]");
	}
?>
 
Warum machst Du Dir selbst das Leben schwer? Die Funktion "newcategorie" kannst Du getrost weglassen.

Wie gesagt:

PHP:
$sql = $db->query("SELECT distinct categorie FROM mr73_threads");

while($row =  $db->data($sql)) {

echo "<a href=\"deine_seite.php?category=$row[categorie]\">$row[categorie]</a> | ";
    
}

wenn Du's unbedingt mit ner Funktion machen willst, dann lass mal das "div" weg...

also:

PHP:
function newcategorie ($newcat)
    {
        global $categorie;
        $categorie++;
        print "<a href=\"deine_seite.php?categorie=$row[categorie]\">$row[categorie]</a> | ";
    }
 
die funktion war nur ein beispiel aus einem buch, die ich einfach mal mit eingebaut habe. wird aber nicht wirklich gebraucht.
 
Zurück