D
DEDEX7200Pro
Hallo Leute,
ich habe hier ein Problem mit meinen Script.
Hier erst mal, wie es aussehen sollte:
und hier, wie es derzeit aussieht:
(Es fehlen quasi die Links in der Kategorie 3 und danach dann)
Meine SQL-Datenbank sieht so aus:
struktur:
Inhalt:
(bzw. die Befehle^^ Wüsste nicht, wie ich des sonst gut darstellen könnte)
Mein Script sieht so aus:
Die config.php enthält nur meine Datenbankeinstellungen (die ja auch korrekt sind^^). Die Defines.php soll später mal mein Menü enthalten. (Hab schon ein waagrechtes menü; aber möchte dann ein anderes style haben, aber des ist ja auch jetzt egal).
So jetzt habe ich ja, wie oben das Problem, dass der Inhalt für die zweite Kategorie nicht vorhanden ist. Wie löse ich das Problem? Ich habe des schon mit foreach und for versucht, aber irgenwie setze ich des an die falsche stelle, wenn ihr des problem damit lösen könnt^^
Edit: Mit $categorie == $categorie2 möchte ich verhindern, das Inhalt für die Kategorie 3 nicht in der zweiten erscheint
Edit2: Ich verstehe halt nicht, warum ab
zwar dann 2 Kategorien oder mehr macht, aber dann nur einmal die Links zu den Kategorien macht
Edit3: Ich mein, wenn ich
echo "<p>Hallo</p>"; mache anstatt
dann wird doch auch bei beiden Kategorien "Hallo" angezeigt; wieso dann nicht bei den Links?
Edit XXX:
oder so
Am liebsten wäre es mir so, aber wie komme ich auf $link und $page? Bei $row["link"] oder $row["page"] klappt es bei mir nicht und dann müsste noch die Kategorien zugeordnet werden
ich habe hier ein Problem mit meinen Script.
Hier erst mal, wie es aussehen sollte:
PHP:
<div class="menu">
<ul>
<li><a href="http://www.ebay.de" class="hide">Kategorie 1</a></li>
<li><a class="hide">Kategorie 2</a>
<ul>
<li><a href="http://www.test.de">test.de</a></li>
</ul>
</li>
<li><a class="hide">Kategorie 3</a>
<ul>
<li><a href="http://www.test2.de">test2.de</a></li>
</ul>
</li>
</ul>
</div>
und hier, wie es derzeit aussieht:
PHP:
<div class="menu">
<ul>
<li><a href="http://www.ebay.de" class="hide">Kategorie 1</a>
<li><a class="hide">Kategorie 2</a>
<ul>
<li><a href="http://www.test.de">test.de</a></li>
</ul>
<li><a class="hide">Kategorie 3</a>
</ul>
</div>
(Es fehlen quasi die Links in der Kategorie 3 und danach dann)
Meine SQL-Datenbank sieht so aus:
struktur:
Code:
CREATE TABLE navigation (
id INT (8) unsigned NOT NULL AUTO_INCREMENT,
categorielink varchar(255) NOT NULL default '',
categorie varchar(255) NOT NULL default '',
link varchar(255) NOT NULL default '',
page varchar(255) NOT NULL default '',
type varchar(255) NOT NULL default '',
date timestamp(14) NOT NULL,
PRIMARY KEY (id)
) TYPE=MyISAM;
Inhalt:
Code:
INSERT INTO navigation (categorie, link, page, type) VALUES ('Kategorie 1', 'http://www.ebay.de', '', 'categorielink');
INSERT INTO navigation (categorie, link, page, type) VALUES ('Kategorie 2', '', '', 'categorie');
INSERT INTO navigation (categorie, link, page, type) VALUES ('Kategorie 2', 'http://www.test.de', 'test.de', 'link');
INSERT INTO navigation (categorie, link, page, type) VALUES ('Kategorie 3', '', '', 'categorie');
INSERT INTO navigation (categorie, link, page, type) VALUES ('Kategorie 3', 'http://www.test2.de', 'test2.de', 'link');
(bzw. die Befehle^^ Wüsste nicht, wie ich des sonst gut darstellen könnte)
Mein Script sieht so aus:
PHP:
<?php
include("config.php");
include("defines.php");
mysql_connect($host, $user , $pass);
mysql_select_db($db);
$query = mysql_query("SELECT * FROM navigation");
$query2 = mysql_query("SELECT * FROM navigation");
echo "<div class=\"menu\">";
echo "<ul>";
while($row = mysql_fetch_array($query,MYSQL_ASSOC)) {
//Falls kein Untermenü, Link anzeigen
if ($row["type"] == "categorielink") {
echo "<li><a href=\"".$row["link"]."\" class=\"hide\">".$row["categorie"]."</a></li>";
}
//Falls Untermenü, die restlichen Kategorien
if ($row["type"] == "categorie") {
$categorie = $row["categorie"];
echo "<li><a class=\"hide\">".$row["categorie"]."</a>";
//Unterseiten / Links
while($row2 = mysql_fetch_array($query2,MYSQL_ASSOC)) {
$categorie2 = $row2["categorie"];
echo "<ul>";
if ($row2["type"] == "link" and $categorie == $categorie2) {
echo "<li><a href=\"".$row2["link"]."\">".$row2["page"]."</a></li>";
}
echo "</ul>";
}
echo "</li>";
}
}
echo "</ul>";
echo "</div>";
?>
Die config.php enthält nur meine Datenbankeinstellungen (die ja auch korrekt sind^^). Die Defines.php soll später mal mein Menü enthalten. (Hab schon ein waagrechtes menü; aber möchte dann ein anderes style haben, aber des ist ja auch jetzt egal).
So jetzt habe ich ja, wie oben das Problem, dass der Inhalt für die zweite Kategorie nicht vorhanden ist. Wie löse ich das Problem? Ich habe des schon mit foreach und for versucht, aber irgenwie setze ich des an die falsche stelle, wenn ihr des problem damit lösen könnt^^
Edit: Mit $categorie == $categorie2 möchte ich verhindern, das Inhalt für die Kategorie 3 nicht in der zweiten erscheint
Edit2: Ich verstehe halt nicht, warum ab
Code:
if ($row["type"] == "categorie") {
Edit3: Ich mein, wenn ich
echo "<p>Hallo</p>"; mache anstatt
Code:
while($row2 = mysql_fetch_array($query2,MYSQL_ASSOC)) {
$categorie2 = $row2["categorie"];
echo "<ul>";
if ($row2["type"] == "link" and $categorie == $categorie2) {
echo "<li><a href=\"".$row2["link"]."\">".$row2["page"]."</a></li>";
}
echo "</ul>";
}
dann wird doch auch bei beiden Kategorien "Hallo" angezeigt; wieso dann nicht bei den Links?
Edit XXX:
PHP:
<?php
include("config.php");
include("defines.php");
mysql_connect($host, $user , $pass);
mysql_select_db($db);
$query = mysql_query("SELECT * FROM navigation");
echo "<div class=\"menu\">";
echo "<ul>";
while($row = mysql_fetch_array($query,MYSQL_ASSOC)) {
//Falls kein Untermenü, Link anzeigen
if ($row["type"] == "categorielink") {
echo "<li><a href=\"".$row["link"]."\" class=\"hide\">".$row["categorie"]."</a></li>";
}
//Falls Untermenü, die restlichen Kategorien
if ($row["type"] == "categorie") {
echo "<li><a class=\"hide\">".$row["categorie"]."</a>";
//Unterseiten / Links
if (!empty($link) and !empty($page))
echo "<ul><li><a href=\"".$link."\">".$page."</a></li></ul>";
echo "</li>";
}
}
echo "</ul>";
echo "</div>";
?>
oder so
PHP:
<?php
include("config.php");
include("defines.php");
mysql_connect($host, $user , $pass);
mysql_select_db($db);
$query = mysql_query("SELECT * FROM navigation");
echo "<div class=\"menu\">";
echo "<ul>";
while($row = mysql_fetch_array($query,MYSQL_ASSOC)) {
$categorie = $row["categorie"];
$link = $row["link"];
$page = $row["page"];
$type = $row["type"];
//Falls kein Untermenü, Link anzeigen
if ($type == "categorielink") {
echo "<li><a href=\"".$link."\" class=\"hide\">".$categorie."</a></li>";
}
//Falls Untermenü, die restlichen Kategorien
if ($type == "categorie") {
echo "<li><a class=\"hide\">".$row["categorie"]."</a>";
//Unterseiten / Links
if ($type == "link") {
echo "<ul><li><a href=\"".$link."\">".$page."</a></li></ul>";
}
echo "</li>";
}
}
echo "</ul>";
echo "</div>";
?>
Am liebsten wäre es mir so, aber wie komme ich auf $link und $page? Bei $row["link"] oder $row["page"] klappt es bei mir nicht und dann müsste noch die Kategorien zugeordnet werden
Zuletzt bearbeitet von einem Moderator: