Website verticales aufklapbares Menü

ToubeX

Komplett-PC-Aufrüster(in)
Website verticales aufklapbares Menü

Hallo ich möchte in meine Website ein Menü integrieren welches vertikal ist und aufklappbar ist.
Also :
1.
1.1
1.2
2.
2.1
2.2

Jetzt ist mein Problem das ja sobald ich einen Unterpunkt anklicke das Menü wieder zuklappt.
Kann mir wer mal einen beispielcode evtl posten dad ich es hinbekomme das das untermenü solange aufgeklappt bleibt bis ich das nävhste Menü öffnen möchte
 
AW: Website verticales aufklapbares Menü

Such dir doch einfach eine Seite mit passenden Eigenschaften und lese deren Quellcode durch. Dadurch bist du in der Lage, deinen eigenen Code zu schreiben. Den Code zeigen die meisten Browser mit "STRG" + "u" an.
 
Aber ich vermut mal das dazu php ebenfalls notwendig ist und php ist ja nur serverseitig
 
AW: Website verticales aufklapbares Menü

Geht auch mit javascript. Schau dir einfach ein paar Seiten an. Wobei php auch kein Problem sein sollte - oder willst du das Ding "offline" laufen lassen? Dann würde auch javascript ausfallen.
 
Am liebsten nur php weils hall immer paar gibt die kein Java verwenden. Und mit css :hover is kacks wegen Smartphones.
 
AW: Website verticales aufklapbares Menü

Java und Javascript sind zwei paar Stiefel/Schuhe. Hatte meine alte HP auch mit Javascript ausgestattet (für´s Menü) und die lief auch auf dem iPhone ohne Probleme. Script geht auch auf mobilen Geräten - Java nicht auf allen.
 
AW: Website verticales aufklapbares Menü

Der Thread hat echt Unterhaltungswert. Zur Zeit stehen also PHP, Java und JavaScript im Raum. Mal sehen, wer das Rennen macht. :D
Ich persönlich würde ja nur zu gerne eine Lösung in PHP sehen...
 
AW: Website verticales aufklapbares Menü

Ich würde dir empfehlen, dich mal ein wenig mit Twitter Bootstrap auseinanderzusetzen.

Twitter Bootstrap Tutorial | w3resource

Das kann das, was du erzielen möchtest und noch sehr viel mehr.

Es wird nichts bringen, dir hier ein wenig Javascript-Code hinzupacken, wenn keiner weiß, wie deine Webseite aussieht und umgekehrt wirst auch du nicht deuten können, was die Leute dir sagen wollen.
 
AW: Website verticales aufklapbares Menü

Mit php und Mysql ist das ganze lösbar.

soweit ich das verstehe möchtest du das die Website zunächst so aussieht:

1.
2.
3.

Sobald du auf eins klickst:

1.
1.1
1.2
1.3
2.
3.

und sobald du auf 1.1 klickst soll da weiterhin

1.
1.1
1.2
1.3
2.
3.

stehen. Erst wenn du dann auf 2. klickst eben

1.
2.
2.1
2.2
3.

In die Datenbank schreibst du dann eben zwei Tabellen z.B. "Link_Hauptlevel" mit (id/link/name) und die zweite "Link_Sublevel_eins" mit (id/haupt_lvl/link_name)

Dann holst du dir einen Count der "Link_Hauptlevel" und speicherst in $count

und dann

for($a = 1; $a <= $count ; $a++)
{
Die Daten holen WHERE id = $a
echo "<a href="index.php?inc=1">$name_von1</a>";


if(isset($_GET['inc'])){$inc = $_GET['inc'];}else{$inc="";}

if($inc != "" AND $inc == $a)
{
count auf Link_Sublevel_eins speichern in $count_sublevel_1

for ($b = 1; $b <= $count_sublevel_1; $b++)
{
Die Daten Holen WHERE id = $b dabei wird 'Haupt_Level' in $haupt_level gespeichert.

if($haupt_level == $a)
{
echo "< a href="index.php?inc=1&sublink=1">$name_sublink_1.1</a>";
}

}
}

}

Natürich fehlen da die ganzen MYSQL Anweisungen aber das Grundprinzip sollte funktionieren. GGf würde ich bei Bedarf auch morgen nochmal einen funktionierenden vollständigen Code zusammenbasteln.
 
Zuletzt bearbeitet:
AW: Website verticales aufklapbares Menü

für sowas ne db? oO da würd ich eher jedesmal nen GET parameter mit meinem link digens da mitschicken ^^
 
AW: Website verticales aufklapbares Menü

Die Idee ist ja mal geil. Eine komplette Seite neu laden, nur um ein Menü aufzuklappen. ^^
Für so ein Menü eignet sich PHP natürlich ganz ausgezeichnet.
 
AW: Website verticales aufklapbares Menü

das ausserdem ^^ soweit hatte ich jetz garnich mehr gedacht >< naja, die hitze und frisch von der arbeit ^^
 
AW: Website verticales aufklapbares Menü

Naja ich persönlich lege meine Links immer in der Datenbank ab. Das macht die Pflege von Seiten m.E. deutlich einfacher da du alle Daten immer nur an einer Stelle ändern musst. Natürlich könnte man das ganze auch als festen Code schreiben oder in einem Dateisystem speichern.
Ich verwende i.d.R. eigentlich immer Datenbanken da so die Möglichkeiten mit PHP m.E. erst voll ausgeschöpft werden können.


Habe auch grade mal eine mögliche Lösung geschrieben die findet ihr unter http://test.mechtold.com/

CODE ab hier:

<?php

function verbindung()
{
// Hier Stehen die Verbindungsdaten
}


class navigation
{
private $name = "";
private $subname = "";
private $link = "";
private $id = "";
private $sql_hauptlevel = "Hier_steht_der_Tabellenname_der_Haupttabelle";
private $sql_sublevel_eins = "Hier_steht_der_tabellenname_der_subtabelle";

public function build_nav()
{
$mysql_connect = verbindung(); //Verbindung aufbauen
$sql_hauptlevel = $this->sql_hauptlevel;
$sql_sublevel_eins = $this->sql_sublevel_eins;

$result = mysql_query("SELECT COUNT(id) FROM `$sql_hauptlevel`");
$count_hauptlevel_tmp = mysql_fetch_row($result);
$count_hauptlevel = $count_hauptlevel_tmp[0];

for($a = 1; $a <= $count_hauptlevel; $a++)
{
$result = mysql_query("SELECT name FROM `$sql_hauptlevel` WHERE id='$a'");
$name_tmp = mysql_fetch_row($result);
$this->name = $name_tmp[0];

echo "<a href='index.php?inc=$a'>$this->name</a><br>";

if(isset($_GET['inc'])){$inc = $_GET['inc'];}
else{$inc = "";}

if($inc == $a)
{

$result = mysql_query("SELECT COUNT(id) FROM `$sql_sublevel_eins`");
$count_sublevel_eins_tmp = mysql_fetch_row($result);
$count_sublevel_eins = $count_sublevel_eins_tmp[0];

for($b = 1; $b <= $count_sublevel_eins; $b++)
{

$result = mysql_query("SELECT hauptlevel FROM `$sql_sublevel_eins` WHERE id='$b'");
$hauptlevel_tmp = mysql_fetch_row($result);
$hauptlevel = $hauptlevel_tmp[0];


if($hauptlevel == $a)
{
$result = mysql_query("SELECT name FROM `$sql_sublevel_eins` WHERE id='$b'");
$name_tmp = mysql_fetch_row($result);
$this->name = $name_tmp[0];

echo "<a href='index.php?inc=$a&subinc=$b'>$this->name</a><br>";
}

}

}


}

mysql_close($mysql_connect);
}

//Name Ausgeben
public function parse_name($inc,$subinc)
{
$sql_hauptlevel = $this->sql_hauptlevel;
$sql_sublevel_eins = $this->sql_sublevel_eins;

$mysql_connect = verbindung(); //Verbindung aufbauen
if($inc != ""){
$result = mysql_query("SELECT name FROM `$sql_hauptlevel` WHERE id='$inc'");
$name_tmp = mysql_fetch_row($result);
$this->name = $name_tmp[0];
echo "$this->name <br>";

if($subinc != ""){
$result = mysql_query("SELECT name FROM `$sql_sublevel_eins` WHERE id='$subinc'");
$name_tmp = mysql_fetch_row($result);
$this->name = $name_tmp[0];
echo "$this->name <br>";
mysql_close($mysql_connect);
}

}
}


}
// Nav Class End

// Beginn Ausgabe

echo "<table width='100%'><tr><td>";
// Navigation
$nav = new navigation();

$nav->build_nav();

echo "</td><td>";
// Inhalt

if(isset($_GET['inc'])){$inc = $_GET['inc'];}else{$inc = "";}
if(isset($_GET['subinc'])){$subinc = $_GET['subinc'];}else{$subinc = "";}

$nav->parse_name($inc,$subinc);

echo "</td></tr></table>";


?>


Der Code ist um die Verbindungsaten und Tabellennamen reduziert aber ansonsten vollständig

Bei heutigen Breitbandverbindungen merkst du nicht das die Seite neu geladen wird und außerdem wolltest du eine Lösung in PHP sehen und du musst zugeben es ist eine Lösung, wenn auch nicht die Performanteste ;)
 
Zuletzt bearbeitet:
Zurück