Einstein46: MySQL/PHP Lightbox imageMap

Servus Leute,

ich habe mal eine Frage. Ich habe eine MySQL Datenbank, Apache Server und Php laufen.
Mein Ziel:
Ich will eine Grafik, wo ich an sensitiven Stellen mit der Maus klicken kann und sich eine Lightbox öffnet, in der dann Inhalt aus der Datenbank angezeigt wird.
Das Problem, es handelt sich um ca. 500 sensitive Stellen, die über eine ImageMap definiert werden sollen.
Wie mache ich das denn am schönsten? Also zoombar wird die Grafik vorerst nicht sein, da wir keine Grafik mit einer größeren Detailgenauigkeit bekommen. Das bedeutet auch, dass am besten (aber muss nicht, wenn ihr ne bessere Idee habt) zu Beginn nichts sensitiv ist und durch die Suche bestimmte Felder sichtbar und gleichzeitig anklickbar würden.
Ich werde ja (nehm ich mal an) nicht darum herum kommen die 500 Areas einzeln zu definieren, aber muss ich auch für jede einzelne Lightbox ne *.php definieren? Oder kann ich das irgendwie dynamisch lösen?
Leider bin ich noch nicht wirklich PHP und MySQL fit, aber ich lerne...
Cool wäre zusätzlich, wenn nur die nichtleeren Zellen ausgegeben werden könnten, das wird aber vermutlich noch das leichteste Problem sein.
Ich hoffe, ich habe mich einigermaßen verständlich ausgedrückt, beantworte aber gerne alle aufkommenden Fragen.

  1. Hi,

    Ich werde ja (nehm ich mal an) nicht darum herum kommen die 500 Areas einzeln zu definieren, aber muss ich auch für jede einzelne Lightbox ne *.php definieren? Oder kann ich das irgendwie dynamisch lösen?

    Natürlich - die Areas werden ja wohl ein Linkziel haben, unter welchem der Inhalt abrufbar ist, wenn JS nicht zur Verfügung steht.
    Und mit Zugriff auf diesen Link kann sich auf die Lightbox die Infos besorgen, die sie braucht.

    MfG ChrisB

    --
    Light travels faster than sound - that's why most people appear bright until you hear them speak.
    1. Die Areas haben alle ein Linkziel, aber wenn das möglich ist hätte ich gerne bei allen das gleiche, welches sich je nach Area unterscheidet. Irgendwie so, dass man jeder Area eine ID zuweist, die als eindeutiger Bezeichner in der Datenbank zu finden ist und dadurch der Inhalt der Lightbox generiert wird.
      Ich weiß schon, wie ich in der Lightbox mit PHP und SQL Infos aus der Datenbank ziehe, aber nicht mit ner Variable. Ich kann bisher nur sowas sagen wie SELECT * FROM table WHERE spaltenname = 1 oder so. Wenn ich jetzt aber z.B. meiner Area ne ID geben könnte und dann anstelle der 1 in der SQL Abfrage meine Variable von der Area (ID) dann müsste ich nicht 500 verschiedene Lightbox-Link-Seiten machen.
      Ich vermute, dass das gar nicht so schwer ist, aber ich weiß halt leider nicht wie.

      Danke
      Caro

      1. Hi,

        Die Areas haben alle ein Linkziel, aber wenn das möglich ist hätte ich gerne bei allen das gleiche, welches sich je nach Area unterscheidet.

        "Das gleiche, aber ein anderes"?

        Überleg dir bitte mal, *was* du willst.

        Irgendwie so, dass man jeder Area eine ID zuweist, die als eindeutiger Bezeichner in der Datenbank zu finden ist und dadurch der Inhalt der Lightbox generiert wird.

        Nein, irgendwie so, dass man jeder AREA Linkfunktionalität zuweist, die auf ein Script verweist, welches die ID als Parameter übergeben bekommt, und damit die anzuzeigenden Daten aus der DB holen kann.

        Die Lightbox kann dann die gleiche Adresse aufrufen, ggf. noch um einen zusätzlichen Parameter erweitert, der dem Script sagt, dass es seine Ergebnisse in diesem Fall nicht als eigenständiges HTML-Dokument zurückliefern soll, sondern nur den Teil, den die Lightbox zum anzeigen braucht (das kann ja ggf. auch nur ein HTML-Schnippsel sein).

        Ich weiß schon, wie ich in der Lightbox mit PHP und SQL Infos aus der Datenbank ziehe, aber nicht mit ner Variable. Ich kann bisher nur sowas sagen wie SELECT * FROM table WHERE spaltenname = 1 oder so. Wenn ich jetzt aber z.B. meiner Area ne ID geben könnte und dann anstelle der 1 in der SQL Abfrage meine Variable von der Area (ID) dann müsste ich nicht 500 verschiedene Lightbox-Link-Seiten machen.
        Ich vermute, dass das gar nicht so schwer ist, aber ich weiß halt leider nicht wie.

        Dann schnapp dir ein Einsteiger-Tutorial bzgl. PHP und MySQL, da findest du solche Basics erklärt.
        (Bspw. http://tut.php-quake.net/de/ oder http://php-einfach.de/.)

        MfG ChrisB

        --
        Light travels faster than sound - that's why most people appear bright until you hear them speak.
        1. Ok, ich erkläre vielleicht besser was ich nicht will (denn da ich nicht weiß, wie ich es umsetzen kann kommt das anscheinend missverständlich rüber)
          Ich will nicht für jede Lightbox eine eigene *.php Seite schreiben, sondern diese eine Seite (das Linkziel) soll variabel sein.
          Jetzt verständlich?

          jeder AREA Linkfunktionalität zuweist, die auf ein Script verweist, welches die ID als Parameter übergeben bekommt, und damit die anzuzeigenden Daten aus der DB holen kann.

          Genau das will ich machen und genau das ist mein Problem. Wie mache ich das?

          LG
          Caro

          1. Hi,

            Ich will nicht für jede Lightbox eine eigene *.php Seite schreiben, sondern diese eine Seite (das Linkziel) soll variabel sein.
            Jetzt verständlich?

            Das war doch schon von Anfang an klar.

            jeder AREA Linkfunktionalität zuweist, die auf ein Script verweist, welches die ID als Parameter übergeben bekommt, und damit die anzuzeigenden Daten aus der DB holen kann.

            Genau das will ich machen und genau das ist mein Problem. Wie mache ich das?

            Wie machst du *was*?

            Du musst doch schon eine Idee haben, von wo der Wert wie nach wo übergeben werden soll.

            Wenn dir dabei einer der einzelnen Schritte von der Umsetzung her nicht klar ist, dann frag' bitte konkret.

            Wenn dir noch gar nichts klar sein sollte - dann informiere dich zunächst, welche Methoden es gibt, Wert per HTTP an den Server zu übergeben. Deine Hauptstichworte lauten GET und POST.)

            MfG ChrisB

            --
            Light travels faster than sound - that's why most people appear bright until you hear them speak.
          2. 'ǝɯɐu$ ıɥ

            Ok, ich erkläre vielleicht besser was ich nicht will (denn da ich nicht weiß, wie ich es umsetzen kann kommt das anscheinend missverständlich rüber)
            Ich will nicht für jede Lightbox eine eigene *.php Seite schreiben, sondern diese eine Seite (das Linkziel) soll variabel sein.
            Jetzt verständlich?

            ich glaube dein eigentliches problem ist das du von PHP wenig/keine ahnung hast, sonst würdest du nicht schon an diesem punkt probleme bekommen.

            Genau das will ich machen und genau das ist mein Problem. Wie mache ich das?

            so, ein hinweis zur vorgehensweise an einem sehr vereinfachtem beispiel (läßt sich sicherlich ganz einfach für dich umändern), nur um das prinzip zu verdeutlichen:

            gegeben ist eine seite (main.php) mit 6 thumbnails die nach anklicken in einem neuen fenster geöffnet (bilder.php) werden sollen.

            main.php:

            <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  
                "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
            <html xmlns="http://www.w3.org/1999/xhtml">  
              <head>  
            <title>  
            </title>  
            </head>  
            <body>
            
            <?php  
            define ("PIC_ZAHL", "6");                    // anzahl der Thumbnails, der wert kann auch aus einer datenbank kommen  
            for ($i = 1; $i<=PIC_ZAHL; $i++) {   //die anzahl der bilder bestimmt wie oft die schleife durchlaufen wird  
            }  
            echo '<a href="bilder.php?bild='.$i.'" ><img src="bild'.$value.'.jpg" title="" alt="" /></a> '; //hier werden die links generiert, würde auch mit einer map/lightbox konstellation klappen.  
            }  
            ?> 
            
            </body>  
            </html>
            

            bilder.php:

            <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  
                "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
            <html xmlns="http://www.w3.org/1999/xhtml">  
              <head>  
            <title>  
            </title>  
            </head>  
            <body>
            
            <?php  
            /*in dieser datei geschieht die ausgabe, je nach dem welcher wert in $_POST['bild'] steht (das ist jetzt abgewandelt um eher auf deinen verwendungszweck zu passen, im original ist es ein einzeiler):  
              
            PSEUDECODE:  
              
            WENN $_POST['bild'] GLEICH 1 DANN  
            		zeige bild 1 an  
            WENN $_POST['bild'] GLEICH 2 DANN  
            		zeige bild 2 an  
            ....  
              
            dafür böte sich eine abfrage oder ein switch an....  
            */  
            ?> 
            
            </body>  
            </html>
            

            HTH

            ssnɹƃ
            ʍopɐɥs

            --
            Gerne der Zeiten gedenk' ich, da alle Glieder gelenkig - bis auf eins.
            Doch die Zeiten sind vorüber, steif geworden alle Glieder - bis auf eins.
            Johann Wolfgang von Goethe