|
|
 |

|

 |

| Community » Rund um das Thema Datenbank |
|
klick-table-image
|
Seitenanfang |
| Hallo Leute! Ich habe eine Frage: Kann man bei einem Bild, wenn ich einen Hotspot setze, Daten von einer Datenbank abrufen. z.B. Wienkarte mit Bezirken und wenn ich auf einen Bezirk klicke (z.B. 21. Bezirk), die ganzen Einträge vom 21. Bezirk aus der Datenbank abruft. Wenn Ja, wie muß ich das am besten einbinden. Danke in voraus, kathi. Bitte helft mir.
Datum: 22.09.2005-08:55

|
re: klick-table-image
|
Seitenanfang |
| Hi, kommt natürlich auch so ein bischen auf die Sprache an, die Du verwendest. Ich nehme mal PHP an. Dann musste Du Dir ein PHP Script bauen, das Du über den Hotspot Link aufrufst, jeweils mit dem Bezirk als Parameter. Etwa so:
<map name="Karte"> <area shape="rect" coords="11,10,59,29" href="zeige_bezirk.php?bezirk=1" alt="Bezirk 1"> <area shape="rect" coords="42,36,96,57" href="zeige_bezirk.php?bezirk=2" alt="Bezirk 2"> </map> <img src="karte.gif" width="345" height="312" alt="Karte" usemap="#Karte"></p>
In zeige_bezirk.php machst Du dann in etwa Folgendes:
$sql_string = "SELECT * FROM tabelle WHERE bezirk=" . $_GET['bezirk'];
und schickst das dann ab.Hoffe, es hilft, svenXY
Datum: 22.09.2005-10:36

|
re: klick-table-image
|
Seitenanfang |
Hi Sven! Bei mir ist die Abfrage und das Ergebniss in einer PHP-Datei (karte.php).Bis jetzt habe ich folgendes: ABFRAGE: <form name="abfrage" action="karte.php" method="GET"> <div align="center"><img src="wienkarte.gif" width="324" height="255" border="0" usemap="#karte"> <map name="karte"> <area shape="poly" coords="139,50,174,106,231,62,204,39,202,47" href="karte.php?plz=1210" alt="21. Bezirk"> <area shape="poly" coords="240,41,239,63,234,65,176,108,39" href="karte.php?plz=1220" alt="22. Bezirk"> </map> </div> </form> AUSGABE: if ($_GET['PLZ']) { $sql = "SELECT * FROM wienprivat WHERE ($apt_plz)=" . $_GET['plz']; } $result = mysql_query($sql); if ($result) { $anzahl=mysql_numrows($result); echo " <tr> <td bgcolor=#FFFFFF width=100% align=center class=rot colspan=4><br><h5> $anzahl Appartements gefunden. $anzahl Apartments found.</h5></td></tr> "; while ($row = mysql_fetch_array ($result)){ $sql_kategorie=htmlentities($row['kategorie']); $apt_0raum=htmlentities($row['0raum']); $apt_1raum=htmlentities($row['1raum']); $apt_2raum=htmlentities($row['2raum']); $apt_3raum=htmlentities($row['3raum']); $apt_4raum=htmlentities($row['4raum']); $apt_img=htmlentities($row['apt_img']); $kategorie_img=htmlentities($row['kategorie_img']); $apt=htmlentities($row['apt']); $apt_name=htmlentities($row['apt_name']); $apt_plz=htmlentities($row['plz']); $apt_ort=htmlentities($row['apt_ort']); $apt_adr=htmlentities($row['apt_adr']); $apt_tele=htmlentities($row['apt_tele']); $apt_fax=htmlentities($row['apt_fax']); $email=htmlentities($row['email']); $apt_email=htmlentities($row['apt_email']); $apt_hp=htmlentities($row['apt_hp']); echo " <td width=120><a href=\"$apt_hp\" target=\"blank\"> <img src=\"$apt_img\" alt=\"$apt $apt_name $apt_ort\" border=0 height=100 width=120></a></td> <td width=234 align=center valign=middle class=norm> <img src=\"$kategorie_img\" align=\"absmiddle\"><br> <span class=\"rot\"><b>$apt $apt_name</b></span><br> $apt_plz $apt_ort<br> $apt_adr<br> <b>Typ: "; ?> <? if ($apt_0raum > 0) echo "1, "; if ($apt_1raum > 0) echo "2, "; if ($apt_2raum > 0) echo "3, "; if ($apt_3raum > 0) echo "4, "; if ($apt_4raum > 0) echo "5, "; ?> <? echo " </b></td> <td width=186 align=left valign=middle> <p class=\"norm\"><img src=\"icon-tel.gif\" align=\"absmiddle\" alt=\"TELEFON - Apartments + Ferienwohnungen in Wien\"> $apt_tele<br> <img src=\"icon-fax.gif\" align=\"absmiddle\" alt=\"FAX - Apartments + Ferienwohnungen in Wien\"> $apt_fax</p> </td> <td width=120 align=left valign=middle> <p class=\"norm\"> "; ?> <? if ($email == 0) { echo "<img src=\"icon-email.gif\" align=\"absmiddle\" border=\"0\"> <font color=\"#999999\"><b>no email</b></font> "; } else { echo " <a href=\"mailto:$apt_email?subject=$apt $apt_name / Anfrage über www.netland.at/wien\"> <img src=\"icon-email.gif\" align=\"absmiddle\" border=\"0\"></a> <a href=\"mailto:$apt_email?subject=$apt $apt_name / Anfrage über www.netland.at/wien\">Email</a> "; } ?> <? echo "<br> <a href=\"$apt_hp\" target=\"_blank\"> <img src=\"icon-home.gif\" align=\"absmiddle\" border=\"0\"></a> <a href=\"$apt_hp\" target=\"_blank\">Homepage</a></p> </td> </tr> "; } } if ( mysql_query($sql) == 0) echo " <tr> <td bgcolor=#FFFFFF width=100% align=center class=rot colspan=4><br><h5>Ihre Suche ergab kein Ergebniss! <h5></td></tr>";
Datum: 22.09.2005-12:06

|
re: klick-table-image
|
Seitenanfang |
| Hi, sieht ja schon ganz gut aus. Diese Zeile scheint mir nicht ganz korrekt:
if ($_GET['PLZ']) { $sql = "SELECT * FROM wienprivat WHERE ($apt_plz)=" . $_GET['plz']; }
zuerstmal muss es in dem if-statement auch $_GET['plz'] (kleingeschrieben!) heissen.Dann die SQL Abfrage: Kann es sein, dass Du eine Spalte namens apt_plz hast? Dann muss die Abfrage heissen: "SELECT * FROM wienprivat WHERE apt_plz=" . $_GET['plz'] Oder ist $apt_plz tatsächlich eine PHP Variable? Dann müsstest Du immer noch die Klammern entfernen. Was ergibt sich denn überhaupt, wenn Du das Skript aufrufst? Bekommst Du Fehlermeldungen? Gruss, svenXY
Datum: 22.09.2005-12:15

|
re: klick-table-image
|
Seitenanfang |
| Hallo! Der Link: http://www.netland.at/wien/karte.php Ich habe eine Spalte " apt_plz " in der Datenbank. Bei der ABFRAGE habe ich aber noch stehen: >> $apt_plz=htmlentities($row['plz']); darum habe ich $apt_plz geschrieben. Aber es funktioniert noch immer nichts. Keine Fehlermeldung, nichts! lg kathi
Datum: 22.09.2005-12:30

|
re: klick-table-image
|
Seitenanfang |
| Hallo! Sorry die Spalte heisst " plz "
Datum: 22.09.2005-12:35

|
re: klick-table-image
|
Seitenanfang |
Hallo Sven!Danke, danke für die hilfe. Ich dummerchen, jetzt funktionierts. Ich habe die Spalte apt_plz und nicht mit plz angesprochen. ;-) recht herzlichen Dank nochmals. lg kathi
Datum: 22.09.2005-12:38

|
re: klick-table-image
|
Seitenanfang |
| schön! Gruss svenXY
Datum: 22.09.2005-12:40

|
|

|

|

|
 |

|

|
|