簡體   English   中英

如何獲取表中單元格的值以傳遞給PHP中的變量?

[英]How can I get the value of a cell in the table to pass to a variable in 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將具有您選擇的行的值。

非常感謝大家的寶貴時間和幫助。

在更高級別,您可以使用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>

希望這會有所幫助,謝謝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM