Hallo alle.
Musste den Thread nochmal ausgraben.
Ich hab zu meiner SQL-Tabelle noch 2 Spalten hinzugefügt MoveX,MoveY.
Ich würde nun gerne wissen wie man diese nun In die DOM/CSS Tabelle einfügen kann.
Habe folgendesversucht (was natürlich nicht so funktioniert):
An sich ist PHP oder HTML recht eingängig aber DOM-Element ist schon nen Zacken schwerer zu verstehen. Kann man den DOM-Teil des Skripts auch mit IF-Else Opeeratoren schreiben? Und wie könnte eine Schleife aussehen in der jede auch leere Tabellenzelle eine HREF bekommt?
Tut mir leid wenn ich gleich mit 3 Fragen nerve, aber die DOM JS- Programmierung hat sich mir noch nicht erschlossen.
Danke und Schönen Tag euch noch.
______________________________
Habs jetzt so umgeändert:
Allerdings wird jetzt anstatt des Images von 'class', 'me' das falsche Images von 'class', 'move' angezeigt.
Die Bedingung dürfte doch garnicht zutreffen?
Musste den Thread nochmal ausgraben.
Ich hab zu meiner SQL-Tabelle noch 2 Spalten hinzugefügt MoveX,MoveY.
PHP:
{
$sql = "SELECT
PosX,
PosY,
MoveX,
MoveY,
Username
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()) {
$data[] = $row;
}
}
Ich würde nun gerne wissen wie man diese nun In die DOM/CSS Tabelle einfügen kann.
Habe folgendesversucht (was natürlich nicht so funktioniert):
PHP:
//Einfügen der Daten ins XML
$doc=new DomDocument();
$doc->loadXML($grid);
foreach($data as $item)
{
$node=$doc->
documentElement->
getElementsByTagName('div')->item($item['PosX']-$NearestKoordsX1)->
getElementsByTagName('a')->item($item['PosY']-$NearestKoordsY1);
$node->setAttribute('title',
($item['Username']==$Username)
?''.'Bunker von '.$item['Username'].': '.$item['PosX'].'/'.$item['PosY']
|''.$item['Username'].': '.$item['MoveX'].'/'.$item['MoveY']
:''.'Bunker von '.$item['Username'].': '.$item['PosX'].'/'.$item['PosY']);
$node->setAttribute('href',
'main.php?section=erkunden');
$node->setAttribute('class',
($item['Username']==$Username)
?'me'
|'move'
:'enemy');
}
?>
<style type="text/css">
/*CSS fürs Grid*/
#grid{
background: url(img/Map/<? echo "$SlicepointX/$SlicepointY"; ?>.jpeg) no-repeat;
width:543px;
height:432px;
}
#grid div{
width:543px;
height:10px;
}
#grid div a{
display:block;
width:10px;
height:10px;
float:left;
}
/*CSS zur markierung der Felder, hier könnte man statt Farben Sprites einsetzen*/
#grid a.me{
background: url(img/list12x12-dot18.gif) no-repeat;
}
#grid a.move{
background: url(img/pin25.gif) no-repeat;
}
#grid a.enemy{
background: url(img/list12x12-dot19.gif) no-repeat;
}
</style>
<?php
//Ausgabe des Grids
echo $doc->saveHTML();
?>
An sich ist PHP oder HTML recht eingängig aber DOM-Element ist schon nen Zacken schwerer zu verstehen. Kann man den DOM-Teil des Skripts auch mit IF-Else Opeeratoren schreiben? Und wie könnte eine Schleife aussehen in der jede auch leere Tabellenzelle eine HREF bekommt?
Tut mir leid wenn ich gleich mit 3 Fragen nerve, aber die DOM JS- Programmierung hat sich mir noch nicht erschlossen.
Danke und Schönen Tag euch noch.
______________________________
Habs jetzt so umgeändert:
Code:
$doc=new DomDocument();
$doc->loadXML($grid);
foreach($data as $item)
{
$node=$doc->
documentElement->
getElementsByTagName('div')->item(($item['PosX']-$NearestKoordsX1))->
getElementsByTagName('a')->item(($item['PosY']-$NearestKoordsY1));
$node->setAttribute('title',
($item['Username']==$Username)
?''.'Bunker von '.$item['Username'].': '.$item['PosX'].'/'.$item['PosY']
:(($item['Username']==$Username) AND ($item['PosX'] != $item['MoveX']) AND ($item['PosY'] != $item['MoveY']))
?''.$item['Username'].': '.$item['MoveX'].'/'.$item['MoveY']
:''.'Bunker von '.$item['Username'].': '.$item['PosX'].'/'.$item['PosY']);
$node->setAttribute('href',
'main.php?section=erkunden');
$node->setAttribute('class',
($item['Username']==$Username)
?'me'
:(($item['Username']==$Username) AND ($item['PosX'] != $item['MoveX']) AND ($item['PosY'] != $item['MoveY']))
?'move'
:'enemy');
}
Allerdings wird jetzt anstatt des Images von 'class', 'me' das falsche Images von 'class', 'move' angezeigt.
Die Bedingung dürfte doch garnicht zutreffen?
Zuletzt bearbeitet: