Abend.
Ich bin leider mit Arrays noch so garnicht warm geworden oder es fehlt mir schlicht tiefergreifendes Wissen.
Also Ich will die Usernamen aus der DB in ein Array lesen und sie dann in einer Schleife ausgeben lassen.
Die Schleife erzeugt eine Html Table map für eine Karte mit Koordinaten.
Soweit funktioniert alles nur komm ich einfach nicht drauf wie ich das Array dort einbinden könnte.. Ich nehme an es müste ein assoziatives Array sein?
Hier mal der Codeaussnitt:
Irgendwie find ich das auch etwas unpraktisch und unflexibel so kann man zb nur die nächste Seite "erkunden" aufrufen aber nicht das Profil. Ich frage mich ob Javascript dafür nicht doch besser geeignet wäre? Auch scheint es mir das die GD-LIB schneller mal eben 10 Bilder kopieren kann als das PHP den Code zur Tabelle hier geparst hat. (Ist natürlich nur subjektives empfinden)
Grüsse Joe.
Nachtrag:
Hmm vieleicht habe ich mich ungenügend ausgedrückt.
Dieser Zeile aus der obrigen For-Schleife soll dann den passenden Usernamen zeigen.
Wie müsste ich das Array mit den Datenbankwerten füllen und wie würde man es in der Schleife auslesen?
Ich rätsel und googel schon beinahe 3 Tage aber komme einfach nicht hinterher wie das array zu realisieren ist. Bin dankbar für jeden Denkanstoss.
Ist es nicht irgendwie möglich aus einem Array wie zb:
den Username anhand der PosX AND PosY auszulesen?
Also Ich meine das so:
Bin nicht der Typ der im coden etwas gern aufgibt ich kann mir nicht denken das Arrays sowas nicht leisten können. Nur seh ich da einfach nur kein Ansatz wie das zu bewerkstelligen wäre. Irgendwie beschleicht mich das Gefühl das dies kein gewöhnliches Array ist wie mans sonst in Tutorials so lernen könnte.
Grüse Joe.
Ich bin leider mit Arrays noch so garnicht warm geworden oder es fehlt mir schlicht tiefergreifendes Wissen.
Also Ich will die Usernamen aus der DB in ein Array lesen und sie dann in einer Schleife ausgeben lassen.
Die Schleife erzeugt eine Html Table map für eine Karte mit Koordinaten.
Soweit funktioniert alles nur komm ich einfach nicht drauf wie ich das Array dort einbinden könnte.. Ich nehme an es müste ein assoziatives Array sein?
Hier mal der Codeaussnitt:
PHP:
{
$sql = "SELECT
Username,
PosX,
PosY
FROM
User
WHERE
PosX >=$NearestKoordsX1 AND PosX < $NearestKoordsX2 AND
PosY >=$NearestKoordsY1 AND PosY < $NearestKoordsY2";
$result = $db->query($sql);
if (!$result) {
die ('Etwas stimmte mit dem Query nicht: '.$db->error);
}
while ($row = $result->fetch_assoc()) {
$PosXOtherPlayer= $row["PosX"];
$PosYOtherPlayer= $row["PosY"];
$User= $row["Username"];
$PosX[] = $row["PosX"];
$PosY[] = $row["PosY"];
$koordArray[$row['PosX']][$row['PosY']] = $row['Username'];
}
}
//// Anzeige aller Positionen
echo "<map name=\"map\">"; //HTMLCode Anfangstag soll ein "Mouseover" zum anzeigen der Namen und Positionen gennerieren.
for ($PosXNoPlayer=$NearestKoordsX1; $PosXNoPlayer<$NearestKoordsX2; $PosXNoPlayer++) {
for ($PosYNoPlayer=$NearestKoordsY1; $PosYNoPlayer<$NearestKoordsY2; $PosYNoPlayer++) {
if (isset($koordArray[$PosXNoPlayer][$PosYNoPlayer]) && $koordArray[$PosXNoPlayer][$PosYNoPlayer] != "") {
$Titlepos = array(($PosXNoPlayer - $UserMapX)*10+$DIVmitteX-6,
($PosYNoPlayer - $UserMapY)*10+$DIVmitteY-6,
($PosXNoPlayer - $UserMapX)*10+$DIVmitteX+4, //Array für Title(und oder Link)-generirung Positionen
($PosYNoPlayer - $UserMapY)*10+$DIVmitteY+4);
echo "<area shape=\"rect\" coords=\"$Titlepos[0],$Titlepos[1],$Titlepos[2],$Titlepos[3]\"
href=\"main.php?section=erkunden\" title=\"$Username $PosXNoPlayer,$PosYNoPlayer\">\n"; //HTMLCode Position und Titel
}
else {
$Titlepos = array(($PosXNoPlayer - $UserMapX)*10+$DIVmitteX-6,
($PosYNoPlayer - $UserMapY)*10+$DIVmitteY-6,
($PosXNoPlayer - $UserMapX)*10+$DIVmitteX+4, //Array für Title(und oder Link)-generirung Positionen
($PosYNoPlayer - $UserMapY)*10+$DIVmitteY+4);
echo "<area shape=\"rect\" coords=\"$Titlepos[0],$Titlepos[1],$Titlepos[2],$Titlepos[3]\"
href=\"main.php?section=erkunden\" title=\"$PosXNoPlayer,$PosYNoPlayer\">\n"; //HTMLCode Position und Titel
}
}
}
echo "</map>"; //HTMLCode schliessendes Maptag.. erst hier ist die Maptabelle vollständig.
echo "<img src='img/MAP1_$Mapowner.jpg' width='543' height='432' border='0' alt='Karte' usemap='#map'>"; //zeigt Karte mit Positionen und Mouseover
Irgendwie find ich das auch etwas unpraktisch und unflexibel so kann man zb nur die nächste Seite "erkunden" aufrufen aber nicht das Profil. Ich frage mich ob Javascript dafür nicht doch besser geeignet wäre? Auch scheint es mir das die GD-LIB schneller mal eben 10 Bilder kopieren kann als das PHP den Code zur Tabelle hier geparst hat. (Ist natürlich nur subjektives empfinden)
Grüsse Joe.
Nachtrag:
Hmm vieleicht habe ich mich ungenügend ausgedrückt.
Dieser Zeile aus der obrigen For-Schleife soll dann den passenden Usernamen zeigen.
Wie müsste ich das Array mit den Datenbankwerten füllen und wie würde man es in der Schleife auslesen?
PHP:
echo "<area shape=\"rect\" coords=\"$Titlepos[0],$Titlepos[1],$Titlepos[2],$Titlepos[3]\"
href=\"main.php?section=erkunden\" title=\"$Username $PosXNoPlayer,$PosYNoPlayer\">\n"; //HTMLCode Position und Titel
Ich rätsel und googel schon beinahe 3 Tage aber komme einfach nicht hinterher wie das array zu realisieren ist. Bin dankbar für jeden Denkanstoss.
Ist es nicht irgendwie möglich aus einem Array wie zb:
PHP:
$koordArray[$row['PosX']][$row['PosY']][$row["Username"]]= $row['Username'];
Also Ich meine das so:
Code:
Schleifenkopf: (Gehe alle Pos durch)
Wenn PosX AND PosY existieren dann echo den entsprechenden Username.
Oder tu was andres.
Schleifenende.
Bin nicht der Typ der im coden etwas gern aufgibt ich kann mir nicht denken das Arrays sowas nicht leisten können. Nur seh ich da einfach nur kein Ansatz wie das zu bewerkstelligen wäre. Irgendwie beschleicht mich das Gefühl das dies kein gewöhnliches Array ist wie mans sonst in Tutorials so lernen könnte.
Grüse Joe.