Php 如何区分这些条目?

Php 如何区分这些条目?,php,Php,我有一个关于我一直在做的一个项目的新问题。我在设计一个不同颜色的网格。它有一个隐藏的div,当点击一个单元格时显示,但是我意识到只有一个单元格(它的最后一个类型)会显示。i、 e.如果我有两个列“objaffinity”为0(“敌人”)的对象,它将在网格上显示两个红细胞,但是只有最后一个红细胞实际工作。 如何使其显示每个单元格的正确信息 这是我的密码: mapgen.php: <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.

我有一个关于我一直在做的一个项目的新问题。我在设计一个不同颜色的网格。它有一个隐藏的div,当点击一个单元格时显示,但是我意识到只有一个单元格(它的最后一个类型)会显示。i、 e.如果我有两个列“objaffinity”为0(“敌人”)的对象,它将在网格上显示两个红细胞,但是只有最后一个红细胞实际工作。 如何使其显示每个单元格的正确信息

这是我的密码:

mapgen.php:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="cellinfo.js"></script>

<script src="cmenu.js"></script>
<?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();
$otype = array();
$oname = array();
$xyobj = array();
while($row = $result->fetch_assoc()){
  $xyobj[$row['x']][$row['y']] = true;
  $otype[$row['id']]=$row['objaffinity'];
   $oname[$row['id']]=$row['object'];
}

// get the rows
$cellid=1;
//find whether the row is obstructed

for ($y = 0; $y < 20; $y++) {
    echo '<tr>';
    for ($x = 0; $x < 25; $x++) {
        echo "<td>";
        //Detect what type of object it is
        if (isset($xyobj[$x][$y])) {

        if($otype[$cellid] == 2)
        {
          echo "<a href='#'> <div class='foe'> </div><div class='foepopup'>";
          echo $oname[$cellid];
            echo "</div></a>";
        }
        elseif($otype[$cellid] == 1)
        {
     echo "<a href='#'><div class='friend'></div><div class='friendpopup'>";
          echo $oname[$cellid];
            echo "</div></a>";
        }
        else
        {
     echo "<a href='#'> <div class='neutral'></div><div class='neutralpopup'>";
          echo $oname[$cellid];
            echo "</div></a>";
        }



            $cellid++;
            }


        echo '</td>';
    }
    echo '</tr>';
}


?>

在函数中使用选择器,因此对于脚本,单击哪个div无关紧要。 让我举几个例子:

$(".foepopup").on("click",function(e){
    $(".foepopup").hide();
});
应该是这样的,而不是:

$(".foepopup").on("click",function(e){
   $(this).hide();
});
还有一个例子:

$(".neutral").on("click",function(e){
    $(".foepopup").hide();
    $(".friendpopup").hide();
    $(".neutralpopup").show();
});
改写如下:

$(".neutral").on("click",function(e){
    var td_tag = $(this).parent().parent();
    td_tag.children(".foepopup").hide();
    td_tag.children(".friendpopup").hide();
    td_tag.children(".neutralpopup").show();
});
自己重写其他代码<代码>此是触发单击的元素
td_标记
将包含所单击div的父单元格。之后,
子类
方法将允许您查找特定单元格中已经存在的所需元素。
祝你好运

在这种情况下,我应该注意一个重要的更改:因为每个单元格只包含一种类型,但我想隐藏任何其他弹出窗口,这是:
td_tag.children(“.friendpopup”).hide()
实际上需要是
$(“.friendpopup”).hide()开始工作。显示部分工作正常,因为它必须是特定的。另外,
.children()
似乎不起作用,但
.find()
确实起作用。通过这些小的编辑,代码现在运行良好。谢谢
$(".neutral").on("click",function(e){
    var td_tag = $(this).parent().parent();
    td_tag.children(".foepopup").hide();
    td_tag.children(".friendpopup").hide();
    td_tag.children(".neutralpopup").show();
});