Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTML/PHP-我需要创建一个10乘10的网格,其中包含100个框,每个框都需要可选_Php_Html_Css - Fatal编程技术网

HTML/PHP-我需要创建一个10乘10的网格,其中包含100个框,每个框都需要可选

HTML/PHP-我需要创建一个10乘10的网格,其中包含100个框,每个框都需要可选,php,html,css,Php,Html,Css,我使用表创建了网格,但似乎不知道如何允许用户选择网格中的特定框。(即,用户选择3个框,每个框具有xy坐标,我需要将其存储在数据库中) 也许我不应该使用表,而是使用div 任何帮助都将不胜感激 注意:我是PHP新手,所以请不要以为我知道的太多:)无论是基于表还是基于div,布局似乎都与您的问题无关。如果我理解正确,您需要获得坐标,如3-2,以防用户单击位于第2列第3格上的框 要做到这一点,您只需要为变量使用数组数组 <input type="checkbox" name="boxes[<

我使用表创建了网格,但似乎不知道如何允许用户选择网格中的特定框。(即,用户选择3个框,每个框具有xy坐标,我需要将其存储在数据库中)

也许我不应该使用表,而是使用div

任何帮助都将不胜感激


注意:我是PHP新手,所以请不要以为我知道的太多:)

无论是基于表还是基于div,布局似乎都与您的问题无关。如果我理解正确,您需要获得坐标,如
3-2
,以防用户单击位于第2列第3格上的框

要做到这一点,您只需要为变量使用数组数组

<input type="checkbox" name="boxes[<?php echo $i;?>][<?php echo $j;?>]" value="1" />

大部分取决于您必须做什么,但这个简单的示例应该完全满足您的需要。考虑使用JS框架。

<style>
td{empty-cells: show;}
</style>
<script>
 function cellSelected(this,i,q)
 {
    alert("Cell ("+i+","+q+")");
 }
</script>
<?php
echo '<table>';
for($i=0;$i<10;$i++)
{
  echo '<tr>';
  for($q=0;$q<10;$q++)
  {
    echo '<td onClick="cellSelected(this,'.$i.','.$q.')"></td>';
  }
  echo '</tr>';
}
echo '</table>';
?>

td{空单元格:显示;}
所选功能单元(此、i、q)
{
警报(“单元格(“+i+”、“+q+”));
}

一般来说,我会避开桌子

如果在表单中创建按钮网格,则可以:

  • 编辑其样式,使其看起来像单元格
  • 当用户单击时提交表单
  • 使用POST数据突出显示已单击的数据
    • 谢谢大家

      这就是我最后做的

      • 分配给每个小区的id/td[00]-[99]
      • onclick调用了一个函数,该函数将单元格的id存储在隐藏的输入中
      • 提交表单时,记录隐藏输入中的值

      有点像是上面两个解决方案的结合。希望我能为这些讨论做出贡献,因为我学到了更多。

      我明白这是在做什么。但出现问题:解析错误:语法错误,意外的“=”,应为“;”在第21行的/Users/satjotsawhney/localhost/box/test1.php中,第21行是:for(i=0;iIn the php部分,我们可能需要使用$i和$q.@JSchaefer,@Satjot:switching language太频繁了,没有帮助,一些语法错误,抱歉:)我如何将所选值发布到数据库?我想我必须将这些值存储在一个数组中?此外,警报不起作用-我需要为javascript添加源代码吗?
      <style>
      td{empty-cells: show;}
      </style>
      <script>
       function cellSelected(this,i,q)
       {
          alert("Cell ("+i+","+q+")");
       }
      </script>
      <?php
      echo '<table>';
      for($i=0;$i<10;$i++)
      {
        echo '<tr>';
        for($q=0;$q<10;$q++)
        {
          echo '<td onClick="cellSelected(this,'.$i.','.$q.')"></td>';
        }
        echo '</tr>';
      }
      echo '</table>';
      ?>