私は何かのために働いているもののためのものの 'マップ'種類があります。それぞれのタイルを引き出し、データベースと照合して、誰かがそのタイルに位置しているかどうかを確認します。PHPはfor()ループでmysqlの結果を取得します
コードは動作しますが、dbの最初の結果に対してのみ有効です。
誰でも手助けできます。どうもありがとう。
$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>
配列ではなく変数を使用。 '$ player_coord_x'は最後のレコードしか持っていません。 '$ player_coord_x []'を使ってください。 – chris85
... 'fetch_assoc'ループ内のすべての処理を行います。 – chris85
私はあなたの情報に基づいていくつかのことを試しましたが、うまくいけばいいですか、もっと私に例を挙げてください。 – Mystic