ERLEDIGT
NEIN
NEIN
ANTWORTEN
7
7
ZUGRIFFE
666
666
EMPFEHLEN
-
04.02.04 13:08 #1
- Registriert seit
- Aug 2002
- Beiträge
- 419
Moinsen,
ich hab ne Datenbank, aus der sollen die Menüpunkte ausgelesen werden, die Anzeige wäre in etwa so:
Das Team | Der Standort
Nun gibt es zu diesen Menüpunkten unterpunkte. Diese sollen mittels Mausklick oder Mouseover ausgefahren werden.
Das Problem dabei ist, das die Ganze Sache dynamisch ist ( also das man mittels ACP Menüpunkte hinzufügen kann etc.))
Wie könnte dies gehen?
-
1) JavaScript ist NICHT Java. Ich habe diesbezüglich den Threadtitel geändert.
2) Überlege dir wie der Code aussehen würde, wenn du das Menü statisch programmieren würdest. Es wird in dem Code wohl eine gewisse Wiederholungsstruktur zu finden sein, für die einzelnen Menüpunkte.
Diese generierst du dann über entsprechende Schleifen-Konstruktionen.
-
04.02.04 13:21 #3
- Registriert seit
- Aug 2002
- Beiträge
- 419
Stimmt, Java != Java Script :ugly:
Das ist ja das Problem mit der Wiederholungsstruktur.
Manchmal gibt es 6 Menüpunkte, manchmal auch nur 4.
Manchmal gibt es keine Menüunterpunkte und manchmal halt 6 etc.
Ausserdem bin ich nen ziemlicher in Sachen Java Script.
-
04.02.04 15:21 #4
- Registriert seit
- Aug 2002
- Beiträge
- 419
Ich habe mir jetzt das DHTML Menü Tutorial zugrunde gelegt und wollte dies umschreiben, leider klappt es auch nicht, müsste aber doch eigentlich, oder?PHP-Code:<?php
require "inhalt.php";
$cat = $_GET["cat"];
?>
<html>
<head>
<script type="text/javascript">
<!--
function show(divid) {
document.getElementById("cat1").style.display="none";
document.getElementById("cat2").style.display="none";
document.getElementById("cat3").style.display="none";
document.getElementById("cat4").style.display="none";
document.getElementById("cat5").style.display="none";
document.getElementById("cat6").style.display="none";
document.getElementById(divid).style.display="inline";
}
//-->
</script>
</head>
<body>
<?php
$sql = "select id, name, parent_ID as Kategorie from menue where parent_id = ".$cat ."";
$result = mysql_query($sql);
echo "<table border='0' align='right' cellspacing='0'cellpadding='0'><tr><td>";
while($data = mysql_fetch_assoc($result))
{
echo "<td class='menue_top'><tr><a class='menue' href='#' onclick=/'show('cat". $data["bid"]."')/'> ".$data["name"]."</a></tr></td> ";
$beitrag = "select bid,name, text from beitraege where menue_id = ". $data["id"] ."";
$ergebniss = mysql_query($beitrag);
for($i=0; mysql_num_row > $i; $i++)
{
$data2 = mysql_fetch_assoc($ergebniss);
echo "<tr><td><div id='cat $i'><a class='menue' href='index.php?cat=". $data2["bid"]."'> ".$data2["name"]."</a></div></tr>";
}
}
echo "</td></tr></table>";
?>
</body>
</html>
So habe es mal editiert, wie mache ich " in PHP, ist mir leider entfallen
, denn ich glaube daran hapert es in der Tabelle.
Aber warum klappt er nicht mal auf?Geändert von Muffinmampfer (04.02.04 um 16:07 Uhr)
-
04.02.04 16:50 #5Diese Zeile ist sowieso eher unschön... und außerdem escaped man mit \ und nicht mit / ...PHP-Code:
echo "<td class='menue_top'><tr><a class='menue' href='#' onclick=/'show('cat". $data["bid"]."')/'> ".$data["name"]."</a></tr></td> ";

ergo:
PHP-Code:echo "<td class=\"menue_top\"><tr><a class=\"menue\" href='#' onclick=\"show('cat". $data["bid"]."')\"> ".$data["name"]."</a></tr></td>";
<Florian> Ihr seit alles so Real Life Ruler, oder?
<SirRobin> Lineale?
-
04.02.04 17:23 #6
- Registriert seit
- Aug 2002
- Beiträge
- 419
So ok, hab es mal geändert.
Geht leider immer noch nicht.
Also eigentlich müsste es gehenPHP-Code:<?php
require "inhalt.php";
$cat = $_GET["cat"];
?>
<html>
<head>
<script type="text/javascript">
<!--
function show(divid) {
document.getElementById("cat1").style.display="none";
document.getElementById("cat2").style.display="none";
document.getElementById("cat3").style.display="none";
document.getElementById("cat4").style.display="none";
document.getElementById("cat5").style.display="none";
document.getElementById("cat6").style.display="none";
document.getElementById(divid).style.display="inline";
}
//-->
</script>
</head>
<body>
<?php
$sql = "select id, name, parent_ID as Kategorie from menue where parent_id = ".$cat ." order by name desc";
$result = mysql_query($sql);
while($data = mysql_fetch_assoc($result))
{
echo "<table border='0' align='right' cellspacing='0' cellpadding='0'><tr><td class='menue_top'><a class='menue' href='#' onclick=\"show('cat". $data["id"]."')\">".$data["name"]."</a>";
$beitrag = "select bid,name, text from beitraege where menue_id = ". $data["id"] ."";
$ergebniss = mysql_query($beitrag);
$num = mysql_num_rows($ergebniss);
while($data2 = mysql_fetch_assoc($ergebniss))
{
echo "<div id=\"cat". $data["id"] ."\" style=\"display:none\"><a class='menue' href='index.php?bid=". $data2["bid"]."'> ".$data2["bid"]."</a></div>";
}
echo "</td></tr></table>";
}
?>
</body>
</html>
.
-
05.02.04 10:30 #7
- Registriert seit
- Aug 2002
- Beiträge
- 419
So ich habs nochmal überarbeitet, nun müsste eigentlich stimme,
er schliesst die Tabellenzelle auch schon, aber sobald man loslässt geht sie wieder auf
So hier die Fehlermeldung aus Firebird:PHP-Code:<?php
require "inhalt.php";
$cat = $_GET["cat"];
?>
<html>
<head>
<script type="text/javascript">
<!--
function show(divid) {
document.getElementById("cat1").style.display="none";
document.getElementById("cat2").style.display="none";
document.getElementById("cat3").style.display="none";
document.getElementById("cat4").style.display="none";
document.getElementById("cat5").style.display="none";
document.getElementById("cat6").style.display="none";
document.getElementById(divid).style.display="inline";
}
//-->
</script>
</head>
<body>
<?php
$sql = "select id, name, parent_ID as Kategorie from menue where parent_id = ".$cat ." order by name desc";
$result = mysql_query($sql);
while($data = mysql_fetch_assoc($result))
{
echo "<table border='0' align='right' cellspacing='0' cellpadding='0'><tr><td class='menue_top'><a class='menue' href='index.php?menue=". $data["id"]."&cat=". $data["Kategorie"] ."' onclick=\"show('cat1')\">".$data["name"]."</a><br>";
$beitrag = "select bid,name, text from beitraege where menue_id = ". $data["id"] ."";
$ergebniss = mysql_query($beitrag);
$num = mysql_num_rows($ergebniss);
echo "<div id=\"1\" style=\"display:none\">";
while($data2 = mysql_fetch_assoc($ergebniss))
{
echo "<a class='menue' href='index.php?bid=". $data2["bid"]."&cat=". $data["Kategorie"] ."'> ".$data2["name"]."</a><br>";
}
echo "</div>";
echo "</td></tr></table>";
}
?>
</body>
</html>
Fehler: document.getElementById("cat1") has no properties
Quelldatei: http://localhost/firma2/index.php?cat=2&status=aktiv
Zeile: 36
Und ne Info:
Deprecated method document.getSelection() called. Please use window.getSelection() instead.Geändert von Muffinmampfer (05.02.04 um 10:33 Uhr)
-
06.02.04 14:39 #8
- Registriert seit
- Aug 2002
- Beiträge
- 419
Wenn es hier keiner weiß, wo gibt es Leute die wissen wie mein Problem zu lösen geht?
Ähnliche Themen
-
Javascript Menü was den FF liebt aber den IE nicht will
Von bensky im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 05.11.07, 16:16 -
Javascript pulldown Menü funktioniert nicht im IE aber mit Firefox
Von philipphammer im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 17.06.07, 22:58 -
Javascript / CSS-Menü klappt auf aber nicht mehr zu
Von Medienoperator im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 08.02.07, 15:51 -
JavaScript Menü - aber wie?
Von bigfella im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 19.09.06, 13:05 -
Menü mit Javascript
Von goodfella im Forum Javascript & AjaxAntworten: 3Letzter Beitrag: 24.01.05, 19:57





Zitieren
Login





