gpt4 book ai didi

php - 如何在 PHP 中突出显示正确的单元格

转载 作者:行者123 更新时间:2023-12-04 04:39:18 25 4
gpt4 key购买 nike

我正在尝试在 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>";
}

这是我当前的(虽然相当困惑)代码。
如果有一行 x 列表示 2,y 列表示 3,那么它应该在 (2,3.
有没有可能解决这个问题,或者有更好的方法吗?

最佳答案

使用索引为 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>';
}

关于php - 如何在 PHP 中突出显示正确的单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19170045/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com