Mailinglisten-Archive |
Hallo, folgendes habe ich vor: Ich möchte das Menü als Treemenü in einer SQL-Datenbank abspeichern. (Erledigt) Dieses Menü sollte verschachtelt ausgegeben werden (Erledigt) Ein Ein- und Ausklappen der Zweige soll möglich sein (In Arbeit) Es sollen durch Sessions eine individuelle Einblendung möglich sein (In Arbeit) Die mySQL-Datenbank enthält ein Link mit Parametern in der Art "html dateiname" oder "suche stichwort1 stichwort2",... Hierdurch wäre es nur durch Änderung der Parameter in der DB die Funktion für Ihre Aufgabenstellung anzupassen, ohne eine Zeile neuen Code. Zum Problem : Bei onclick oder onmouseover (Javascript) rufe ich eine Javascriptfunktion mit Linkparameter auf. Diese soll dann wiederum PHP/mysql aufrufen.Das funktioniert wegen Client (Javascript) und PHP (Serverseitig) allerdings nicht. Habe ich diesen Teil vielleicht zu kompiziert gedacht. Hat jemand eine Idee wie man das lösen kann ? Gerne gebe ich den fertigen Code weiter. Ich denke es könnte einigen viel Arbeit sparen. Andererseits wäre ich auch für Hilfe dankbar. Damit jemand noch durchblickt die Adresse und zugehörigen Code (ohne CSS). Ausschnitt aus www.futurefarm.de/test/indexie.php3: <p style="line-height:11pt;"> <? require "tree.php3"; ?> Tree.php3 (komplett): <script language="JavaScript">"; function einbinden(lk)" { document.write("<p style=\"position:absolute;left:189px;top:188px\" id=\"prod\" >"); $llist = explode (" ", $lk); switch ($llist[0]){ case 'suche': // Suche in Stichwort im Feld Artikel mit Param. Stichwort1 Stichwort2... und liste diese auf break; case 'suchefeld': // Wie suche in Feld llist[1] Suchbegriff1 llist[2]... break; case 'html':// Gebe HTML/PHP aus , falls llist[1]== * Datei dann llist[2] Datei die ausgegeben werden soll break; case 'artikel':// Suche Artikel break; case 'list':// Alle Artikel als sortierten Thead; break; case 'sql':// SQL-befehlszeile; break; case 'top':// Topartikel; * alle ,sonst nach Stichwort oder rating break; case 'tip':// Tipps * alle, sonst nach Stichwort break; case 'weitere':// erweiterbar; break; } } </script> <? $z=0; function zweigeinblenden($idx) { global $z; $abstand=16;//Zeilenabstand $voben=22;// Abstand von oben $eruck=12;//Einrückung für jede Ebene $epos=3;//Erste Pos. if ($idx==NULL) $rs= mysql_query("SELECT * FROM menu where ebene = '1' ORDER BY id;"); else $rs= mysql_query("SELECT * FROM menu where vater='$idx' order by id;"); while ($art= mysql_fetch_object($rs)) { ?> <p style="position:absolute;left: <?echo ($art->ebene-1)*$eruck+$epos; ?> px;top: <? echo $z*$abstand+$voben; ?>px;"> <? $z=$z+1; $logo="ordner.gif"; if ($art->logo==0) { $logo=$art->logo; }; $logo="ordner.gif"; ?> <img src=<?echo $logo?>> /* test */ <a href="javascript:einbinden('<?echo $art->link?>)'"> <?echo $art->bezeichnung?></a> <? echo "</p>"; zweigeinblenden($art->ID); } } $connect=mysql_pconnect("localhost","futurefarm","xxxxx"); $link=mysql_select_db("futurefarm",$connect); echo mysql_error(); if (!$link) { echo "Keine Verbindung möglich!\n"; exit; } zweigeinblenden(NULL); mysql_close(); ?> Was noch fehlt ist ein Warenkorb(Bzw. Markerkorb)... Für Euer Interesse dankt Burkhard Stollenwerk futurefarm_(at)_futurefarm.de
php::bar PHP Wiki - Listenarchive