如何在PHP中设置正确的单元格

如何在PHP中设置正确的单元格,php,Php,我试图在PHP中创建一个函数,它写出一个表,并在数据库中查找单元格中应该包含的信息。网格的大小始终相同,但内容可能位于不同的位置 我已经让它能够在数据库中查找,尽管它似乎只突出显示第一个单元格,而不是正确的坐标 require("sql.php"); $sql = <<<SQL SELECT * FROM `maps` WHERE `objpresent` = 1 SQL; if(!$result = $db->query($sql)){ die('

我试图在PHP中创建一个函数,它写出一个表,并在数据库中查找单元格中应该包含的信息。网格的大小始终相同,但内容可能位于不同的位置

我已经让它能够在数据库中查找,尽管它似乎只突出显示第一个单元格,而不是正确的坐标

require("sql.php");
$sql = <<<SQL
  SELECT *
  FROM `maps`
  WHERE `objpresent` = 1
  SQL;

if(!$result = $db->query($sql)){
  die('There was an error running the query [' . $db->error . ']'); 
} // ran the query
$xobj = array();
$yobj = array();
while($row = $result->fetch_assoc()){
  //echo $row['x'] . $row['y'] . $row['object'] . '<br />';
  $xobj[] += $row['x'];
  $yobj[] += $row['y'];

}// get the rows

//find whether the row is obstructed
for($a=0; $a<=20-1; $a++) //rows (y)
  {
    for($i=0; $i<=25-1; $i++) //cols (x)
      {
        echo "<td>"; //between these write the apt content
        // if (empty($xobj[$i]) || empty($yobj[$a]) ){
        //  echo '0';
        //} //detect whether there is even a record for this space
        if(!empty($xobj[$i]))
          {
            if(!empty($yobj[$a]))
              {
                echo $xobj[$i]; //debug
                if($xobj[$i] == $i)
                  {
                    //echo $xobj[$i];
                    echo "A";
                  }
              }
          }
        //echo "<td><img src='emptysym.png'></img></td>";
        echo "</td>"; //add textual descriptions for now, add icons later
      }
    echo "</tr>";
  }
require(“sql.php”);
$sql=fetch_assoc()){
//echo$row['x'].$row['y'].$row['object'].
; $xobj[]+=$row['x']; $yobj[]+=$row['y']; }//排好队 //查找行是否被阻塞
对于($a=0;$a使用二维数组,其索引是数据库中的
x
y
值:

$xyobj = array();
while($row = $result->fetch_assoc()){
  $xyobj[$row['x']][$row['y']] = true;
}
那么您的输出循环应该是:

for ($y = 0; $y < 20; $y++) {
    echo '<tr>';
    for ($x = 0; $x < 25; $x++) {
        echo '<td>';
        if (isset($xyobj[$x][$y])) {
            echo 'A';
        }
        echo '</td>';
    }
    echo '</tr>';
}
($y=0;$y<20;$y++)的
{
回声';
对于($x=0;$x<25;$x++){
回声';
如果(isset($xyobj[$x][$y])){
回声“A”;
}
回声';
}
回声';
}