phpbar.de logo

Mailinglisten-Archive

[php] Datenbankhuelse

[php] Datenbankhuelse

Burkhard Stollenwerk futurefarm_(at)_futurefarm.de
Tue, 28 Nov 2000 16:10:18 +0100


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