Dobermaniac
Mitglied
folgendes problem....
ick möchte die standorte unserer mitglieder auf einer deutschlandkarte darstellen, die standorte dazu sollen aus einer datenbank kommen und liegen in form von einfachen zahlen vor z.b. 1 oder 4 oder 789.
um auf dhtml zu verzichten, nehme ick für die positionierung eine tabelle mit dem kartenbild als hintergrund. die tabelle ist in paar hundert zellen aufgeteilt. jede zelle stellet einen festen ort(koordinatenpunkt) dar.
die tabelle erstelle ich mit hilfe einer schleife, in jeder zelle wird $zelle++; gesetzt. insgesamt hat die tabelle ca 1000 zellen. wenn $zelle also 5 ist, befinden wir uns im oberen teil der karte sprich: im norden, ist $zelle =900 ist die tabelle schon fast am ende angelangt und wir befinden uns im süden.
jetzt kommt mein denkproblem.
im moment frage ich in jeder zelle die memberdatenbank ab checke ob dort ein member exestiert, bei dem die koordinate==$zelle ist. wenn ja, kommt nen grüner punkt, wenn nein, kommt nen transparentes gif....
das ganze funktioniert perfekt, nur isses ziemlich bescheuert, 1000 mal die tabelle abzufragen, was sich auch im ätzend langsamen seitenaufbau auswirkt. sinnvoller wäre es ja, anfangs alle koordinaten aus der membertabelle abzufragen und in ein array zu packen. und dann irgendwie zu checken, ob in dieser zelle nen memberbild hinmuss...
nur hab ick keine idee wie ick das array in jeder zelle abfrage. kann ich in if abfragen auch arrayinhalte checken und mit $zelle vergleichen ??? wenn ja, kann mir einer sagen wie ? mit genauen codebeispiel...
ps hab code zur vereinfachung gekürzt, kann gut sein, dass er fehlerhaft ist und keinem ordentlichen format enspricht...befinde mich noch im lernstadium
danke im vorraus, hier der code + link
beispielseite(noch baustelle)
ick möchte die standorte unserer mitglieder auf einer deutschlandkarte darstellen, die standorte dazu sollen aus einer datenbank kommen und liegen in form von einfachen zahlen vor z.b. 1 oder 4 oder 789.
um auf dhtml zu verzichten, nehme ick für die positionierung eine tabelle mit dem kartenbild als hintergrund. die tabelle ist in paar hundert zellen aufgeteilt. jede zelle stellet einen festen ort(koordinatenpunkt) dar.
die tabelle erstelle ich mit hilfe einer schleife, in jeder zelle wird $zelle++; gesetzt. insgesamt hat die tabelle ca 1000 zellen. wenn $zelle also 5 ist, befinden wir uns im oberen teil der karte sprich: im norden, ist $zelle =900 ist die tabelle schon fast am ende angelangt und wir befinden uns im süden.
jetzt kommt mein denkproblem.
im moment frage ich in jeder zelle die memberdatenbank ab checke ob dort ein member exestiert, bei dem die koordinate==$zelle ist. wenn ja, kommt nen grüner punkt, wenn nein, kommt nen transparentes gif....
das ganze funktioniert perfekt, nur isses ziemlich bescheuert, 1000 mal die tabelle abzufragen, was sich auch im ätzend langsamen seitenaufbau auswirkt. sinnvoller wäre es ja, anfangs alle koordinaten aus der membertabelle abzufragen und in ein array zu packen. und dann irgendwie zu checken, ob in dieser zelle nen memberbild hinmuss...
nur hab ick keine idee wie ick das array in jeder zelle abfrage. kann ich in if abfragen auch arrayinhalte checken und mit $zelle vergleichen ??? wenn ja, kann mir einer sagen wie ? mit genauen codebeispiel...
ps hab code zur vereinfachung gekürzt, kann gut sein, dass er fehlerhaft ist und keinem ordentlichen format enspricht...befinde mich noch im lernstadium
danke im vorraus, hier der code + link
beispielseite(noch baustelle)
PHP:
<table background="deutsch_karte.gif">
<tr>
<?
$zelle = 1;
// schleife um die max. spalten und zeilen festzulegen
for ($i = 0; $i < 45; $i++) {
for ($sp = 1; $sp <= 36; $sp++) {
// schleife um die max. spalten und zeilen festzulegen
if ($sp < 36) {
$memberresult=mysql_query("select * from user_table where koord = '$zelle'");
$memberzugriffe = mysql_num_rows($memberresult);
$memberdata = mysql_fetch_array($memberresult);
?>
<td width="3" height="3">
<? if ($memberzugriffe == 1) { ?>
<img border="0" src="full.gif">
<? } else { ?>
img border="0" src="free.gif"></a>
<? } ?>
</td>
<?
$zelle++;
} else {
echo "</tr><tr>";
}
}
}
?>
</tr>
</table>
Zuletzt bearbeitet: