首页 > 解决方案 > 如何获取表格中单元格的值以传递给 PHP 中的变量?

问题描述

我有点沮丧,因为我无法获取单元格的值并将其保存在 php 变量中,因此我可以查询数据库。

<div class='card-body'>
    <div class='table-responsive'>
        <table class='table table-bordered' id='dataTable' width='100%' 
        cellspacing='0'>
        <thead>
            <tr>
                <th>Host Name</th>
                <th>Time</th>
                <th>Cpu</th>
                <th>Mem</th>
                <th>Load</th>
                <th>Disk</th>
            </tr>
        </thead>
        <tbody>
        <?php
        foreach ($results['results'][0]['series'] as $array) {
            echo '<tr>';
            echo "<td>{$array['tags']['hostname']}</td>";
            foreach ($array['values'][0] as $value) {
                echo "<td>{$value}</td>";
            }
            echo '</tr>';
        }
        ?>
        </tbody>
        </table>
    </div>
</div>

上面的代码生成一个包含元素的表格。当我单击一行并在 php 中保存一个变量以便能够查询数据库时,我想获取主机的名称。

https://i.imgur.com/fI7Td5L.png

摘要:我希望能够单击主机名并将该值保存在 PHP 变量中,以便能够在 WHERE 子句中使用数据库查询,例如 SELECT CPU, MEMORY FROM DATA WHERE HOSTNAME = VARIABLE_HOSTNAME。

VARIABLE_HOSTNAME 将具有您选择的行的值。

非常感谢大家的时间和帮助。

标签: javascriptphphtmltwitter-bootstrapmodal-dialog

解决方案


在更高级别上,您可以使用 AJAX 来解决这个问题。

示例步骤:

  1. 在 tr 标记中添加主机名值作为属性
  2. 为表中的每一行添加一个事件(单击)。单击时,从选定的表行中获取属性,然后使用 AJAX 将此值传递给 PHP。
  3. 在 PHP 上的数据库查询中使用传递的主机名值

示例代码:

<table>

<tr data-hostname-value="Hostname value 1" onclick="saveHostname()">
  <td>Hostname value 1</td>
</tr>

<tr data-hostname-value="Hostname value 2" onclick="saveHostname()">
  <td>Hostname value 2</td>
</tr>


</table>

<script>
function saveHostname() {

  $('tr').on('click', function() {
    var hostnameVal = $(this).attr('data-hostname-value');

    $.ajax({
      method: "POST",
      data: "&hostname=" + hostnameVal,
      url: PHP_URL,
      success: function(data) {
        // success JS code.
      }

    });
  })

 }


</script>

希望这会有所帮助,谢谢。


推荐阅读