Ich habe eine Art "Karte" für etwas, was ich arbeite. Ich zeichne jede Kachel aus und überprüfe dann anhand einer Datenbank, ob sich jemand auf dieser Kachel befindet.PHP erhalten Ergebnisse von MySQL in einer for() Schleife
Der Code funktioniert aber nur für das erste Ergebnis in der Datenbank.
Kann jemand helfen. Danke vielmals.
$sqlw = "SELECT id, player_coord_x, player_coord_y FROM player_game WHERE world_id='$world'";
$world_result = $player_stat->query($sqlw);
?>
<div class='map-grid'>
<?
$id = '';
$size = 16;
for($i = 1; $i <= $size; $i++) {
echo "<div class='map-grid-row'>";
for ($j=1; $j <= $size; $j++) {
// check for player at location
if ($world_result->num_rows > 0) {
while($w_row = $world_result->fetch_assoc()) {
$player_coord_x = $w_row['player_coord_x'];
$player_coord_y = $w_row['player_coord_y'];
$id = $w_row['id'];
}
}
if ($player_coord_x == $i and $player_coord_y == $j){
echo "<div class='map-grid-cell high'>";
echo "XXX";
echo "</div>";
}else{
echo "<div class='map-grid-cell high'>";
echo "<span class=\"map-small\">(x-$i y-$j)</span>";
echo "</div>";
}
}
echo "</div>";
}
?>
</div>
ein Array verwenden, keine Variable. '$ player_coord_x' wird nur den letzten Datensatz haben. Verwende '$ player_coord_x []'. – chris85
... oder führen Sie die gesamte Verarbeitung in der 'fetch_assoc'-Schleife aus. – chris85
Ich habe versucht ein paar Dinge basierend auf Ihren Informationen, aber ich könnte es zur Arbeit zu bekommen, würde es Ihnen etwas ausmachen, mir ein Beispiel zu geben bitte – Mystic