Funky_MF
Erfahrenes Mitglied
Hallo,
für ein Websiteprojekt habe ich ein Glossar entworfen, welches in alphabetischer Reihenfolge die Begriffe und die jeweiligen Erklärungen dazu liefert.
Für jeden Begriff wird ein eigener Datensatz angelegt. Die Darstellung erfolgt in 5 Gruppen (A-E, F-J, usw.)
Jetzt möchte ich Begriffe, welche in den Beschreibungen vorkommen und bereits im Glossar als Begriff mit Erklärung existieren, mit diesem automatisch verlinken.
Zur besseren Verdeutlichung ein Beispiel:
Käse = Ein Nahrungsmittel welches aus Milch hergestellt wird
Milch = Weiße Flüssigkeit mit hohem Eiweißgehalt
(In dem Fall würde "Milch" in der ersten Zeile per #id mit dem Begriff "Milch" in der zweiten Zeile verlinkt werden.)
Ich habe hierfür auch eine Lösung, allerdings ist die furchtbar laaaangsaaaam, ich bräuchte ein paar Tips, wie ich das besser machen könnte.
Hier mein Code:
für ein Websiteprojekt habe ich ein Glossar entworfen, welches in alphabetischer Reihenfolge die Begriffe und die jeweiligen Erklärungen dazu liefert.
Für jeden Begriff wird ein eigener Datensatz angelegt. Die Darstellung erfolgt in 5 Gruppen (A-E, F-J, usw.)
Jetzt möchte ich Begriffe, welche in den Beschreibungen vorkommen und bereits im Glossar als Begriff mit Erklärung existieren, mit diesem automatisch verlinken.
Zur besseren Verdeutlichung ein Beispiel:
Käse = Ein Nahrungsmittel welches aus Milch hergestellt wird
Milch = Weiße Flüssigkeit mit hohem Eiweißgehalt
(In dem Fall würde "Milch" in der ersten Zeile per #id mit dem Begriff "Milch" in der zweiten Zeile verlinkt werden.)
Ich habe hierfür auch eine Lösung, allerdings ist die furchtbar laaaangsaaaam, ich bräuchte ein paar Tips, wie ich das besser machen könnte.
Hier mein Code:
PHP:
switch ($page) {
case "1":
$group = "A-E";
break;
case "2":
$group = "F-J";
break;
case "3":
$group = "K-O";
break;
case "4":
$group = "P-T";
break;
case "5":
$group = "U-Z";
break;
}
$data = sql("SELECT * FROM glossar WHERE gl_group = '".$group."' ORDER BY gl_title ASC");
while ($inhalt = mysql_fetch_array ($data,MYSQL_ASSOC)) {
$arr = explode (" ", $inhalt['gl_description']);
foreach ($arr as $v) {
$dest = sql("SELECT * FROM glossar WHERE gl_title LIKE %$v% LIMIT 1");
if ($row = mysql_fetch_row($dest)){
$v = "<a href=\"index.php?page=".$row[7]."#".$row[0]."\">".$v."</a>";
}
$description_arr[] = $v;
}
$description_str = implode (" ",$description_arr);
echo "<p id=".$inhalt['gl_id']."><strong>".$inhalt['gl_title']."</strong> ".$description_str."</p>\n";
unset($description_arr);
}
Zuletzt bearbeitet: